xref: /aosp_15_r20/build/make/tools/exercise_compare_builds (revision 9e94795a3d4ef5c1d47486f9a02bb378756cea8a)
1*9e94795aSAndroid Build Coastguard Worker#!/bin/bash
2*9e94795aSAndroid Build Coastguard Worker# Tests for compare_builds.py
3*9e94795aSAndroid Build Coastguard Worker# usage (from root of source tree):
4*9e94795aSAndroid Build Coastguard Worker#   build/make/tools/exercise_compare_builds
5*9e94795aSAndroid Build Coastguard Worker
6*9e94795aSAndroid Build Coastguard WorkerHIDE_BUILD_OUTPUT=--hide-build-output
7*9e94795aSAndroid Build Coastguard Worker
8*9e94795aSAndroid Build Coastguard Workerfunction run()
9*9e94795aSAndroid Build Coastguard Worker{
10*9e94795aSAndroid Build Coastguard Worker    echo
11*9e94795aSAndroid Build Coastguard Worker    echo
12*9e94795aSAndroid Build Coastguard Worker    echo ============================================================
13*9e94795aSAndroid Build Coastguard Worker    echo $1
14*9e94795aSAndroid Build Coastguard Worker    shift
15*9e94795aSAndroid Build Coastguard Worker    echo ./build/make/tools/compare_builds.py $HIDE_BUILD_OUTPUT --target incidentd $@
16*9e94795aSAndroid Build Coastguard Worker    echo ============================================================
17*9e94795aSAndroid Build Coastguard Worker    time ./build/make/tools/compare_builds.py $HIDE_BUILD_OUTPUT --target incidentd $@
18*9e94795aSAndroid Build Coastguard Worker}
19*9e94795aSAndroid Build Coastguard Worker
20*9e94795aSAndroid Build Coastguard Workerfunction run_tests()
21*9e94795aSAndroid Build Coastguard Worker{
22*9e94795aSAndroid Build Coastguard Worker    # These should error out
23*9e94795aSAndroid Build Coastguard Worker
24*9e94795aSAndroid Build Coastguard Worker    run "Incremental build,  Separate work dirs  (invalid flag combo, should error out)" \
25*9e94795aSAndroid Build Coastguard Worker        --incremental --detect-embedded-paths
26*9e94795aSAndroid Build Coastguard Worker    run "Use out/ as work dir, Separate work dirs  (invalid flag combo, should error out)" \
27*9e94795aSAndroid Build Coastguard Worker        --no-check-out-dir --detect-embedded-paths
28*9e94795aSAndroid Build Coastguard Worker
29*9e94795aSAndroid Build Coastguard Worker    # Each grouping starts with a build, and the following ones use --no-build to save time
30*9e94795aSAndroid Build Coastguard Worker
31*9e94795aSAndroid Build Coastguard Worker    run "REBUILD: Full builds,  Same work dir,  Whole out dir"
32*9e94795aSAndroid Build Coastguard Worker    run "Full builds,  Same work dir,  Default subdirs" \
33*9e94795aSAndroid Build Coastguard Worker        --no-build --subdirs
34*9e94795aSAndroid Build Coastguard Worker    run "Full builds,  Same work dir,  Only $PRODUCT_OUT/system" \
35*9e94795aSAndroid Build Coastguard Worker        --no-build --subdirs system
36*9e94795aSAndroid Build Coastguard Worker
37*9e94795aSAndroid Build Coastguard Worker    run "REBUILD: Full builds,  Use out/ as work dir,  Whole out dir" \
38*9e94795aSAndroid Build Coastguard Worker        --no-check-out-dir
39*9e94795aSAndroid Build Coastguard Worker    run "Full builds,  Use out/ as work dir,  Default subdirs" \
40*9e94795aSAndroid Build Coastguard Worker        --no-build --no-check-out-dir --subdirs
41*9e94795aSAndroid Build Coastguard Worker    run "Full builds,  Use out/ as work dir,  Only $PRODUCT_OUT/system" \
42*9e94795aSAndroid Build Coastguard Worker        --no-build --no-check-out-dir --subdirs system
43*9e94795aSAndroid Build Coastguard Worker
44*9e94795aSAndroid Build Coastguard Worker    run "REBUILD: Full builds,  Separate work dirs,  Whole out dir" \
45*9e94795aSAndroid Build Coastguard Worker        --detect-embedded-paths
46*9e94795aSAndroid Build Coastguard Worker    run "Full builds,  Separate work dirs,  Default subdirs" \
47*9e94795aSAndroid Build Coastguard Worker        --no-build --detect-embedded-paths --subdirs
48*9e94795aSAndroid Build Coastguard Worker    run "Full builds,  Separate work dirs,  Only $PRODUCT_OUT/system" \
49*9e94795aSAndroid Build Coastguard Worker        --no-build --detect-embedded-paths --subdirs system
50*9e94795aSAndroid Build Coastguard Worker
51*9e94795aSAndroid Build Coastguard Worker    run "REBUILD: Incremental build,  Same work dir,  Whole out dir" \
52*9e94795aSAndroid Build Coastguard Worker        --incremental
53*9e94795aSAndroid Build Coastguard Worker    run "Incremental build,  Same work dir,  Default subdirs" \
54*9e94795aSAndroid Build Coastguard Worker        --no-build --incremental --subdirs
55*9e94795aSAndroid Build Coastguard Worker    run "Incremental build,  Same work dir,  Only $PRODUCT_OUT/system" \
56*9e94795aSAndroid Build Coastguard Worker        --no-build --incremental --subdirs system
57*9e94795aSAndroid Build Coastguard Worker
58*9e94795aSAndroid Build Coastguard Worker    run "REBUILD: Incremental build,  Use out/ as work dir,  Whole out dir" \
59*9e94795aSAndroid Build Coastguard Worker        --incremental --no-check-out-dir
60*9e94795aSAndroid Build Coastguard Worker    run "Incremental build,  Use out/ as work dir,  Default subdirs" \
61*9e94795aSAndroid Build Coastguard Worker        --no-build --incremental --no-check-out-dir --subdirs
62*9e94795aSAndroid Build Coastguard Worker    run "Incremental build,  Use out/ as work dir,  Only $PRODUCT_OUT/system" \
63*9e94795aSAndroid Build Coastguard Worker        --no-build --incremental --no-check-out-dir --subdirs system
64*9e94795aSAndroid Build Coastguard Worker}
65*9e94795aSAndroid Build Coastguard Worker
66*9e94795aSAndroid Build Coastguard Workertime run_tests 2>&1 | tee exercise_compare_builds.txt
67