stale_metrics_files_test.sh 1.3 KB

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