extend= [ { path = "coverage_grcov.makefile.toml" }, { path = "pai-make-targets/build.toml" }, { path = "pai-make-targets/fix.toml" }, { path = "pai-make-targets/test.toml" }, { path = "pai-make-targets/enforce.toml" }, { path = "pai-make-targets/publish.toml" }, ] [tasks.publish] dependencies = ["update", "enforcestd", "test-all"] [tasks.build] args = [ "build", "--all-features", "--target-dir=output", "--target=${@}"] [tasks.coverage] alias="coverage_grcov" [tasks.bench] command = "cargo" args = ["bench", "--all-features"] # # Doc also expects target argument [tasks.docpublic] command = "cargo" args = ["doc", "--quiet", "--all-features", "--no-deps", "--target=${@}"] [tasks.docprivate] command = "cargo" args = ["doc", "--quiet", "--all-features", "--no-deps", "--target=${@}", "--document-private-items"] [tasks.test-min] extend = "test" args = ["test"] [tasks.test-plugin] extend = "test" args = ["test", "--features", "plugins"] [tasks.test-syscalls] extend = "test" args = ["test", "--features", "syscalls"] [tasks.test-x86] env = { TARGET = ["i686-unknown-linux-gnu"] } run_task = "crosstest" [tasks.test-x86_64] # Run tests in all possible configuration, some tests are then run multiple # times. dependencies = [ "test-min", "test-plugin", "test-syscalls", "test" ] [tasks.test-armv7-gnueabihf] env = { TARGET = ["armv7-unknown-linux-gnueabihf"] } run_task = "crosstest" [tasks.test-aarch64] env = { TARGET = ["aarch64-linux-android"] } run_task = "crosstest" # This only builds with cargo and not cross, so no automatic testing yet. [tasks.test-riscv64] env = { TARGET = ["riscv64gc-unknown-linux-gnu"] } run_task = "crosstest" [tasks.test-mips] env = { TARGET = ["mips-unknown-linux-gnu"] } run_task = "crosstest" [tasks.test-all] dependencies = [ "test-x86_64", "test-x86", "test-armv7-gnueabihf", "test-aarch64", "test-riscv64", "test-mips" ] # Afterwards run with: # "qemu-system-arm" "-nographic" "-snapshot" "-smp" "4" "-m" "1G" "-kernel" "scripts/images/arm-linux-gnueabi/zImage" "-M" "vexpress-a9" "-drive" "file=scripts/images/arm-linux-gnueabi/rootfs-ready.qcow2,if=sd" "-append" "rootwait console=ttyAMA0,115200 root=/dev/mmcblk0" "-net" "nic,model=lan9118" "-dtb" "scripts/images/arm-linux-gnueabi/vexpress-v2p-ca9.dtb" "-net" "user,hostfwd=tcp::10023-:22" [tasks.update-rootfs-arm] script = "./scripts/qemu-runner.rs" args = [ "-vv", "--arch", "ArmEabi", "--kernel", "scripts/images/arm-linux-gnueabi/zImage", "--disk", "scripts/images/arm-linux-gnueabi/rootfs-ready.qcow2", "--no-snapshot", "--user", "shell", "--identity scripts/keys/qemu_id_rsa", "--pubkey", "scripts/keys/qemu_id_rsa.pub", "id" ]