xref: /aosp_15_r20/external/llvm/utils/lit/tests/discovery.py (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# Check the basic discovery process, including a sub-suite.
2*9880d681SAndroid Build Coastguard Worker#
3*9880d681SAndroid Build Coastguard Worker# RUN: %{lit} %{inputs}/discovery \
4*9880d681SAndroid Build Coastguard Worker# RUN:   -j 1 --debug --show-tests --show-suites \
5*9880d681SAndroid Build Coastguard Worker# RUN:   -v > %t.out 2> %t.err
6*9880d681SAndroid Build Coastguard Worker# RUN: FileCheck --check-prefix=CHECK-BASIC-OUT < %t.out %s
7*9880d681SAndroid Build Coastguard Worker# RUN: FileCheck --check-prefix=CHECK-BASIC-ERR < %t.err %s
8*9880d681SAndroid Build Coastguard Worker#
9*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-ERR: loading suite config '{{.*}}/discovery/lit.cfg'
10*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-ERR-DAG: loading suite config '{{.*}}/discovery/subsuite/lit.cfg'
11*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-ERR-DAG: loading local config '{{.*}}/discovery/subdir/lit.local.cfg'
12*9880d681SAndroid Build Coastguard Worker#
13*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-OUT: -- Test Suites --
14*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-OUT:   sub-suite - 2 tests
15*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-OUT:     Source Root: {{.*/discovery/subsuite$}}
16*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-OUT:     Exec Root  : {{.*/discovery/subsuite$}}
17*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-OUT:   top-level-suite - 3 tests
18*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-OUT:     Source Root: {{.*/discovery$}}
19*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-OUT:     Exec Root  : {{.*/discovery$}}
20*9880d681SAndroid Build Coastguard Worker#
21*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-OUT: -- Available Tests --
22*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-OUT: sub-suite :: test-one
23*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-OUT: sub-suite :: test-two
24*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-OUT: top-level-suite :: subdir/test-three
25*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-OUT: top-level-suite :: test-one
26*9880d681SAndroid Build Coastguard Worker# CHECK-BASIC-OUT: top-level-suite :: test-two
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Worker
29*9880d681SAndroid Build Coastguard Worker# Check discovery when exact test names are given.
30*9880d681SAndroid Build Coastguard Worker#
31*9880d681SAndroid Build Coastguard Worker# RUN: %{lit} \
32*9880d681SAndroid Build Coastguard Worker# RUN:     %{inputs}/discovery/subdir/test-three.py \
33*9880d681SAndroid Build Coastguard Worker# RUN:     %{inputs}/discovery/subsuite/test-one.txt \
34*9880d681SAndroid Build Coastguard Worker# RUN:   -j 1 --show-tests --show-suites -v > %t.out
35*9880d681SAndroid Build Coastguard Worker# RUN: FileCheck --check-prefix=CHECK-EXACT-TEST < %t.out %s
36*9880d681SAndroid Build Coastguard Worker#
37*9880d681SAndroid Build Coastguard Worker# CHECK-EXACT-TEST: -- Available Tests --
38*9880d681SAndroid Build Coastguard Worker# CHECK-EXACT-TEST: sub-suite :: test-one
39*9880d681SAndroid Build Coastguard Worker# CHECK-EXACT-TEST: top-level-suite :: subdir/test-three
40*9880d681SAndroid Build Coastguard Worker
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard Worker# Check discovery when using an exec path.
43*9880d681SAndroid Build Coastguard Worker#
44*9880d681SAndroid Build Coastguard Worker# RUN: %{lit} %{inputs}/exec-discovery \
45*9880d681SAndroid Build Coastguard Worker# RUN:   -j 1 --debug --show-tests --show-suites \
46*9880d681SAndroid Build Coastguard Worker# RUN:   -v > %t.out 2> %t.err
47*9880d681SAndroid Build Coastguard Worker# RUN: FileCheck --check-prefix=CHECK-ASEXEC-OUT < %t.out %s
48*9880d681SAndroid Build Coastguard Worker# RUN: FileCheck --check-prefix=CHECK-ASEXEC-ERR < %t.err %s
49*9880d681SAndroid Build Coastguard Worker#
50*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-ERR: loading suite config '{{.*}}/exec-discovery/lit.site.cfg'
51*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-ERR: load_config from '{{.*}}/discovery/lit.cfg'
52*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-ERR: loaded config '{{.*}}/discovery/lit.cfg'
53*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-ERR: loaded config '{{.*}}/exec-discovery/lit.site.cfg'
54*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-ERR-DAG: loading suite config '{{.*}}/discovery/subsuite/lit.cfg'
55*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-ERR-DAG: loading local config '{{.*}}/discovery/subdir/lit.local.cfg'
56*9880d681SAndroid Build Coastguard Worker#
57*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-OUT: -- Test Suites --
58*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-OUT:   sub-suite - 2 tests
59*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-OUT:     Source Root: {{.*/discovery/subsuite$}}
60*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-OUT:     Exec Root  : {{.*/discovery/subsuite$}}
61*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-OUT:   top-level-suite - 3 tests
62*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-OUT:     Source Root: {{.*/discovery$}}
63*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-OUT:     Exec Root  : {{.*/exec-discovery$}}
64*9880d681SAndroid Build Coastguard Worker#
65*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-OUT: -- Available Tests --
66*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-OUT: sub-suite :: test-one
67*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-OUT: sub-suite :: test-two
68*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-OUT: top-level-suite :: subdir/test-three
69*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-OUT: top-level-suite :: test-one
70*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-OUT: top-level-suite :: test-two
71*9880d681SAndroid Build Coastguard Worker
72*9880d681SAndroid Build Coastguard Worker# Check discovery when exact test names are given.
73*9880d681SAndroid Build Coastguard Worker#
74*9880d681SAndroid Build Coastguard Worker# FIXME: Note that using a path into a subsuite doesn't work correctly here.
75*9880d681SAndroid Build Coastguard Worker#
76*9880d681SAndroid Build Coastguard Worker# RUN: %{lit} \
77*9880d681SAndroid Build Coastguard Worker# RUN:     %{inputs}/exec-discovery/subdir/test-three.py \
78*9880d681SAndroid Build Coastguard Worker# RUN:   -j 1 --show-tests --show-suites -v > %t.out
79*9880d681SAndroid Build Coastguard Worker# RUN: FileCheck --check-prefix=CHECK-ASEXEC-EXACT-TEST < %t.out %s
80*9880d681SAndroid Build Coastguard Worker#
81*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-EXACT-TEST: -- Available Tests --
82*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-EXACT-TEST: top-level-suite :: subdir/test-three
83*9880d681SAndroid Build Coastguard Worker
84*9880d681SAndroid Build Coastguard Worker
85*9880d681SAndroid Build Coastguard Worker# Check that we don't recurse infinitely when loading an site specific test
86*9880d681SAndroid Build Coastguard Worker# suite located inside the test source root.
87*9880d681SAndroid Build Coastguard Worker#
88*9880d681SAndroid Build Coastguard Worker# RUN: %{lit} \
89*9880d681SAndroid Build Coastguard Worker# RUN:     %{inputs}/exec-discovery-in-tree/obj/ \
90*9880d681SAndroid Build Coastguard Worker# RUN:   -j 1 --show-tests --show-suites -v > %t.out
91*9880d681SAndroid Build Coastguard Worker# RUN: FileCheck --check-prefix=CHECK-ASEXEC-INTREE < %t.out %s
92*9880d681SAndroid Build Coastguard Worker#
93*9880d681SAndroid Build Coastguard Worker#      CHECK-ASEXEC-INTREE:   exec-discovery-in-tree-suite - 1 tests
94*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-INTREE-NEXT:     Source Root: {{.*/exec-discovery-in-tree$}}
95*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-INTREE-NEXT:     Exec Root  : {{.*/exec-discovery-in-tree/obj$}}
96*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-INTREE-NEXT: -- Available Tests --
97*9880d681SAndroid Build Coastguard Worker# CHECK-ASEXEC-INTREE-NEXT: exec-discovery-in-tree-suite :: test-one
98