MarkDacek | 5040c36 | 2023-06-07 18:03:06 +0000 | [diff] [blame] | 1 | #!/bin/bash -e |
| 2 | |
| 3 | # This test ensures that stale metrics files are deleted after each run |
| 4 | |
| 5 | # Run bazel |
| 6 | # Note - bp2build metrics are present after clean runs, only |
| 7 | build/soong/soong_ui.bash --make-mode clean |
| 8 | build/bazel/bin/b build libcore:all |
| 9 | soong_build_metrics_files=("out/soong_build_metrics.pb" "out/build_progress.pb" "out/soong_metrics" "out/bp2build_metrics.pb") |
| 10 | bazel_build_metrics_files=("out/bazel_metrics.pb" "out/build_progress.pb" "out/soong_metrics" "out/bp2build_metrics.pb") |
| 11 | |
| 12 | # Ensure bazel metrics files are present |
| 13 | for i in ${!bazel_build_metrics_files[@]}; |
| 14 | do |
| 15 | file=${bazel_build_metrics_files[$i]} |
| 16 | if [[ ! -f $file ]]; then |
| 17 | echo "Missing metrics file for Bazel build " $file |
| 18 | exit 1 |
| 19 | fi |
| 20 | done |
| 21 | |
| 22 | |
| 23 | # Run a soong build |
| 24 | build/soong/soong_ui.bash --make-mode nothing |
| 25 | |
| 26 | for i in ${!soong_build_metrics_files[@]}; |
| 27 | do |
| 28 | file=${soong_build_metrics_files[$i]} |
| 29 | if [[ ! -f $file ]]; then |
| 30 | echo "Missing metrics file for Soong build " $file |
| 31 | exit 1 |
| 32 | fi |
| 33 | done |
| 34 | |
| 35 | # Ensure that bazel_metrics.pb is deleted |
| 36 | if [[ -f out/bazel_metrics.pb ]]; then |
| 37 | echo "Stale out/bazel_metrics.pb file detected" |
| 38 | exit 1 |
| 39 | fi |
| 40 | |
| 41 | # Run bazel again - to make sure that soong_build_metrics.pb gets deleted |
| 42 | build/bazel/bin/b build libcore:all |
| 43 | |
| 44 | if [[ -f out/soong_build_metrics.pb ]]; then |
| 45 | echo "Stale out/soong_build_metrics.pb file detected" |
| 46 | exit 1 |
| 47 | fi |