mirror of
https://github.com/google/sandboxed-api.git
synced 2024-03-22 13:11:30 +08:00
Added test helper class
This commit is contained in:
parent
e6e564f412
commit
267686afb6
1
oss-internship-2020/libarchive/.gitignore
vendored
1
oss-internship-2020/libarchive/.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
build/
|
||||
.clang-format
|
||||
.cache
|
||||
.vscode
|
||||
|
@ -76,4 +76,4 @@ target_include_directories(libarchive_sapi INTERFACE
|
||||
|
||||
|
||||
add_subdirectory(examples)
|
||||
|
||||
add_subdirectory(test)
|
||||
|
@ -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
|
||||
)
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#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);
|
||||
}
|
||||
|
16
oss-internship-2020/libarchive/test/CMakeLists.txt
Normal file
16
oss-internship-2020/libarchive/test/CMakeLists.txt
Normal file
@ -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)
|
64
oss-internship-2020/libarchive/test/minitar_test.cc
Normal file
64
oss-internship-2020/libarchive/test/minitar_test.cc
Normal file
@ -0,0 +1,64 @@
|
||||
#include <gmock/gmock-more-matchers.h>
|
||||
#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
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user