From b9880e8ecdce02f047dfb1d19de5f1ed07a82ac6 Mon Sep 17 00:00:00 2001 From: Klaus Aehlig Date: Fri, 8 Jul 2022 10:29:05 +0200 Subject: In install-cas be more liberal in parsing artifact identifiers --- test/buildtool/common/common.test.cpp | 42 +++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 test/buildtool/common/common.test.cpp (limited to 'test/buildtool/common/common.test.cpp') diff --git a/test/buildtool/common/common.test.cpp b/test/buildtool/common/common.test.cpp new file mode 100644 index 00000000..ea5af597 --- /dev/null +++ b/test/buildtool/common/common.test.cpp @@ -0,0 +1,42 @@ +#include "catch2/catch.hpp" +#include "src/buildtool/common/artifact.hpp" + +TEST_CASE("ObjectInfo::LiberalFromString", "[artifcat]") { + auto expected = *Artifact::ObjectInfo::FromString( + "[5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:f]"); + auto expected_as_tree = *Artifact::ObjectInfo::FromString( + "[5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:0:t]"); + + CHECK(Artifact::ObjectInfo::LiberalFromString( + "[5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:f]") == expected); + CHECK(Artifact::ObjectInfo::LiberalFromString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:f]") == expected); + CHECK(Artifact::ObjectInfo::LiberalFromString( + "[5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:f") == expected); + CHECK(Artifact::ObjectInfo::LiberalFromString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:f") == expected); + CHECK(Artifact::ObjectInfo::LiberalFromString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:file") == expected); + CHECK(Artifact::ObjectInfo::LiberalFromString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:11:notavalidletter") == + expected); + + // Without size, which is not honored in equality + CHECK(Artifact::ObjectInfo::LiberalFromString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689") == expected); + CHECK(Artifact::ObjectInfo::LiberalFromString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:") == expected); + // Syntactically invalid size should be ignored + CHECK(Artifact::ObjectInfo::LiberalFromString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:xyz") == expected); + + CHECK(Artifact::ObjectInfo::LiberalFromString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689::t") == + expected_as_tree); + CHECK(Artifact::ObjectInfo::LiberalFromString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689::tree") == + expected_as_tree); + CHECK(Artifact::ObjectInfo::LiberalFromString( + "5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689:xyz:t") == + expected_as_tree); +} -- cgit v1.2.3