From 307da10caa951c5e8d6d6f256ee3d81a66ed6bb3 Mon Sep 17 00:00:00 2001 From: Paul Cristian Sarbu Date: Thu, 16 Feb 2023 16:20:34 +0100 Subject: tests: Add proper quoting when system calling the shell --- test/buildtool/file_system/git_repo.test.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'test/buildtool/file_system/git_repo.test.cpp') diff --git a/test/buildtool/file_system/git_repo.test.cpp b/test/buildtool/file_system/git_repo.test.cpp index 23d50f51..632bddb9 100644 --- a/test/buildtool/file_system/git_repo.test.cpp +++ b/test/buildtool/file_system/git_repo.test.cpp @@ -19,6 +19,7 @@ #include "src/buildtool/file_system/file_system_manager.hpp" #include "src/buildtool/file_system/git_repo.hpp" #include "src/utils/cpp/atomic.hpp" +#include "test/utils/shell_quoting.hpp" namespace { @@ -54,10 +55,11 @@ class TestUtils { bool is_bare = false) noexcept -> std::optional { auto repo_path = CreateTestRepo(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; } @@ -69,8 +71,8 @@ class TestUtils { auto repo_path = GetRepoPath(); 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) { return repo_path; } -- cgit v1.2.3