From 725f665b796411a9f4d1a1858585f73684499594 Mon Sep 17 00:00:00 2001 From: Andrei Medar Date: Fri, 2 Oct 2020 16:52:13 +0000 Subject: [PATCH] Added one extra test --- oss-internship-2020/libarchive/CMakeLists.txt | 3 +-- .../libarchive/test/minitar_test.cc | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/oss-internship-2020/libarchive/CMakeLists.txt b/oss-internship-2020/libarchive/CMakeLists.txt index 0c79260..3b8e375 100644 --- a/oss-internship-2020/libarchive/CMakeLists.txt +++ b/oss-internship-2020/libarchive/CMakeLists.txt @@ -20,8 +20,7 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED 17) # Build SAPI library -#set(SAPI_ROOT "" CACHE PATH "Path to the Sandboxed API source tree") -set(SAPI_ROOT "/usr/local/google/home/amedar/internship/sandboxed-api" CACHE PATH "Path to the Sandboxed API source tree") +set(SAPI_ROOT "" CACHE PATH "Path to the Sandboxed API source tree") include(FetchContent) FetchContent_Declare( diff --git a/oss-internship-2020/libarchive/test/minitar_test.cc b/oss-internship-2020/libarchive/test/minitar_test.cc index 2e34f0f..255c566 100644 --- a/oss-internship-2020/libarchive/test/minitar_test.cc +++ b/oss-internship-2020/libarchive/test/minitar_test.cc @@ -16,6 +16,7 @@ #include "build/googletest-src/googlemock/include/gmock/gmock-more-matchers.h" #include "gtest/gtest.h" +#include "sandboxed_api/sandbox2/util/path.h" #include "sandboxed_api/util/status_matchers.h" #include "sapi_minitar.h" @@ -259,4 +260,19 @@ TEST_F(MiniTarTest, TestBZIP2) { CheckFile(std::string(kFile3_)); } +TEST_F(MiniTarTest, TestPaths) { + // These should be equivalent to kFile1_ and kDir1_ after cleaning. + std::vector v = {JoinPath("a/b/../../c/../", kFile1_).data(), + JoinPath("d/../e/././///../", kDir1_).data()}; + create(id_.data(), 0, VecStringToCharPtrArr(v), false); + + ASSERT_THAT(chdir(tmp_dir_.data()), Eq(0)) + << "Could not chdir into test data directory"; + extract(JoinPath(data_dir_, id_).data(), 1, 0, false); + + CheckFile(std::string(kFile1_)); + CheckFile(std::string(kFile2_)); + CheckFile(std::string(kFile3_)); +} + } // namespace