diff options
author | Oliver Reiche <oliver.reiche@huawei.com> | 2022-07-29 14:47:50 +0200 |
---|---|---|
committer | Sascha Roloff <sascha.roloff@huawei.com> | 2022-08-05 14:41:31 +0200 |
commit | baa073d46cae264183f576c0acae8df57f42e759 (patch) | |
tree | a6cc74f0ddf0dbe319b13cfb0b0edc400534a2f2 /test/buildtool/main | |
parent | 406ee1b8c0f6c2ca3e3cd1281eee6dd59e473a68 (diff) | |
download | justbuild-baa073d46cae264183f576c0acae8df57f42e759.tar.gz |
InstallCas: Moved install-cas code to separate library
Diffstat (limited to 'test/buildtool/main')
-rw-r--r-- | test/buildtool/main/TARGETS | 13 | ||||
-rw-r--r-- | test/buildtool/main/install_cas.test.cpp | 38 |
2 files changed, 51 insertions, 0 deletions
diff --git a/test/buildtool/main/TARGETS b/test/buildtool/main/TARGETS new file mode 100644 index 00000000..8cbd13e2 --- /dev/null +++ b/test/buildtool/main/TARGETS @@ -0,0 +1,13 @@ +{ "install_cas": + { "type": ["@", "rules", "CC/test", "test"] + , "name": ["install_cas"] + , "srcs": ["install_cas.test.cpp"] + , "deps": + [ ["@", "catch2", "", "catch2"] + , ["test", "catch-main"] + , ["src/buildtool/main", "install_cas"] + ] + , "stage": ["test", "buildtool", "main"] + } +, "TESTS": {"type": "install", "tainted": ["test"], "deps": ["install_cas"]} +} diff --git a/test/buildtool/main/install_cas.test.cpp b/test/buildtool/main/install_cas.test.cpp new file mode 100644 index 00000000..3871444c --- /dev/null +++ b/test/buildtool/main/install_cas.test.cpp @@ -0,0 +1,38 @@ +#include "catch2/catch.hpp" +#include "src/buildtool/main/install_cas.hpp" + +TEST_CASE("ObjectInfoFromLiberalString", "[artifact]") { + auto expected = *Artifact::ObjectInfo::FromString( + "[5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:f]"); + auto expected_as_tree = *Artifact::ObjectInfo::FromString( + "[5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:0:t]"); + + CHECK(ObjectInfoFromLiberalString( + "[5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:f]") == expected); + CHECK(ObjectInfoFromLiberalString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:f]") == expected); + CHECK(ObjectInfoFromLiberalString( + "[5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:f") == expected); + CHECK(ObjectInfoFromLiberalString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:f") == expected); + CHECK(ObjectInfoFromLiberalString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:file") == expected); + CHECK(ObjectInfoFromLiberalString("5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689" + ":11:notavalidletter") == expected); + + // Without size, which is not honored in equality + CHECK(ObjectInfoFromLiberalString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689") == expected); + CHECK(ObjectInfoFromLiberalString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:") == expected); + // Syntactically invalid size should be ignored + CHECK(ObjectInfoFromLiberalString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:xyz") == expected); + + CHECK(ObjectInfoFromLiberalString("5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689" + "::t") == expected_as_tree); + CHECK(ObjectInfoFromLiberalString("5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689" + "::tree") == expected_as_tree); + CHECK(ObjectInfoFromLiberalString("5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689" + ":xyz:t") == expected_as_tree); +} |