diff options
author | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2023-02-16 16:20:34 +0100 |
---|---|---|
committer | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2023-02-17 16:27:50 +0100 |
commit | 307da10caa951c5e8d6d6f256ee3d81a66ed6bb3 (patch) | |
tree | ad5fcf8650d46957b362326a6956f4c290c2ced8 /test/other_tools/git_operations/critical_git_ops.test.cpp | |
parent | ae8db3f7484e5b6e7ef6b0f0f9243d84820c2236 (diff) | |
download | justbuild-307da10caa951c5e8d6d6f256ee3d81a66ed6bb3.tar.gz |
tests: Add proper quoting when system calling the shell
Diffstat (limited to 'test/other_tools/git_operations/critical_git_ops.test.cpp')
-rw-r--r-- | test/other_tools/git_operations/critical_git_ops.test.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/test/other_tools/git_operations/critical_git_ops.test.cpp b/test/other_tools/git_operations/critical_git_ops.test.cpp index c7fedda0..0e28e73e 100644 --- a/test/other_tools/git_operations/critical_git_ops.test.cpp +++ b/test/other_tools/git_operations/critical_git_ops.test.cpp @@ -19,6 +19,7 @@ #include "src/buildtool/execution_api/common/execution_common.hpp" #include "src/buildtool/file_system/file_system_manager.hpp" #include "src/other_tools/ops_maps/critical_git_op_map.hpp" +#include "test/utils/shell_quoting.hpp" namespace { @@ -62,10 +63,11 @@ class TestUtilsMP { bool is_bare = false) noexcept -> std::optional<std::filesystem::path> { auto repo_path = CreateTestRepo(prefix, is_bare); REQUIRE(repo_path); - auto cmd = fmt::format( - "git --git-dir={} --work-tree={} checkout master", - is_bare ? repo_path->string() : (*repo_path / ".git").string(), - repo_path->string()); + auto cmd = + fmt::format("git --git-dir={} --work-tree={} checkout master", + QuoteForShell(is_bare ? repo_path->string() + : (*repo_path / ".git").string()), + QuoteForShell(repo_path->string())); if (std::system(cmd.c_str()) == 0) { return *repo_path; } @@ -81,8 +83,8 @@ class TestUtilsMP { if (not FileSystemManager::Exists(repo_path)) { auto cmd = fmt::format("git clone {}{} {}", is_bare ? "--bare " : "", - kBundlePath, - repo_path.string()); + QuoteForShell(kBundlePath), + QuoteForShell(repo_path.string())); if (std::system(cmd.c_str()) == 0) { result = repo_path; } |