Skip to content

Commit 8bf857f

Browse files
authored
Add support for sccache (#643)
* support sccache wrapper as ccache variant * test sccache wrapper queries * fix: call is_distcc_query in its tests not is_ccache_query
1 parent d75455d commit 8bf857f

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

source/citnames/source/semantic/ToolWrapper.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ namespace cs::semantic {
5656

5757
bool ToolWrapper::is_ccache_call(const fs::path &program) {
5858
const auto string = program.filename().string();
59-
return string == "ccache";
59+
return string == "ccache" || string == "sccache";
6060
}
6161

6262
bool ToolWrapper::is_ccache_query(const std::list<std::string> &arguments) {

source/citnames/test/ToolWrapperTest.cc

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,19 @@ namespace {
6666
EXPECT_FALSE(ToolWrapper::is_ccache_call("/usr/bin/g++"));
6767

6868
EXPECT_TRUE(ToolWrapper::is_ccache_call("ccache"));
69+
EXPECT_TRUE(ToolWrapper::is_ccache_call("sccache"));
6970
}
7071

7172
TEST(ToolWrapper, is_ccache_query) {
7273
EXPECT_TRUE(ToolWrapper::is_ccache_query({"ccache"}));
7374
EXPECT_TRUE(ToolWrapper::is_ccache_query({"ccache", "-c"}));
7475
EXPECT_TRUE(ToolWrapper::is_ccache_query({"ccache", "--cleanup"}));
76+
EXPECT_TRUE(ToolWrapper::is_ccache_query({"sccache"}));
77+
EXPECT_TRUE(ToolWrapper::is_ccache_query({"sccache", "-s"}));
78+
EXPECT_TRUE(ToolWrapper::is_ccache_query({"sccache", "-h"}));
7579

7680
EXPECT_FALSE(ToolWrapper::is_ccache_query({"ccache", "cc", "-c"}));
81+
EXPECT_FALSE(ToolWrapper::is_ccache_query({"sccache", "cc", "-c"}));
7782
}
7883

7984
TEST(ToolWrapper, is_distcc_call) {
@@ -90,13 +95,13 @@ namespace {
9095
}
9196

9297
TEST(ToolWrapper, is_distcc_query) {
93-
EXPECT_TRUE(ToolWrapper::is_ccache_query({"distcc"}));
94-
EXPECT_TRUE(ToolWrapper::is_ccache_query({"distcc", "--help"}));
95-
EXPECT_TRUE(ToolWrapper::is_ccache_query({"distcc", "--show-hosts"}));
96-
EXPECT_TRUE(ToolWrapper::is_ccache_query({"distcc", "-j"}));
98+
EXPECT_TRUE(ToolWrapper::is_distcc_query({"distcc"}));
99+
EXPECT_TRUE(ToolWrapper::is_distcc_query({"distcc", "--help"}));
100+
EXPECT_TRUE(ToolWrapper::is_distcc_query({"distcc", "--show-hosts"}));
101+
EXPECT_TRUE(ToolWrapper::is_distcc_query({"distcc", "-j"}));
97102

98-
EXPECT_FALSE(ToolWrapper::is_ccache_query({"distcc", "cc", "--help"}));
99-
EXPECT_FALSE(ToolWrapper::is_ccache_query({"distcc", "cc", "-c"}));
103+
EXPECT_FALSE(ToolWrapper::is_distcc_query({"distcc", "cc", "--help"}));
104+
EXPECT_FALSE(ToolWrapper::is_distcc_query({"distcc", "cc", "-c"}));
100105
}
101106

102107
TEST(ToolWrapper, remove_wrapper) {

0 commit comments

Comments
 (0)