]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
test: Add test for --serialize-diagnostics
authorJoel Rosdahl <joel@rosdahl.net>
Tue, 4 Nov 2025 20:47:59 +0000 (21:47 +0100)
committerJoel Rosdahl <joel@rosdahl.net>
Wed, 12 Nov 2025 20:14:01 +0000 (21:14 +0100)
test/suites/base.bash

index 80f9c7f30674afc39a9d6d41bd57c1c244403f04..0074ebf72827fd05527a4241e8e092584ed69e04 100644 (file)
@@ -1341,6 +1341,32 @@ EOF
     $CCACHE_COMPILE -Wall -W -c stderr.c 2>stderr.txt
     expect_equal_text_content reference_stderr.txt stderr.txt
 
+    # -------------------------------------------------------------------------
+    if $COMPILER --serialize-diagnostics probe.dia -c test1.c 2>/dev/null; then
+        TEST "--serialize-diagnostics"
+
+        cat <<EOF >stderr.c
+int stderr(void)
+{
+  // Trigger warning by having no return statement.
+}
+EOF
+        $COMPILER -c -Wall -W -c stderr.c --serialize-diagnostics reference.dia 2>reference_stderr.txt
+
+        $CCACHE_COMPILE -Wall -W -c stderr.c --serialize-diagnostics test_1.dia 2>stderr_1.txt
+        expect_stat preprocessed_cache_hit 0
+        expect_stat cache_miss 1
+
+        $CCACHE_COMPILE -Wall -W -c stderr.c --serialize-diagnostics test_2.dia 2>stderr_2.txt
+        expect_stat preprocessed_cache_hit 1
+        expect_stat cache_miss 1
+
+        expect_equal_text_content reference_stderr.txt stderr_1.txt
+        expect_equal_text_content reference_stderr.txt stderr_2.txt
+        expect_equal_text_content reference.dia test_1.dia
+        expect_equal_text_content reference.dia test_2.dia
+    fi
+
     # -------------------------------------------------------------------------
     TEST "Line number in compiler warning"