Răsfoiți Sursa

Add coverge tools

rexim 2 ani în urmă
părinte
comite
efb447b062
3 a modificat fișierele cu 27 adăugiri și 7 ștergeri
  1. 3 1
      .gitignore
  2. 14 6
      README.md
  3. 10 0
      coverage.sh

+ 3 - 1
.gitignore

@@ -1 +1,3 @@
-test_glob
+test_glob
+*.profdata
+*.profraw

+ 14 - 6
README.md

@@ -1,11 +1,5 @@
 # Simple Header-Only Implementation of Glob Matching
 
-## Testing
-
-```console
-$ ./build.sh
-$ ./test_glob
-```
 ## Usage
 
 ```c
@@ -25,3 +19,17 @@ int main(void)
     return 0;
 }
 ```
+
+## Testing
+
+```console
+$ ./build.sh
+$ ./test_glob
+```
+## Coverage
+
+Very useful to see what's not tested yet. Requires [clang](https://clang.llvm.org/).
+
+```console
+$ ./coverage.sh
+```

+ 10 - 0
coverage.sh

@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -xe
+
+# Source-based Code Coverage with Clang: https://clang.llvm.org/docs/SourceBasedCodeCoverage.html
+
+clang -Wall -Wextra -Wswitch-enum -fprofile-instr-generate -fcoverage-mapping -ggdb -o test_glob test_glob.c ConvertUTF.c
+./test_glob
+llvm-profdata merge -sparse ./default.profraw -o default.profdata
+llvm-cov show ./test_glob -instr-profile=default.profdata glob.h