From 267686afb6560d138154c678ce6165c3568c2f13 Mon Sep 17 00:00:00 2001 From: Andrei Medar Date: Tue, 29 Sep 2020 19:27:40 +0000 Subject: [PATCH] Added test helper class --- oss-internship-2020/libarchive/.gitignore | 1 + oss-internship-2020/libarchive/CMakeLists.txt | 2 +- .../libarchive/examples/CMakeLists.txt | 5 ++ .../libarchive/examples/sandbox.h | 3 + .../libarchive/test/CMakeLists.txt | 16 +++++ .../libarchive/test/minitar_test.cc | 64 ++++++++++++++++++ .../libarchive/test/normal.tar | Bin 6144 -> 0 bytes 7 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 oss-internship-2020/libarchive/test/CMakeLists.txt create mode 100644 oss-internship-2020/libarchive/test/minitar_test.cc delete mode 100644 oss-internship-2020/libarchive/test/normal.tar diff --git a/oss-internship-2020/libarchive/.gitignore b/oss-internship-2020/libarchive/.gitignore index 436efe7..60514c3 100644 --- a/oss-internship-2020/libarchive/.gitignore +++ b/oss-internship-2020/libarchive/.gitignore @@ -1,3 +1,4 @@ build/ .clang-format .cache +.vscode diff --git a/oss-internship-2020/libarchive/CMakeLists.txt b/oss-internship-2020/libarchive/CMakeLists.txt index 5e2a2f7..78e30b0 100644 --- a/oss-internship-2020/libarchive/CMakeLists.txt +++ b/oss-internship-2020/libarchive/CMakeLists.txt @@ -76,4 +76,4 @@ target_include_directories(libarchive_sapi INTERFACE add_subdirectory(examples) - +add_subdirectory(test) diff --git a/oss-internship-2020/libarchive/examples/CMakeLists.txt b/oss-internship-2020/libarchive/examples/CMakeLists.txt index b277164..468b7bf 100644 --- a/oss-internship-2020/libarchive/examples/CMakeLists.txt +++ b/oss-internship-2020/libarchive/examples/CMakeLists.txt @@ -15,6 +15,7 @@ add_library(sapi_minitar_lib STATIC sapi_minitar.cc sapi_minitar.h + sandbox.h ) target_link_libraries(sapi_minitar_lib PUBLIC @@ -28,6 +29,10 @@ target_link_libraries(sapi_minitar_lib PUBLIC glog::glog ) +target_include_directories(sapi_minitar_lib INTERFACE +"${PROJECT_SOURCE_DIR}/examples" +) + add_executable(sapi_minitar sapi_minitar_main.cc ) diff --git a/oss-internship-2020/libarchive/examples/sandbox.h b/oss-internship-2020/libarchive/examples/sandbox.h index b7ec963..1cdb285 100644 --- a/oss-internship-2020/libarchive/examples/sandbox.h +++ b/oss-internship-2020/libarchive/examples/sandbox.h @@ -8,6 +8,7 @@ #include #include "libarchive_sapi.sapi.h" +#include "sandboxed_api/sandbox2/util/fileops.h" #include "sapi_minitar.h" // #include "sandboxed_api/sandbox2/util/fileops.h" @@ -119,6 +120,8 @@ class SapiLibarchiveSandboxExtract : public LibarchiveSandbox { .AddFile(archive_path_); if (do_extract_) { + // Get the real cwd and map it to the temporary directory in which + // the sandboxed process takes place(). std::string cwd = sandbox2::file_util::fileops::GetCWD(); policy = policy.AddDirectoryAt(cwd, tmp_dir_, false); } diff --git a/oss-internship-2020/libarchive/test/CMakeLists.txt b/oss-internship-2020/libarchive/test/CMakeLists.txt new file mode 100644 index 0000000..edd6691 --- /dev/null +++ b/oss-internship-2020/libarchive/test/CMakeLists.txt @@ -0,0 +1,16 @@ + +include(GoogleTest) +enable_testing() + +add_executable(sapi_minitar_test + minitar_test.cc +) + +target_link_libraries(sapi_minitar_test PRIVATE + sapi_minitar_lib + gtest + gmock + sapi::test_main +) + +gtest_discover_tests(sapi_minitar_test) diff --git a/oss-internship-2020/libarchive/test/minitar_test.cc b/oss-internship-2020/libarchive/test/minitar_test.cc new file mode 100644 index 0000000..3abaa79 --- /dev/null +++ b/oss-internship-2020/libarchive/test/minitar_test.cc @@ -0,0 +1,64 @@ +#include +#include "sapi_minitar.h" +#include "gtest/gtest.h" +#include "gmock/gmock.h" +#include "sandboxed_api/util/status_matchers.h" +// #include "testing/base/public/gunit.h" +// #include "testing/base/public/gunit.h" + +using ::testing::IsTrue; +using ::testing::Eq; + +using ::sandbox2::file_util::fileops::Exists; + +namespace { + +class MiniTarTest : public ::testing::Test { + protected: + static void SetUpTestSuite() { + std::cout << "SETUP INITIAL" << std::endl; + data_dir_ = CreateTempDirAtCWD(); + ASSERT_THAT(Exists(data_dir_, false), IsTrue()) << "Test data directory was not created"; + std::cout << "tmpdir = " << data_dir_ << std::endl; + cnt = 0; + } + + static void TearDownTestSuite() { + sandbox2::file_util::fileops::DeleteRecursively(data_dir_); + std::cout << "TEARDOWN END" << std::endl; + std::cout << "cnt = " << cnt << std::endl; + } + + + void SetUp() override { + std::cout << "setup every test" << std::endl; + ++cnt; + } + + void TearDown() override { + std::cout << "teardown every test" << std::endl; + ++cnt; + } + static int cnt; + static std::string data_dir_; +}; + +int MiniTarTest::cnt; +std::string MiniTarTest::data_dir_; + +TEST_F(MiniTarTest, Test1) { + ASSERT_THAT(true, IsTrue()) << "TEST"; +} + + +TEST_F(MiniTarTest, Test2) { + ASSERT_THAT(true, IsTrue()) << "TEST"; +} + + + +TEST(TESTEX1, TESTEX2) { + ASSERT_THAT(true, IsTrue()) << "TEST"; +} + +} // namespace diff --git a/oss-internship-2020/libarchive/test/normal.tar b/oss-internship-2020/libarchive/test/normal.tar deleted file mode 100644 index d404d4e2966a3c702d50b2ac3083a298dd3fd2a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6144 zcmeHK-E-PT5YIDz#g3fG*fS0ic7kWxzQ{t3)nK3!PU5GVLptDU(5ZK)V4BJQ-aQF} z1jKGK^|YNaFG%}!`|-QoRp`5&E5A8UUOe5;ah&!W2VUSm{C6g4?z5pQMcQG}c_CifBO;O_PzhYwEiP zQ}MllU}_$!f2;lW1nTu~JEza}|K2qJkUW*~lz(P~rCKh@STfeAlTx|3V?SkgnoKbWChNKt#z~!Hydh&gW3{vu=2f0$ zLTba+Op?)`Jlj&or^Fjkp!E}rnr)kV! z!S%E_W@V&_CT>Twfh%7jFqaZp)8y|z=W&e5zAKfr?d&9twpdW(Q z?{$J<(C^{f1-QK%cpvmS$G|XESQB?DJjS@v zNlqsWCgL-bDTV_XlXI?2F%`O(pp_Y)b4`ohSV6$LG>v$U?SssD%IEo<+-LCcgC9od zFPt`8?W0B`lj3(4>%$oz-7go4W*odvpOA}+I+oEE4*^ zT?e6G%Al9$IiDpExq|>59!V;fg{C2pu-_koW#>xTxLeSfJt+WgPsNpv|vsWuHOJ1Xc7I?0A>BGPsUV=5i)yCA{WHl-`Wh}Khv|N2aBSI_;$bkE>2&jWz zdc%Hr1J=tggRuWAzLE2w=Y}@~d0%Z@m+&qrqjg{gY>cg5%n9CyIi7HcvEdI9F+fl} zY{Fh;wmG#*Ew6ud<@Zp{MJz9i@|K4+D*~8nh_kBcsDB-Le$6|(oMz3!S*t3%Clvc{ zTi>7oujV~4Dq(!@LCGTu7QA`|MGWu@R72Y2Yd0PHBHU!UdSW$km3S(Tn3*HfaLi=K zD}lF7FIOcll}kq|b$;CD#+Opr9SnS|DPnElhr=7_pBI?x_=X(q9Pn^>#@|N6;8NwI z1bbtwgt1(!auN2gh}-Qp?(cmx41?ag2)^}U4HwrvuW06^8$?4?D;&daLl7#acO9bn4QlYC zJmU={t@YsLm-TaDRvgr!VUGj)pru-d%w*j?bVJBkC6siVfzEmY5zpEK~Bf#(eTPcrZq#w?k!