diff options
author | Alex Richardson <arichardson@FreeBSD.org> | 2021-02-16 14:35:12 +0000 |
---|---|---|
committer | Alex Richardson <arichardson@FreeBSD.org> | 2021-03-17 22:22:49 +0000 |
commit | 8e6eb890fefdbcf5be2a61c7badadfabab3de52b (patch) | |
tree | e672dabf89464699519009dbae0bb114d06f47f4 /contrib/capsicum-test/capsicum-test-main.cc | |
parent | 760cf46f3e40c879f2f3efde3821419dbf32915d (diff) |
Update capsicum-test to git commit 7707222b46abe52d18fd4fbb76115ffdb3e6f74b
This includes changes to use GTEST_SKIP() instead of the local hand-rolled
mechanism as well as a few minor cleanups.
(cherry picked from commit 2d936e6c99ad1c4fb01f6c99a96dcc924ee44b9d)
Diffstat (limited to 'contrib/capsicum-test/capsicum-test-main.cc')
-rw-r--r-- | contrib/capsicum-test/capsicum-test-main.cc | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/contrib/capsicum-test/capsicum-test-main.cc b/contrib/capsicum-test/capsicum-test-main.cc index 524631ebf5bd..d0f955270fd4 100644 --- a/contrib/capsicum-test/capsicum-test-main.cc +++ b/contrib/capsicum-test/capsicum-test-main.cc @@ -84,24 +84,30 @@ private: std::string capsicum_test_bindir; +// Adds a directory to $PATH. +static void AddDirectoryToPath(const char *dir) { + char *new_path, *old_path; + + old_path = getenv("PATH"); + assert(old_path); + + assert(asprintf(&new_path, "%s:%s", dir, old_path) > 0); + assert(setenv("PATH", new_path, 1) == 0); +} + int main(int argc, char* argv[]) { // Set up the test program path, so capsicum-test can find programs, like // mini-me* when executed from an absolute path. - { - char *new_path, *old_path, *program_name; - - program_name = strdup(argv[0]); - assert(program_name); - capsicum_test_bindir = std::string(dirname(program_name)); - free(program_name); + char *program_name; - old_path = getenv("PATH"); - assert(old_path); + // Copy argv[0], so dirname can do an in-place manipulation of the buffer's + // contents. + program_name = strdup(argv[0]); + assert(program_name); + capsicum_test_bindir = std::string(dirname(program_name)); + free(program_name); - assert(asprintf(&new_path, "%s:%s", capsicum_test_bindir.c_str(), - old_path) > 0); - assert(setenv("PATH", new_path, 1) == 0); - } + AddDirectoryToPath(capsicum_test_bindir.c_str()); ::testing::InitGoogleTest(&argc, argv); for (int ii = 1; ii < argc; ii++) { @@ -150,7 +156,5 @@ int main(int argc, char* argv[]) { #endif testing::AddGlobalTestEnvironment(new SetupEnvironment()); - int rc = RUN_ALL_TESTS(); - ShowSkippedTests(std::cerr); - return rc; + return RUN_ALL_TESTS(); } |