diff --git a/.github/workflows/main.yml b/.github/workflows/basic.yml similarity index 100% rename from .github/workflows/main.yml rename to .github/workflows/basic.yml diff --git a/.github/workflows/benchmark_execution_time.yml b/.github/workflows/benchmark_execution_time.yml index 585b655b59..b32ee1d985 100644 --- a/.github/workflows/benchmark_execution_time.yml +++ b/.github/workflows/benchmark_execution_time.yml @@ -30,7 +30,7 @@ jobs: uses: actions/upload-artifact@v2 with: name: pr-youki - path: ./youki + path: ./bin/youki building-main-branch: if: (github.event.issue.pull_request != null) && github.event.comment.body == '!github easy-benchmark' @@ -58,7 +58,7 @@ jobs: uses: actions/upload-artifact@v2 with: name: main-youki - path: ./youki + path: ./bin/youki benchmark-exec: if: (github.event.issue.pull_request != null) && github.event.comment.body == '!github easy-benchmark' diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index 9aa9a050b7..27dcaad5b2 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -26,7 +26,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: youki - path: youki + path: bin/youki containerd-integration-tests: runs-on: ubuntu-22.04 @@ -123,10 +123,8 @@ jobs: name: youki - name: Add the permission to run run: chmod +x ./youki - - name: Build - run: just runtimetest rust-oci-tests-bin - name: Validate tests on youki - run: just rust-oci-tests + run: just run-contest rootless-podman-test: runs-on: ubuntu-22.04 diff --git a/.github/workflows/podman_tests.yaml b/.github/workflows/podman_tests.yaml index 51de02b303..1a4945809d 100644 --- a/.github/workflows/podman_tests.yaml +++ b/.github/workflows/podman_tests.yaml @@ -35,7 +35,7 @@ jobs: # build youki - run: just youki-release - - run: sudo rm /usr/bin/crun && sudo cp youki /usr/local/bin && sudo cp youki /usr/bin/crun + - run: sudo rm /usr/bin/crun && sudo cp bin/youki /usr/local/bin && sudo cp bin/youki /usr/bin/crun # build podman - name: Clone podman repository diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a7a3478a7a..c92012cc36 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -42,7 +42,7 @@ jobs: run: mkdir output - name: Copy files to output run: | - cp youki output/ + cp bin/youki output/ cp README.md output/README.md cp LICENSE output/LICENSE - name: Upload artifact diff --git a/.gitignore b/.gitignore index fdeed4a22c..c14bda74a0 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ .idea/ **/target -/runtimetest-target +/contest-target /bin .vagrant/ @@ -11,7 +11,6 @@ tags.lock tags.temp /youki -/integration_test /runtimetest .vscode @@ -21,4 +20,4 @@ tags.temp /bundle.tar.gz /test.log -/tests/k8s/_out/ +/e2e/k8s/_out/ diff --git a/.gitmodules b/.gitmodules index 9856628ea3..ab90eb2103 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,5 +1,3 @@ -[submodule "integration_tests/oci-runtime-tests"] - path = tests/oci-runtime-tests/src/github.com/opencontainers/runtime-tools - url = https://github.com/opencontainers/runtime-tools.git - ignore = dirty - +[submodule "e2e/oci-runtime-tests/src/github.com/opencontainers/runtime-tools"] + path = e2e/oci-runtime-tests/src/github.com/opencontainers/runtime-tools + url = ttps://github.com/opencontainers/runtime-tools.git diff --git a/Cargo.lock b/Cargo.lock index cbfb33923d..aafa104a32 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,7 +8,7 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli 0.27.2", + "gimli 0.27.3", ] [[package]] @@ -39,13 +39,14 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" dependencies = [ "cfg-if", "once_cell", "version_check", + "zerocopy", ] [[package]] @@ -80,16 +81,15 @@ dependencies = [ [[package]] name = "anstream" -version = "0.3.2" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", - "is-terminal", "utf8parse", ] @@ -119,9 +119,9 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "1.0.2" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c" +checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" dependencies = [ "anstyle", "windows-sys 0.48.0", @@ -165,7 +165,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -194,7 +194,7 @@ dependencies = [ "cfg-if", "libc", "miniz_oxide", - "object 0.32.0", + "object 0.32.1", "rustc-demangle", ] @@ -237,7 +237,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -340,16 +340,16 @@ dependencies = [ "io-lifetimes 1.0.11", "ipnet", "maybe-owned", - "rustix 0.37.19", + "rustix 0.37.27", "windows-sys 0.48.0", "winx 0.35.1", ] [[package]] name = "cap-rand" -version = "1.0.16" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "383800fa434a9e7a463fa35196bd93dcd84a6bdc5d9aeae4e60b554134e852a2" +checksum = "4d25555efacb0b5244cf1d35833d55d21abc916fff0eaad254b8e2453ea9b8ab" dependencies = [ "ambient-authority", "rand", @@ -364,7 +364,7 @@ dependencies = [ "cap-primitives", "io-extras", "io-lifetimes 1.0.11", - "rustix 0.37.19", + "rustix 0.37.27", ] [[package]] @@ -375,7 +375,7 @@ checksum = "e95002993b7baee6b66c8950470e59e5226a23b3af39fc59c47fe416dd39821a" dependencies = [ "cap-primitives", "once_cell", - "rustix 0.37.19", + "rustix 0.37.27", "winx 0.35.1", ] @@ -440,55 +440,52 @@ dependencies = [ [[package]] name = "clap" -version = "4.3.0" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93aae7a4192245f70fe75dd9157fc7b4a5bf53e88d30bd4396f7d8f9284d5acc" +checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b" dependencies = [ "clap_builder", "clap_derive", - "once_cell", ] [[package]] name = "clap_builder" -version = "4.3.0" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f423e341edefb78c9caba2d9c7f7687d0e72e89df3ce3394554754393ac3990" +checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663" dependencies = [ "anstream", "anstyle", - "bitflags 1.3.2", "clap_lex", - "once_cell", "strsim", ] [[package]] name = "clap_complete" -version = "4.3.0" +version = "4.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a04ddfaacc3bc9e6ea67d024575fafc2a813027cf374b8f24f7bc233c6b6be12" +checksum = "bffe91f06a11b4b9420f62103854e90867812cd5d01557f853c5ee8e791b12ae" dependencies = [ "clap", ] [[package]] name = "clap_derive" -version = "4.3.0" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "191d9573962933b4027f932c600cd252ce27a8ad5979418fe78e43c07996f27b" +checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] name = "clap_lex" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" [[package]] name = "cmake" @@ -521,6 +518,36 @@ version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbdcdcb6d86f71c5e97409ad45898af11cbc995b4ee8112d59095a28d376c935" +[[package]] +name = "contest" +version = "0.1.0" +dependencies = [ + "anyhow", + "chrono", + "clap", + "clap_derive", + "flate2", + "libcgroups", + "libcontainer", + "nix 0.27.1", + "num_cpus", + "oci-spec", + "once_cell", + "pnet_datalink", + "procfs", + "rand", + "scopeguard", + "serde", + "serde_json", + "tar", + "tempfile", + "test_framework", + "tracing", + "tracing-subscriber", + "uuid", + "which 5.0.0", +] + [[package]] name = "cooked-waker" version = "5.0.0" @@ -626,10 +653,10 @@ dependencies = [ "cranelift-control", "cranelift-entity 0.97.2", "cranelift-isle 0.97.2", - "gimli 0.27.2", + "gimli 0.27.3", "hashbrown 0.13.2", "log", - "regalloc2 0.9.1", + "regalloc2 0.9.3", "smallvec", "target-lexicon", ] @@ -869,12 +896,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" dependencies = [ - "darling_core 0.20.1", - "darling_macro 0.20.1", + "darling_core 0.20.3", + "darling_macro 0.20.3", ] [[package]] @@ -893,15 +920,15 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -917,13 +944,13 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ - "darling_core 0.20.1", + "darling_core 0.20.3", "quote", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -933,7 +960,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.0", + "hashbrown 0.14.2", "lock_api", "once_cell", "parking_lot_core", @@ -953,6 +980,9 @@ name = "deranged" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +dependencies = [ + "powerfmt", +] [[package]] name = "derivative" @@ -1115,10 +1145,10 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e08b6c6ab82d70f08844964ba10c7babb716de2ecaeab9be5717918a5177d3af" dependencies = [ - "darling 0.20.1", + "darling 0.20.3", "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -1346,7 +1376,7 @@ checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -1449,9 +1479,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.2" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" dependencies = [ "fallible-iterator", "indexmap 1.9.3", @@ -1519,14 +1549,14 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.6", ] [[package]] name = "hashbrown" -version = "0.14.0" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" [[package]] name = "heapless" @@ -1726,42 +1756,13 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", - "hashbrown 0.14.0", -] - -[[package]] -name = "integration_test" -version = "0.1.0" -dependencies = [ - "anyhow", - "chrono", - "clap", - "clap_derive", - "flate2", - "libcgroups", - "libcontainer", - "nix 0.27.1", - "num_cpus", - "oci-spec", - "once_cell", - "pnet_datalink", - "procfs", - "rand", - "scopeguard", + "hashbrown 0.14.2", "serde", - "serde_json", - "tar", - "tempfile", - "test_framework", - "tracing", - "tracing-subscriber", - "uuid", - "which 5.0.0", ] [[package]] @@ -1787,9 +1788,9 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2355a5aef60b1c70b7001bd60ce60deebe6a98d95dff5a873519b125a3af51" +checksum = "bffb4def18c48926ccac55c1223e02865ce1a821751a95920448662696e7472c" [[package]] name = "ipnet" @@ -1904,7 +1905,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75adb4021282a72ca63ebbc0e4247750ad74ede68ff062d247691072d709ad8b" dependencies = [ "cc", - "nix 0.26.2", + "nix 0.26.4", "num_cpus", "pkg-config", ] @@ -2225,16 +2226,15 @@ dependencies = [ [[package]] name = "nix" -version = "0.26.2" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ "bitflags 1.3.2", "cfg-if", "libc", "memoffset 0.7.1", "pin-utils", - "static_assertions", ] [[package]] @@ -2355,9 +2355,9 @@ dependencies = [ [[package]] name = "object" -version = "0.32.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ac5bbd07aea88c60a577a1ce218075ffd59208b2d7ca97adf9bfc5aeb21ebe" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" dependencies = [ "memchr", ] @@ -2405,7 +2405,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -2496,7 +2496,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.0.0", + "indexmap 2.1.0", ] [[package]] @@ -2529,7 +2529,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -2558,7 +2558,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -2611,6 +2611,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2659,12 +2665,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64d9ba0963cdcea2e1b2230fbae2bab30eb25a174be395c41e764bfb65dd62" +checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" dependencies = [ "proc-macro2", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -2674,7 +2680,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", - "toml_edit", + "toml_edit 0.19.15", ] [[package]] @@ -2733,9 +2739,9 @@ dependencies = [ [[package]] name = "protobuf" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55bad9126f378a853655831eb7363b7b01b81d19f8cb1218861086ca4a1a61e" +checksum = "b65f4a8ec18723a734e5dc09c173e0abf9690432da5340285d536edcb4dac190" dependencies = [ "once_cell", "protobuf-support", @@ -2744,9 +2750,9 @@ dependencies = [ [[package]] name = "protobuf-codegen" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd418ac3c91caa4032d37cb80ff0d44e2ebe637b2fb243b6234bf89cdac4901" +checksum = "6e85514a216b1c73111d9032e26cc7a5ecb1bb3d4d9539e91fb72a4395060f78" dependencies = [ "anyhow", "once_cell", @@ -2759,9 +2765,9 @@ dependencies = [ [[package]] name = "protobuf-parse" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d39b14605eaa1f6a340aec7f320b34064feb26c93aec35d6a9a2272a8ddfa49" +checksum = "77d6fbd6697c9e531873e81cec565a85e226b99a0f10e1acc079be057fe2fcba" dependencies = [ "anyhow", "indexmap 1.9.3", @@ -2775,9 +2781,9 @@ dependencies = [ [[package]] name = "protobuf-support" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5d4d7b8601c814cfb36bcebb79f0e61e45e1e93640cf778837833bbed05c372" +checksum = "6872f4d4f4b98303239a2b5838f5bbbb77b01ffc892d627957f37a22d7cfe69c" dependencies = [ "thiserror", ] @@ -2962,9 +2968,9 @@ dependencies = [ [[package]] name = "regalloc2" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12513beb38dd35aab3ac5f5b89fd0330159a0dc21d5309d75073011bbc8032b0" +checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" dependencies = [ "hashbrown 0.13.2", "log", @@ -3178,7 +3184,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.17", + "semver 1.0.20", ] [[package]] @@ -3197,9 +3203,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.19" +version = "0.37.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" dependencies = [ "bitflags 1.3.2", "errno", @@ -3356,9 +3362,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.17" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" dependencies = [ "serde", ] @@ -3407,7 +3413,7 @@ checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -3456,11 +3462,11 @@ dependencies = [ [[package]] name = "serde_yaml" -version = "0.9.25" +version = "0.9.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574" +checksum = "3cc7a1570e38322cfe4154732e5110f887ea57e22b76f4bfd32b5bdd3368666c" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.1.0", "itoa", "ryu", "serde", @@ -3489,7 +3495,7 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -3628,9 +3634,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.3" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", "windows-sys 0.48.0", @@ -3666,12 +3672,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - [[package]] name = "stdweb" version = "0.4.20" @@ -3740,9 +3740,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.28" +version = "2.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" +checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" dependencies = [ "proc-macro2", "quote", @@ -3780,10 +3780,10 @@ dependencies = [ "cap-fs-ext", "cap-std", "fd-lock", - "io-lifetimes 2.0.1", + "io-lifetimes 2.0.2", "rustix 0.38.21", "windows-sys 0.48.0", - "winx 0.36.1", + "winx 0.36.2", ] [[package]] @@ -3890,7 +3890,7 @@ checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -3920,24 +3920,25 @@ dependencies = [ [[package]] name = "time" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ "deranged", "itoa", "libc", "num_threads", + "powerfmt", "serde", "time-core", - "time-macros 0.2.14", + "time-macros 0.2.15", ] [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" @@ -3951,9 +3952,9 @@ dependencies = [ [[package]] name = "time-macros" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" dependencies = [ "time-core", ] @@ -3999,7 +4000,7 @@ dependencies = [ "num_cpus", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.3", + "socket2 0.5.5", "tokio-macros", "windows-sys 0.48.0", ] @@ -4012,7 +4013,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -4060,14 +4061,26 @@ dependencies = [ [[package]] name = "toml" -version = "0.7.6" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.19.15", +] + +[[package]] +name = "toml" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542" +checksum = "8ff9e3abce27ee2c9a37f9ad37238c1bdd4e789c84ba37df76aa4d528f5072cc" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_edit 0.20.7", ] [[package]] @@ -4085,7 +4098,20 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.1.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap 2.1.0", "serde", "serde_spanned", "toml_datetime", @@ -4118,7 +4144,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -4306,7 +4332,7 @@ checksum = "85e7dc29b3c54a2ea67ef4f953d5ec0c4085035c0ae2d325be1c0d2144bd9f16" dependencies = [ "anyhow", "rustversion", - "time 0.3.28", + "time 0.3.30", ] [[package]] @@ -4507,7 +4533,7 @@ dependencies = [ "io-lifetimes 1.0.11", "is-terminal", "once_cell", - "rustix 0.37.19", + "rustix 0.37.27", "system-interface", "tracing", "wasi-common", @@ -4526,7 +4552,7 @@ dependencies = [ "cap-std", "io-extras", "log", - "rustix 0.37.19", + "rustix 0.37.27", "thiserror", "tracing", "wasmtime", @@ -4653,7 +4679,7 @@ checksum = "dbe80d95a88e9ac87b6aaf7bc9acd1fdfcd92045db2bf41a2262f623e2406a92" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.38", ] [[package]] @@ -4793,19 +4819,20 @@ dependencies = [ [[package]] name = "wasmer-toml" -version = "0.6.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4232db0aff83ed6208d541ddcf1bf72730673528be8c4fe13c6369060f6e05a7" +checksum = "d21472954ee9443235ca32522b17fc8f0fe58e2174556266a0d9766db055cc52" dependencies = [ "anyhow", - "indexmap 1.9.3", - "semver 1.0.17", + "derive_builder", + "indexmap 2.1.0", + "semver 1.0.20", "serde", "serde_cbor", "serde_json", - "serde_yaml 0.9.25", + "serde_yaml 0.9.27", "thiserror", - "toml 0.5.11", + "toml 0.8.6", ] [[package]] @@ -4879,7 +4906,7 @@ dependencies = [ "pin-project", "rand", "reqwest", - "semver 1.0.17", + "semver 1.0.20", "serde", "serde_cbor", "serde_derive", @@ -4948,7 +4975,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29e3ac9b780c7dda0cac7a52a5d6d2d6707cc6e3451c9db209b6c758f40d7acb" dependencies = [ "indexmap 1.9.3", - "semver 1.0.17", + "semver 1.0.20", ] [[package]] @@ -4957,8 +4984,8 @@ version = "0.116.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53290b1276c5c2d47d694fb1a920538c01f51690e7e261acbe1d10c5fc306ea1" dependencies = [ - "indexmap 2.0.0", - "semver 1.0.17", + "indexmap 2.1.0", + "semver 1.0.20", ] [[package]] @@ -5030,7 +5057,7 @@ dependencies = [ "directories-next", "file-per-thread-logger", "log", - "rustix 0.37.19", + "rustix 0.37.27", "serde", "sha2", "toml 0.5.11", @@ -5072,7 +5099,7 @@ dependencies = [ "cranelift-frontend 0.97.2", "cranelift-native", "cranelift-wasm", - "gimli 0.27.2", + "gimli 0.27.3", "log", "object 0.30.4", "target-lexicon", @@ -5092,7 +5119,7 @@ dependencies = [ "cranelift-codegen 0.97.2", "cranelift-control", "cranelift-native", - "gimli 0.27.2", + "gimli 0.27.3", "object 0.30.4", "target-lexicon", "wasmtime-environ", @@ -5106,7 +5133,7 @@ checksum = "32b60e4ae5c9ae81750d8bc59110bf25444aa1d9266c19999c3b64b801db3c73" dependencies = [ "anyhow", "cranelift-entity 0.97.2", - "gimli 0.27.2", + "gimli 0.27.3", "indexmap 1.9.3", "log", "object 0.30.4", @@ -5128,7 +5155,7 @@ checksum = "7dd40c8d869916ee6b1f3fcf1858c52041445475ca8550aee81c684c0eb530ca" dependencies = [ "cc", "cfg-if", - "rustix 0.37.19", + "rustix 0.37.27", "wasmtime-asm-macros", "windows-sys 0.48.0", ] @@ -5144,12 +5171,12 @@ dependencies = [ "bincode", "cfg-if", "cpp_demangle", - "gimli 0.27.2", + "gimli 0.27.3", "ittapi", "log", "object 0.30.4", "rustc-demangle", - "rustix 0.37.19", + "rustix 0.37.27", "serde", "target-lexicon", "wasmtime-environ", @@ -5167,7 +5194,7 @@ checksum = "e46b7e98979a69d3df093076bde8431204e3c96a770e8d216fea365c627d88a4" dependencies = [ "object 0.30.4", "once_cell", - "rustix 0.37.19", + "rustix 0.37.27", ] [[package]] @@ -5199,7 +5226,7 @@ dependencies = [ "memoffset 0.8.0", "paste", "rand", - "rustix 0.37.19", + "rustix 0.37.27", "sptr", "wasmtime-asm-macros", "wasmtime-environ", @@ -5236,7 +5263,7 @@ dependencies = [ "fs-set-times", "io-extras", "libc", - "rustix 0.37.19", + "rustix 0.37.27", "system-interface", "thiserror", "tracing", @@ -5255,7 +5282,7 @@ checksum = "351c9d4e60658dd0cf616c12c5508f86cc2cefcc0cff307eed0a31b23d3c0b70" dependencies = [ "anyhow", "cranelift-codegen 0.97.2", - "gimli 0.27.2", + "gimli 0.27.3", "object 0.30.4", "target-lexicon", "wasmparser 0.107.0", @@ -5317,9 +5344,9 @@ dependencies = [ [[package]] name = "webc" -version = "5.1.1" +version = "5.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d8b985cecc5a364f746c7fcd6e5396986360a58550072f2f9147a07532f525c" +checksum = "c5fc974157e8532c5c31fa44c38046264227e580cd2a0d939543891d23f43779" dependencies = [ "anyhow", "base64", @@ -5332,6 +5359,7 @@ dependencies = [ "once_cell", "path-clean", "rand", + "semver 1.0.20", "serde", "serde_cbor", "serde_json", @@ -5340,7 +5368,7 @@ dependencies = [ "tar", "tempfile", "thiserror", - "toml 0.7.6", + "toml 0.7.8", "url", "walkdir", "wasmer-toml", @@ -5464,8 +5492,8 @@ checksum = "b1bf2ac354be169bb201de7867b84f45d91d0ef812f67f11c33f74a7f5a24e56" dependencies = [ "anyhow", "cranelift-codegen 0.97.2", - "gimli 0.27.2", - "regalloc2 0.9.1", + "gimli 0.27.3", + "regalloc2 0.9.3", "smallvec", "target-lexicon", "wasmparser 0.107.0", @@ -5688,9 +5716,9 @@ dependencies = [ [[package]] name = "winx" -version = "0.36.1" +version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4857cedf8371f690bb6782a3e2b065c54d1b6661be068aaf3eac8b45e813fdf8" +checksum = "357bb8e2932df531f83b052264b050b81ba0df90ee5a59b2d1d3949f344f81e5" dependencies = [ "bitflags 2.4.1", "windows-sys 0.48.0", @@ -5707,7 +5735,7 @@ dependencies = [ "indexmap 1.9.3", "log", "pulldown-cmark", - "semver 1.0.17", + "semver 1.0.20", "unicode-xid", "url", ] @@ -5784,6 +5812,26 @@ dependencies = [ "wasmtime-wasi", ] +[[package]] +name = "zerocopy" +version = "0.7.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686b7e407015242119c33dab17b8f61ba6843534de936d94368856528eae4dcc" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020f3dfe25dfc38dfea49ce62d5d45ecdd7f0d8a724fa63eb36b6eba4ec76806" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + [[package]] name = "zstd" version = "0.11.2+zstd.1.5.2" diff --git a/Cargo.toml b/Cargo.toml index 842215cb03..e351c04417 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [workspace] resolver = "2" -members = ["tests/runtimetest/","tests/integration_test/","tests/test_framework/","crates/*", "tools/*"] +members = ["crates/*", "contest/*", "tools/*"] [profile.release] lto = true diff --git a/tests/integration_test/.gitignore b/contest/contest/.gitignore similarity index 100% rename from tests/integration_test/.gitignore rename to contest/contest/.gitignore diff --git a/tests/integration_test/Cargo.toml b/contest/contest/Cargo.toml similarity index 91% rename from tests/integration_test/Cargo.toml rename to contest/contest/Cargo.toml index 1b4047d39b..e37e712806 100644 --- a/tests/integration_test/Cargo.toml +++ b/contest/contest/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "integration_test" +name = "contest" version = "0.1.0" edition = "2021" @@ -11,7 +11,7 @@ libcgroups = { path = "../../crates/libcgroups" } libcontainer = { path = "../../crates/libcontainer" } nix = "0.27.1" num_cpus = "1.16" -oci-spec = { version = "0.6.4", features = ["runtime"] } +oci-spec = { version = "0.6.3", features = ["runtime"] } once_cell = "1.18.0" pnet_datalink = "0.34.0" procfs = "0.15.1" diff --git a/tests/integration_test/README.md b/contest/contest/README.md similarity index 100% rename from tests/integration_test/README.md rename to contest/contest/README.md diff --git a/tests/integration_test/bundle.tar.gz b/contest/contest/bundle.tar.gz similarity index 100% rename from tests/integration_test/bundle.tar.gz rename to contest/contest/bundle.tar.gz diff --git a/tests/integration_test/src/lib.rs b/contest/contest/src/lib.rs similarity index 100% rename from tests/integration_test/src/lib.rs rename to contest/contest/src/lib.rs diff --git a/tests/integration_test/src/logger.rs b/contest/contest/src/logger.rs similarity index 100% rename from tests/integration_test/src/logger.rs rename to contest/contest/src/logger.rs diff --git a/tests/integration_test/src/main.rs b/contest/contest/src/main.rs similarity index 99% rename from tests/integration_test/src/main.rs rename to contest/contest/src/main.rs index e635ed37d3..2e34a2b247 100644 --- a/tests/integration_test/src/main.rs +++ b/contest/contest/src/main.rs @@ -15,7 +15,7 @@ use crate::tests::tlb::get_tlb_test; use crate::utils::support::{set_runtime_path, set_runtimetest_path}; use anyhow::{Context, Result}; use clap::Parser; -use integration_test::logger; +use contest::logger; use std::path::{Path, PathBuf}; use test_framework::TestManager; use tests::cgroups; diff --git a/tests/integration_test/src/tests/cgroups/blkio.rs b/contest/contest/src/tests/cgroups/blkio.rs similarity index 100% rename from tests/integration_test/src/tests/cgroups/blkio.rs rename to contest/contest/src/tests/cgroups/blkio.rs diff --git a/tests/integration_test/src/tests/cgroups/cpu/mod.rs b/contest/contest/src/tests/cgroups/cpu/mod.rs similarity index 100% rename from tests/integration_test/src/tests/cgroups/cpu/mod.rs rename to contest/contest/src/tests/cgroups/cpu/mod.rs diff --git a/tests/integration_test/src/tests/cgroups/cpu/v1.rs b/contest/contest/src/tests/cgroups/cpu/v1.rs similarity index 100% rename from tests/integration_test/src/tests/cgroups/cpu/v1.rs rename to contest/contest/src/tests/cgroups/cpu/v1.rs diff --git a/tests/integration_test/src/tests/cgroups/cpu/v2.rs b/contest/contest/src/tests/cgroups/cpu/v2.rs similarity index 100% rename from tests/integration_test/src/tests/cgroups/cpu/v2.rs rename to contest/contest/src/tests/cgroups/cpu/v2.rs diff --git a/tests/integration_test/src/tests/cgroups/memory.rs b/contest/contest/src/tests/cgroups/memory.rs similarity index 100% rename from tests/integration_test/src/tests/cgroups/memory.rs rename to contest/contest/src/tests/cgroups/memory.rs diff --git a/tests/integration_test/src/tests/cgroups/mod.rs b/contest/contest/src/tests/cgroups/mod.rs similarity index 100% rename from tests/integration_test/src/tests/cgroups/mod.rs rename to contest/contest/src/tests/cgroups/mod.rs diff --git a/tests/integration_test/src/tests/cgroups/network.rs b/contest/contest/src/tests/cgroups/network.rs similarity index 100% rename from tests/integration_test/src/tests/cgroups/network.rs rename to contest/contest/src/tests/cgroups/network.rs diff --git a/tests/integration_test/src/tests/cgroups/pids.rs b/contest/contest/src/tests/cgroups/pids.rs similarity index 100% rename from tests/integration_test/src/tests/cgroups/pids.rs rename to contest/contest/src/tests/cgroups/pids.rs diff --git a/tests/integration_test/src/tests/example/hello_world.rs b/contest/contest/src/tests/example/hello_world.rs similarity index 100% rename from tests/integration_test/src/tests/example/hello_world.rs rename to contest/contest/src/tests/example/hello_world.rs diff --git a/tests/integration_test/src/tests/example/mod.rs b/contest/contest/src/tests/example/mod.rs similarity index 100% rename from tests/integration_test/src/tests/example/mod.rs rename to contest/contest/src/tests/example/mod.rs diff --git a/tests/integration_test/src/tests/hooks/invoke.rs b/contest/contest/src/tests/hooks/invoke.rs similarity index 100% rename from tests/integration_test/src/tests/hooks/invoke.rs rename to contest/contest/src/tests/hooks/invoke.rs diff --git a/tests/integration_test/src/tests/hooks/mod.rs b/contest/contest/src/tests/hooks/mod.rs similarity index 100% rename from tests/integration_test/src/tests/hooks/mod.rs rename to contest/contest/src/tests/hooks/mod.rs diff --git a/tests/integration_test/src/tests/hostname/mod.rs b/contest/contest/src/tests/hostname/mod.rs similarity index 100% rename from tests/integration_test/src/tests/hostname/mod.rs rename to contest/contest/src/tests/hostname/mod.rs diff --git a/tests/integration_test/src/tests/intel_rdt/intel_rdt_test.rs b/contest/contest/src/tests/intel_rdt/intel_rdt_test.rs similarity index 100% rename from tests/integration_test/src/tests/intel_rdt/intel_rdt_test.rs rename to contest/contest/src/tests/intel_rdt/intel_rdt_test.rs diff --git a/tests/integration_test/src/tests/intel_rdt/mod.rs b/contest/contest/src/tests/intel_rdt/mod.rs similarity index 100% rename from tests/integration_test/src/tests/intel_rdt/mod.rs rename to contest/contest/src/tests/intel_rdt/mod.rs diff --git a/tests/integration_test/src/tests/lifecycle/checkpoint.rs b/contest/contest/src/tests/lifecycle/checkpoint.rs similarity index 100% rename from tests/integration_test/src/tests/lifecycle/checkpoint.rs rename to contest/contest/src/tests/lifecycle/checkpoint.rs diff --git a/tests/integration_test/src/tests/lifecycle/container_create.rs b/contest/contest/src/tests/lifecycle/container_create.rs similarity index 100% rename from tests/integration_test/src/tests/lifecycle/container_create.rs rename to contest/contest/src/tests/lifecycle/container_create.rs diff --git a/tests/integration_test/src/tests/lifecycle/container_lifecycle.rs b/contest/contest/src/tests/lifecycle/container_lifecycle.rs similarity index 100% rename from tests/integration_test/src/tests/lifecycle/container_lifecycle.rs rename to contest/contest/src/tests/lifecycle/container_lifecycle.rs diff --git a/tests/integration_test/src/tests/lifecycle/create.rs b/contest/contest/src/tests/lifecycle/create.rs similarity index 100% rename from tests/integration_test/src/tests/lifecycle/create.rs rename to contest/contest/src/tests/lifecycle/create.rs diff --git a/tests/integration_test/src/tests/lifecycle/delete.rs b/contest/contest/src/tests/lifecycle/delete.rs similarity index 100% rename from tests/integration_test/src/tests/lifecycle/delete.rs rename to contest/contest/src/tests/lifecycle/delete.rs diff --git a/tests/integration_test/src/tests/lifecycle/exec.rs b/contest/contest/src/tests/lifecycle/exec.rs similarity index 100% rename from tests/integration_test/src/tests/lifecycle/exec.rs rename to contest/contest/src/tests/lifecycle/exec.rs diff --git a/tests/integration_test/src/tests/lifecycle/kill.rs b/contest/contest/src/tests/lifecycle/kill.rs similarity index 100% rename from tests/integration_test/src/tests/lifecycle/kill.rs rename to contest/contest/src/tests/lifecycle/kill.rs diff --git a/tests/integration_test/src/tests/lifecycle/mod.rs b/contest/contest/src/tests/lifecycle/mod.rs similarity index 100% rename from tests/integration_test/src/tests/lifecycle/mod.rs rename to contest/contest/src/tests/lifecycle/mod.rs diff --git a/tests/integration_test/src/tests/lifecycle/start.rs b/contest/contest/src/tests/lifecycle/start.rs similarity index 100% rename from tests/integration_test/src/tests/lifecycle/start.rs rename to contest/contest/src/tests/lifecycle/start.rs diff --git a/tests/integration_test/src/tests/lifecycle/state.rs b/contest/contest/src/tests/lifecycle/state.rs similarity index 100% rename from tests/integration_test/src/tests/lifecycle/state.rs rename to contest/contest/src/tests/lifecycle/state.rs diff --git a/tests/integration_test/src/tests/lifecycle/util.rs b/contest/contest/src/tests/lifecycle/util.rs similarity index 100% rename from tests/integration_test/src/tests/lifecycle/util.rs rename to contest/contest/src/tests/lifecycle/util.rs diff --git a/tests/integration_test/src/tests/linux_ns_itype/mod.rs b/contest/contest/src/tests/linux_ns_itype/mod.rs similarity index 100% rename from tests/integration_test/src/tests/linux_ns_itype/mod.rs rename to contest/contest/src/tests/linux_ns_itype/mod.rs diff --git a/tests/integration_test/src/tests/linux_ns_itype/ns_itype_test.rs b/contest/contest/src/tests/linux_ns_itype/ns_itype_test.rs similarity index 100% rename from tests/integration_test/src/tests/linux_ns_itype/ns_itype_test.rs rename to contest/contest/src/tests/linux_ns_itype/ns_itype_test.rs diff --git a/tests/integration_test/src/tests/mod.rs b/contest/contest/src/tests/mod.rs similarity index 100% rename from tests/integration_test/src/tests/mod.rs rename to contest/contest/src/tests/mod.rs diff --git a/tests/integration_test/src/tests/mounts_recursive/mod.rs b/contest/contest/src/tests/mounts_recursive/mod.rs similarity index 100% rename from tests/integration_test/src/tests/mounts_recursive/mod.rs rename to contest/contest/src/tests/mounts_recursive/mod.rs diff --git a/tests/integration_test/src/tests/pidfile/mod.rs b/contest/contest/src/tests/pidfile/mod.rs similarity index 100% rename from tests/integration_test/src/tests/pidfile/mod.rs rename to contest/contest/src/tests/pidfile/mod.rs diff --git a/tests/integration_test/src/tests/pidfile/pidfile_test.rs b/contest/contest/src/tests/pidfile/pidfile_test.rs similarity index 100% rename from tests/integration_test/src/tests/pidfile/pidfile_test.rs rename to contest/contest/src/tests/pidfile/pidfile_test.rs diff --git a/tests/integration_test/src/tests/readonly_paths/mod.rs b/contest/contest/src/tests/readonly_paths/mod.rs similarity index 100% rename from tests/integration_test/src/tests/readonly_paths/mod.rs rename to contest/contest/src/tests/readonly_paths/mod.rs diff --git a/tests/integration_test/src/tests/readonly_paths/readonly_paths_tests.rs b/contest/contest/src/tests/readonly_paths/readonly_paths_tests.rs similarity index 100% rename from tests/integration_test/src/tests/readonly_paths/readonly_paths_tests.rs rename to contest/contest/src/tests/readonly_paths/readonly_paths_tests.rs diff --git a/tests/integration_test/src/tests/seccomp_notify/mod.rs b/contest/contest/src/tests/seccomp_notify/mod.rs similarity index 100% rename from tests/integration_test/src/tests/seccomp_notify/mod.rs rename to contest/contest/src/tests/seccomp_notify/mod.rs diff --git a/tests/integration_test/src/tests/seccomp_notify/seccomp_agent.rs b/contest/contest/src/tests/seccomp_notify/seccomp_agent.rs similarity index 100% rename from tests/integration_test/src/tests/seccomp_notify/seccomp_agent.rs rename to contest/contest/src/tests/seccomp_notify/seccomp_agent.rs diff --git a/tests/integration_test/src/tests/tlb/mod.rs b/contest/contest/src/tests/tlb/mod.rs similarity index 100% rename from tests/integration_test/src/tests/tlb/mod.rs rename to contest/contest/src/tests/tlb/mod.rs diff --git a/tests/integration_test/src/tests/tlb/tlb_test.rs b/contest/contest/src/tests/tlb/tlb_test.rs similarity index 100% rename from tests/integration_test/src/tests/tlb/tlb_test.rs rename to contest/contest/src/tests/tlb/tlb_test.rs diff --git a/tests/integration_test/src/utils/mod.rs b/contest/contest/src/utils/mod.rs similarity index 100% rename from tests/integration_test/src/utils/mod.rs rename to contest/contest/src/utils/mod.rs diff --git a/tests/integration_test/src/utils/support.rs b/contest/contest/src/utils/support.rs similarity index 100% rename from tests/integration_test/src/utils/support.rs rename to contest/contest/src/utils/support.rs diff --git a/tests/integration_test/src/utils/test_utils.rs b/contest/contest/src/utils/test_utils.rs similarity index 100% rename from tests/integration_test/src/utils/test_utils.rs rename to contest/contest/src/utils/test_utils.rs diff --git a/tests/runtimetest/.cargo/config.toml b/contest/runtimetest/.cargo/config.toml similarity index 100% rename from tests/runtimetest/.cargo/config.toml rename to contest/runtimetest/.cargo/config.toml diff --git a/tests/runtimetest/Cargo.toml b/contest/runtimetest/Cargo.toml similarity index 66% rename from tests/runtimetest/Cargo.toml rename to contest/runtimetest/Cargo.toml index f32550467b..e57191da0c 100644 --- a/tests/runtimetest/Cargo.toml +++ b/contest/runtimetest/Cargo.toml @@ -4,7 +4,7 @@ version = "0.0.1" edition = "2021" [dependencies] -oci-spec = { version = "0.6.4", features = ["runtime"] } +oci-spec = { version = "0.6.3", features = ["runtime"] } nix = "0.27.1" anyhow = "1.0" diff --git a/tests/runtimetest/README.md b/contest/runtimetest/README.md similarity index 100% rename from tests/runtimetest/README.md rename to contest/runtimetest/README.md diff --git a/tests/runtimetest/src/main.rs b/contest/runtimetest/src/main.rs similarity index 100% rename from tests/runtimetest/src/main.rs rename to contest/runtimetest/src/main.rs diff --git a/tests/runtimetest/src/tests.rs b/contest/runtimetest/src/tests.rs similarity index 100% rename from tests/runtimetest/src/tests.rs rename to contest/runtimetest/src/tests.rs diff --git a/tests/runtimetest/src/utils.rs b/contest/runtimetest/src/utils.rs similarity index 100% rename from tests/runtimetest/src/utils.rs rename to contest/runtimetest/src/utils.rs diff --git a/tests/test_framework/Cargo.toml b/contest/test_framework/Cargo.toml similarity index 100% rename from tests/test_framework/Cargo.toml rename to contest/test_framework/Cargo.toml diff --git a/tests/test_framework/README.md b/contest/test_framework/README.md similarity index 100% rename from tests/test_framework/README.md rename to contest/test_framework/README.md diff --git a/tests/test_framework/src/conditional_test.rs b/contest/test_framework/src/conditional_test.rs similarity index 100% rename from tests/test_framework/src/conditional_test.rs rename to contest/test_framework/src/conditional_test.rs diff --git a/tests/test_framework/src/lib.rs b/contest/test_framework/src/lib.rs similarity index 100% rename from tests/test_framework/src/lib.rs rename to contest/test_framework/src/lib.rs diff --git a/tests/test_framework/src/test.rs b/contest/test_framework/src/test.rs similarity index 100% rename from tests/test_framework/src/test.rs rename to contest/test_framework/src/test.rs diff --git a/tests/test_framework/src/test_group.rs b/contest/test_framework/src/test_group.rs similarity index 100% rename from tests/test_framework/src/test_group.rs rename to contest/test_framework/src/test_group.rs diff --git a/tests/test_framework/src/test_manager.rs b/contest/test_framework/src/test_manager.rs similarity index 100% rename from tests/test_framework/src/test_manager.rs rename to contest/test_framework/src/test_manager.rs diff --git a/tests/test_framework/src/testable.rs b/contest/test_framework/src/testable.rs similarity index 100% rename from tests/test_framework/src/testable.rs rename to contest/test_framework/src/testable.rs diff --git a/tests/.gitignore b/e2e/.gitignore similarity index 100% rename from tests/.gitignore rename to e2e/.gitignore diff --git a/tests/k8s/Dockerfile b/e2e/k8s/Dockerfile similarity index 100% rename from tests/k8s/Dockerfile rename to e2e/k8s/Dockerfile diff --git a/tests/k8s/deploy.yaml b/e2e/k8s/deploy.yaml similarity index 100% rename from tests/k8s/deploy.yaml rename to e2e/k8s/deploy.yaml diff --git a/e2e/oci-runtime-tests/src/github.com/opencontainers/runtime-tools b/e2e/oci-runtime-tests/src/github.com/opencontainers/runtime-tools new file mode 160000 index 0000000000..408c51e934 --- /dev/null +++ b/e2e/oci-runtime-tests/src/github.com/opencontainers/runtime-tools @@ -0,0 +1 @@ +Subproject commit 408c51e934dc558e90e13f63a808f1bd6b155fd2 diff --git a/tests/rootless-tests/run.sh b/e2e/rootless-tests/run.sh similarity index 100% rename from tests/rootless-tests/run.sh rename to e2e/rootless-tests/run.sh diff --git a/justfile b/justfile index 3d7caca190..4585e252fa 100644 --- a/justfile +++ b/justfile @@ -4,32 +4,29 @@ alias youki := youki-dev KIND_CLUSTER_NAME := 'youki' cwd := justfile_directory() +bin_dir := justfile_directory() / "bin" # build # build all binaries -build-all: youki-release rust-oci-tests-bin runtimetest +build-all: youki-release contest # build youki in dev mode youki-dev: - {{ cwd }}/scripts/build.sh -o {{ cwd }} -c youki + {{ cwd }}/scripts/build.sh -o {{ bin_dir }} -c youki # build youki in release mode youki-release: - {{ cwd }}/scripts/build.sh -o {{ cwd }} -r -c youki + {{ cwd }}/scripts/build.sh -o {{ bin_dir }} -r -c youki -# build runtimetest binary -runtimetest: - {{ cwd }}/scripts/build.sh -o {{ cwd }} -r -c runtimetest - -# build rust oci tests binary -rust-oci-tests-bin: - {{ cwd }}/scripts/build.sh -o {{ cwd }} -r -c integration-test +# build contest +contest: + {{ cwd }}/scripts/build.sh -o {{ bin_dir }}/ -r -c contest # Tests # run integration tests -test-integration: test-oci rust-oci-tests +test-integration: test-oci run-contest # run all tests except rust-oci test-all: test-basic test-features test-oci containerd-test # currently not doing rust-oci here @@ -55,14 +52,14 @@ test-musl: # run oci integration tests through runtime-tools test-oci: - {{ cwd }}/scripts/oci_integration_tests.sh {{ cwd }} + {{ cwd }}/scripts/oci_integration_tests.sh {{ bin_dir }} # run rust oci integration tests -rust-oci-tests: youki-release runtimetest rust-oci-tests-bin - {{ cwd }}/scripts/rust_integration_tests.sh {{ cwd }}/youki +run-contest: youki-release contest + {{ cwd }}/scripts/contest.sh {{ bin_dir }}/youki # validate rust oci integration tests on runc -validate-rust-oci-runc: runtimetest rust-oci-tests-bin +validate-contest-runc: contest {{ cwd }}/scripts/rust_integration_tests.sh runc # test podman rootless works with youki diff --git a/scripts/build.sh b/scripts/build.sh index 3654c9f284..cda18f4acd 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -11,7 +11,6 @@ usage_exit() { VERSION=debug TARGET="$(uname -m)-unknown-linux-gnu" CRATE="youki" -RUNTIMETEST_TARGET="$ROOT/runtimetest-target" features="" while getopts f:ro:c:h OPT; do case $OPT in @@ -49,21 +48,18 @@ OUTPUT=${output:-$ROOT/bin} if [ "$CRATE" == "youki" ]; then - rm -f ${OUTPUT}/youki + find ${OUTPUT} -maxdepth 1 -type f -name "youki" -exec rm -ifv {} \; cargo build --target ${TARGET} ${OPTION} ${FEATURES} --bin youki mv ${ROOT}/target/${TARGET}/${VERSION}/youki ${OUTPUT}/ fi -if [ "$CRATE" == "integration-test" ]; then - rm -f ${OUTPUT}/integration_test - cargo build --target ${TARGET} ${OPTION} ${FEATURES} --bin integration_test - mv ${ROOT}/target/${TARGET}/${VERSION}/integration_test ${OUTPUT}/ -fi +if [ "$CRATE" == "contest" ]; then + find ${OUTPUT} -maxdepth 1 -type f -name "contest" -exec rm -ifv {} \; + cargo build --target ${TARGET} ${OPTION} ${FEATURES} --bin contest + mv ${ROOT}/target/${TARGET}/${VERSION}/contest ${OUTPUT}/ -if [ "$CRATE" == "runtimetest" ]; then - rm -f ${OUTPUT}/runtimetest - CARGO_TARGET_DIR=${RUNTIMETEST_TARGET} RUSTFLAGS="-Ctarget-feature=+crt-static" cargo build --target ${TARGET} ${OPTION} ${FEATURES} --bin runtimetest - mv ${RUNTIMETEST_TARGET}/${TARGET}/${VERSION}/runtimetest ${OUTPUT}/ + find ${OUTPUT} -maxdepth 1 -type f -name "runtimetest" -exec rm -ifv {} \; + CONTEST_TARGET="$ROOT/contest-target" + CARGO_TARGET_DIR=${CONTEST_TARGET} RUSTFLAGS="-Ctarget-feature=+crt-static" cargo build --target ${TARGET} ${OPTION} ${FEATURES} --bin runtimetest + mv ${CONTEST_TARGET}/${TARGET}/${VERSION}/runtimetest ${OUTPUT}/ fi - -exit 0 diff --git a/scripts/rust_integration_tests.sh b/scripts/contest.sh similarity index 75% rename from scripts/rust_integration_tests.sh rename to scripts/contest.sh index 3886f12c39..65471784ad 100755 --- a/scripts/rust_integration_tests.sh +++ b/scripts/contest.sh @@ -20,11 +20,11 @@ ROOT=${2-$(git rev-parse --show-toplevel)} LOGFILE="${ROOT}/test.log" if [ ! -f ${ROOT}/bundle.tar.gz ]; then - cp ${ROOT}/tests/integration_test/bundle.tar.gz ${ROOT}/bundle.tar.gz + cp ${ROOT}/contest/contest/bundle.tar.gz ${ROOT}/bundle.tar.gz fi touch ${LOGFILE} -sudo ${ROOT}/integration_test run --runtime "$RUNTIME" --runtimetest ${ROOT}/runtimetest > $LOGFILE +sudo ${ROOT}/bin/contest run --runtime "$RUNTIME" --runtimetest ${ROOT}/bin/runtimetest > $LOGFILE if [ 0 -ne $(grep "not ok" $LOGFILE | wc -l ) ]; then cat $LOGFILE diff --git a/tests/oci-runtime-tests/src/github.com/opencontainers/runtime-tools b/tests/oci-runtime-tests/src/github.com/opencontainers/runtime-tools deleted file mode 160000 index a6a073817a..0000000000 --- a/tests/oci-runtime-tests/src/github.com/opencontainers/runtime-tools +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a6a073817ab0311b14dadeb6491b968c5bc35d7e