diff --git a/testsuite/tests/install/independent/my_index/crates/crate/crate1.tgz b/testsuite/tests/install/independent/my_index/crates/crate/crate1.tgz new file mode 100644 index 000000000..a8623c93b Binary files /dev/null and b/testsuite/tests/install/independent/my_index/crates/crate/crate1.tgz differ diff --git a/testsuite/tests/install/independent/my_index/crates/crate/crate2.tgz b/testsuite/tests/install/independent/my_index/crates/crate/crate2.tgz new file mode 100644 index 000000000..14a2617ac Binary files /dev/null and b/testsuite/tests/install/independent/my_index/crates/crate/crate2.tgz differ diff --git a/testsuite/tests/install/independent/my_index/index/cr/crate1/crate1-1.0.0.toml b/testsuite/tests/install/independent/my_index/index/cr/crate1/crate1-1.0.0.toml new file mode 100644 index 000000000..61c8709b7 --- /dev/null +++ b/testsuite/tests/install/independent/my_index/index/cr/crate1/crate1-1.0.0.toml @@ -0,0 +1,10 @@ +description = "Sample crate" +name = "crate1" +version = "1.0.0" +licenses = [] +maintainers = ["any@bo.dy"] +maintainers-logins = ["someone"] + +[origin."case(os)"."..."] +url = "file:../../../crates/crate/crate1.tgz" +hashes = ["sha256:d35efed8325f646652f533fa4094d580cf28bccc9cc1d85751738b446bbed37a"] \ No newline at end of file diff --git a/testsuite/tests/install/independent/my_index/index/cr/crate2/crate2-1.0.0.toml b/testsuite/tests/install/independent/my_index/index/cr/crate2/crate2-1.0.0.toml new file mode 100644 index 000000000..776771516 --- /dev/null +++ b/testsuite/tests/install/independent/my_index/index/cr/crate2/crate2-1.0.0.toml @@ -0,0 +1,10 @@ +description = "Sample crate" +name = "crate2" +version = "1.0.0" +licenses = [] +maintainers = ["any@bo.dy"] +maintainers-logins = ["someone"] + +[origin."case(os)"."..."] +url = "file:../../../crates/crate/crate2.tgz" +hashes = ["sha256:8a814f2f0683b3b4db10a1c1e08e951d81de0deff2fa0f70a29295e45184b795"] \ No newline at end of file diff --git a/testsuite/tests/install/independent/my_index/index/index.toml b/testsuite/tests/install/independent/my_index/index/index.toml new file mode 100644 index 000000000..c2a2c7dbc --- /dev/null +++ b/testsuite/tests/install/independent/my_index/index/index.toml @@ -0,0 +1 @@ +version = "1.2" diff --git a/testsuite/tests/install/independent/test.py b/testsuite/tests/install/independent/test.py new file mode 100644 index 000000000..c55980097 --- /dev/null +++ b/testsuite/tests/install/independent/test.py @@ -0,0 +1,23 @@ +""" +Test installation of two independent crates with `alr install` to verify that +our deployment system doesn't introduce any conflicts. +""" + +from drivers.alr import run_alr, init_local_crate +from drivers.asserts import assert_eq, assert_match, assert_installed +from subprocess import run + +import os + + +PREFIX=os.path.join(os.getcwd(), "install") +PREFIX_ARG=f"--prefix={PREFIX}" + +# Install both crates one after the other, shouldn't fail +run_alr("install", PREFIX_ARG, "crate1") +run_alr("install", PREFIX_ARG, "crate2") + +# Check contents of the prefix +assert_installed(PREFIX, ["crate1=1.0.0", "crate2=1.0.0"]) + +print('SUCCESS') \ No newline at end of file diff --git a/testsuite/tests/install/independent/test.yaml b/testsuite/tests/install/independent/test.yaml new file mode 100644 index 000000000..0a859639c --- /dev/null +++ b/testsuite/tests/install/independent/test.yaml @@ -0,0 +1,4 @@ +driver: python-script +indexes: + my_index: + in_fixtures: false diff --git a/testsuite/tests/install/softlinks/my_index/crate-0.1.0.tgz b/testsuite/tests/install/softlinks/my_index/crate-0.1.0.tgz index 50b40e1f5..11effa04c 100644 Binary files a/testsuite/tests/install/softlinks/my_index/crate-0.1.0.tgz and b/testsuite/tests/install/softlinks/my_index/crate-0.1.0.tgz differ diff --git a/testsuite/tests/install/softlinks/my_index/index/cr/crate/crate-0.1.0.toml b/testsuite/tests/install/softlinks/my_index/index/cr/crate/crate-0.1.0.toml index 64f0a36f0..dd47659fa 100644 --- a/testsuite/tests/install/softlinks/my_index/index/cr/crate/crate-0.1.0.toml +++ b/testsuite/tests/install/softlinks/my_index/index/cr/crate/crate-0.1.0.toml @@ -8,4 +8,4 @@ executables=['main'] [origin.'case(os)'.'...'] url = "file:../../../crate-0.1.0.tgz" -hashes = ["sha256:35cc9636468031e1874fe142a6f40557d3befc6dd26cdded0401f440534f4bd6"] +hashes = ["sha256:73d1455dd4b49ea598faa939557c15046db6c689552db03fd6a49c57d3cbc1b2"] diff --git a/testsuite/tests/install/softlinks/test.py b/testsuite/tests/install/softlinks/test.py index 64b8b8dcb..43e3bafe5 100644 --- a/testsuite/tests/install/softlinks/test.py +++ b/testsuite/tests/install/softlinks/test.py @@ -1,5 +1,16 @@ """ -Test that binary files containing softlinks can be installed properly +Test that binary files containing softlinks can be installed properly. The test +crate contains all kinds of pernicious links (broken, recursive, etc.): + +crate +├── bin -> subdir/bin +├── broken -> missing +└── subdir + ├── bin + │ ├── loop -> ../../subdir + │ └── x + ├── parent -> .. + └── self -> ../subdir """ import sys