|
1 | 1 | #!/bin/bash
|
2 |
| -set -e |
3 |
| -set -x |
| 2 | +set -ex |
4 | 3 |
|
5 | 4 | # Parse command line arguments
|
6 | 5 | OUTPUT_DIR="coverage-report"
|
| 6 | +OUTPUT_CODECOV_JSON=0 |
7 | 7 | while [[ $# -gt 0 ]]; do
|
8 | 8 | case $1 in
|
9 | 9 | --output-dir)
|
10 | 10 | OUTPUT_DIR="$2"
|
11 | 11 | shift 2
|
12 | 12 | ;;
|
| 13 | + --output-codecov-json) |
| 14 | + OUTPUT_CODECOV_JSON=1 |
| 15 | + shift 1 |
| 16 | + ;; |
13 | 17 | *)
|
14 | 18 | echo "Unknown option: $1"
|
15 | 19 | echo "Usage: $0 [--output-dir OUTPUT_DIRECTORY]"
|
@@ -54,34 +58,12 @@ mkdir -p "$OUTPUT_DIR"
|
54 | 58 | export RUSTFLAGS="--cfg=fuzzing --cfg=secp256k1_fuzz --cfg=hashes_fuzz"
|
55 | 59 |
|
56 | 60 | # dont run this command when running in CI
|
57 |
| -if [ "$CI" != "true" ] && [ "$GITHUB_ACTIONS" != "true" ]; then |
| 61 | +if [ "$OUTPUT_CODECOV_JSON" = "0" ]; then |
58 | 62 | cargo llvm-cov --html --ignore-filename-regex "fuzz/" --output-dir "$OUTPUT_DIR"
|
59 |
| - |
60 |
| - # Check if coverage report was generated successfully |
61 |
| - # The report is generated in $OUTPUT_DIR/html/index.html when using --html --output-dir |
62 |
| - if [ ! -f "$OUTPUT_DIR/html/index.html" ]; then |
63 |
| - echo "Error: Failed to generate coverage report at $OUTPUT_DIR/html/index.html" |
64 |
| - echo "Contents of $OUTPUT_DIR:" |
65 |
| - ls -la "$OUTPUT_DIR" || echo "Directory $OUTPUT_DIR does not exist" |
66 |
| - if [ -d "$OUTPUT_DIR/html" ]; then |
67 |
| - echo "Contents of $OUTPUT_DIR/html:" |
68 |
| - ls -la "$OUTPUT_DIR/html" |
69 |
| - fi |
70 |
| - exit 1 |
71 |
| - fi |
72 | 63 | echo "Coverage report generated in $OUTPUT_DIR/html/index.html"
|
73 |
| -fi |
74 |
| - |
75 |
| -# Generate codecov JSON format if running in CI environment |
76 |
| -if [ "$CI" = "true" ] || [ "$GITHUB_ACTIONS" = "true" ]; then |
77 |
| - echo "CI environment detected, generating codecov JSON format..." |
| 64 | +else |
78 | 65 | cargo llvm-cov --codecov --ignore-filename-regex "fuzz/" --output-path "$OUTPUT_DIR/fuzz-codecov.json"
|
79 |
| - |
80 |
| - if [ -f "$OUTPUT_DIR/fuzz-codecov.json" ] && [[ "$OUTPUT_DIR" == *"target/"* ]]; then |
81 |
| - TARGET_DIR="../target" |
82 |
| - cp "$OUTPUT_DIR/fuzz-codecov.json" "$TARGET_DIR/fuzz-codecov.json" |
83 |
| - echo "Fuzz codecov report copied to $TARGET_DIR/fuzz-codecov.json" |
84 |
| - fi |
| 66 | + echo "Fuzz codecov report available at $OUTPUT_DIR/fuzz-codecov.json" |
85 | 67 | fi
|
86 | 68 |
|
87 | 69 |
|
|
0 commit comments