Lukacs T. Berki | 3b730c4 | 2021-04-08 13:21:13 +0200 | [diff] [blame] | 1 | #!/bin/bash -eu |
| 2 | |
Rupert Shuttleworth | 2a4fc3e | 2021-04-21 07:10:09 -0400 | [diff] [blame] | 3 | set -o pipefail |
| 4 | |
Lukacs T. Berki | 3b730c4 | 2021-04-08 13:21:13 +0200 | [diff] [blame] | 5 | # This test exercises mixed builds where Soong and Bazel cooperate in building |
| 6 | # Android. |
| 7 | # |
| 8 | # When the execroot is deleted, the Bazel server process will automatically |
| 9 | # terminate itself. |
| 10 | |
| 11 | source "$(dirname "$0")/lib.sh" |
| 12 | |
Lukacs T. Berki | 3b730c4 | 2021-04-08 13:21:13 +0200 | [diff] [blame] | 13 | function test_bazel_smoke { |
| 14 | setup |
Lukacs T. Berki | 686965b | 2021-04-14 16:40:03 +0200 | [diff] [blame] | 15 | create_mock_bazel |
Lukacs T. Berki | 3b730c4 | 2021-04-08 13:21:13 +0200 | [diff] [blame] | 16 | |
Sam Delmerico | 73d6bcc | 2022-09-20 15:31:37 -0400 | [diff] [blame] | 17 | run_soong bp2build |
| 18 | |
| 19 | run_bazel info --config=bp2build |
Lukacs T. Berki | 3b730c4 | 2021-04-08 13:21:13 +0200 | [diff] [blame] | 20 | } |
| 21 | |
Lukacs T. Berki | c541cd2 | 2022-10-26 07:26:50 +0000 | [diff] [blame^] | 22 | function test_add_irrelevant_file { |
| 23 | setup |
| 24 | create_mock_bazel |
| 25 | |
| 26 | mkdir -p soong_tests/a/b |
| 27 | touch soong_tests/a/b/c.txt |
| 28 | cat > soong_tests/a/b/Android.bp <<'EOF' |
| 29 | filegroup { |
| 30 | name: "c", |
| 31 | srcs: ["c.txt"], |
| 32 | bazel_module: { bp2build_available: true }, |
| 33 | } |
| 34 | EOF |
| 35 | |
| 36 | run_soong --bazel-mode nothing |
| 37 | |
| 38 | if [[ ! -e out/soong/bp2build/soong_tests/a/b/BUILD.bazel ]]; then |
| 39 | fail "BUILD.bazel not created" |
| 40 | fi |
| 41 | |
| 42 | if [[ ! -e out/soong/build.ninja ]]; then |
| 43 | fail "build.ninja not created" |
| 44 | fi |
| 45 | |
| 46 | local mtime_build1=$(stat -c "%y" out/soong/bp2build/soong_tests/a/b/BUILD.bazel) |
| 47 | local mtime_ninja1=$(stat -c "%y" out/soong/build.ninja) |
| 48 | |
| 49 | touch soong_tests/a/irrelevant.txt |
| 50 | |
| 51 | run_soong --bazel-mode nothing |
| 52 | local mtime_build2=$(stat -c "%y" out/soong/bp2build/soong_tests/a/b/BUILD.bazel) |
| 53 | local mtime_ninja2=$(stat -c "%y" out/soong/build.ninja) |
| 54 | |
| 55 | if [[ "$mtime_build1" != "$mtime_build2" ]]; then |
| 56 | fail "BUILD.bazel was generated" |
| 57 | fi |
| 58 | |
| 59 | if [[ "$mtime_ninja1" != "$mtime_ninja2" ]]; then |
| 60 | fail "build.ninja was regenerated" |
| 61 | fi |
| 62 | |
| 63 | if [[ ! -e out/soong/workspace/soong_tests/a/irrelevant.txt ]]; then |
| 64 | fail "new file was not symlinked" |
| 65 | fi |
| 66 | } |
| 67 | |
| 68 | test_add_irrelevant_file |
Lukacs T. Berki | 3b730c4 | 2021-04-08 13:21:13 +0200 | [diff] [blame] | 69 | test_bazel_smoke |