]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
test: Add MSVC integrtion test for header change
authorJoel Rosdahl <joel@rosdahl.net>
Sat, 1 Aug 2026 13:09:53 +0000 (15:09 +0200)
committerJoel Rosdahl <joel@rosdahl.net>
Sat, 1 Aug 2026 13:11:01 +0000 (15:11 +0200)
test/msvc/test_basic_functionality.py

index af73bbb76e830635e9cda5d2bd5afc79087b620e..19c98a08600e3c6775192aaf45cecdf22e4f828f 100644 (file)
@@ -34,6 +34,25 @@ def test_define_change_is_miss(ccache_test):
     assert stats_2["total_hit"] == 0
 
 
+def test_header_change_is_miss(ccache_test):
+    header = ccache_test.workdir / "test.h"
+    header.write_text("#define VALUE 1\n")
+    source = ccache_test.workdir / "test.c"
+    source.write_text('#include "test.h"\nint x = VALUE;\n')
+
+    ccache_test.compile(["/c", "test.c"])
+    stats_1 = ccache_test.stats()
+    assert stats_1["miss"] == 1
+    assert stats_1["total_hit"] == 0
+
+    header.write_text("#define VALUE 2\n")
+    ccache_test.compile(["/c", "test.c"])
+    stats_2 = ccache_test.stats()
+    assert stats_2["miss"] == 2
+    assert stats_2["direct_hit"] == 0
+    assert stats_2["total_hit"] == 0
+
+
 def test_basedir_normalizes_paths(ccache_test):
     ccache_test.env["CCACHE_NOHASHDIR"] = "1"
     ccache_test.env["CCACHE_BASEDIR"] = str(ccache_test.workdir)