1 # Check the basic discovery process, including a sub-suite.
3 # RUN: %{lit} %{inputs}/discovery \
4 # RUN: -j 1 --debug --show-tests --show-suites \
5 # RUN: -v > %t.out 2> %t.err
6 # RUN: FileCheck --check-prefix=CHECK-BASIC-OUT < %t.out %s
7 # RUN: FileCheck --check-prefix=CHECK-BASIC-ERR < %t.err %s
9 # CHECK-BASIC-ERR: loading suite config '{{.*(/|\\\\)discovery(/|\\\\)lit.cfg}}'
10 # CHECK-BASIC-ERR-DAG: loading suite config '{{.*(/|\\\\)discovery(/|\\\\)subsuite(/|\\\\)lit.cfg}}'
11 # CHECK-BASIC-ERR-DAG: loading local config '{{.*(/|\\\\)discovery(/|\\\\)subdir(/|\\\\)lit.local.cfg}}'
13 # CHECK-BASIC-OUT: -- Test Suites --
14 # CHECK-BASIC-OUT: sub-suite - 2 tests
15 # CHECK-BASIC-OUT: Source Root: {{.*[/\\]discovery[/\\]subsuite$}}
16 # CHECK-BASIC-OUT: Exec Root : {{.*[/\\]discovery[/\\]subsuite$}}
17 # CHECK-BASIC-OUT: top-level-suite - 3 tests
18 # CHECK-BASIC-OUT: Source Root: {{.*[/\\]discovery$}}
19 # CHECK-BASIC-OUT: Exec Root : {{.*[/\\]discovery$}}
21 # CHECK-BASIC-OUT: -- Available Tests --
22 # CHECK-BASIC-OUT: sub-suite :: test-one
23 # CHECK-BASIC-OUT: sub-suite :: test-two
24 # CHECK-BASIC-OUT: top-level-suite :: subdir/test-three
25 # CHECK-BASIC-OUT: top-level-suite :: test-one
26 # CHECK-BASIC-OUT: top-level-suite :: test-two
28 # Check discovery when providing the special builtin 'config_map'
29 # RUN: %{python} %{inputs}/config-map-discovery/driver.py \
30 # RUN: %{inputs}/config-map-discovery/main-config/lit.cfg \
31 # RUN: %{inputs}/config-map-discovery/lit.alt.cfg \
32 # RUN: --threads=1 --debug --show-tests --show-suites > %t.out 2> %t.err
33 # RUN: FileCheck --check-prefix=CHECK-CONFIG-MAP-OUT < %t.out %s
34 # RUN: FileCheck --check-prefix=CHECK-CONFIG-MAP-ERR < %t.err %s
36 # CHECK-CONFIG-MAP-OUT-NOT: ERROR: lit.cfg invoked
37 # CHECK-CONFIG-MAP-OUT: -- Test Suites --
38 # CHECK-CONFIG-MAP-OUT: config-map - 2 tests
39 # CHECK-CONFIG-MAP-OUT: Source Root: {{.*[/\\]config-map-discovery[/\\]tests}}
40 # CHECK-CONFIG-MAP-OUT: Exec Root : {{.*[/\\]tests[/\\]Inputs[/\\]config-map-discovery}}
41 # CHECK-CONFIG-MAP-OUT: -- Available Tests --
42 # CHECK-CONFIG-MAP-OUT-NOT: invalid-test.txt
43 # CHECK-CONFIG-MAP-OUT: config-map :: test1.txt
44 # CHECK-CONFIG-MAP-OUT: config-map :: test2.txt
46 # CHECK-CONFIG-MAP-ERR: loading suite config '{{.*}}lit.alt.cfg'
47 # CHECK-CONFIG-MAP-ERR: loaded config '{{.*}}lit.alt.cfg'
48 # CHECK-CONFIG-MAP-ERR: resolved input '{{.*(/|\\\\)config-map-discovery(/|\\\\)main-config}}' to 'config-map'::()
51 # Check discovery when exact test names are given.
54 # RUN: %{inputs}/discovery/subdir/test-three.py \
55 # RUN: %{inputs}/discovery/subsuite/test-one.txt \
56 # RUN: -j 1 --show-tests --show-suites -v > %t.out
57 # RUN: FileCheck --check-prefix=CHECK-EXACT-TEST < %t.out %s
59 # CHECK-EXACT-TEST: -- Available Tests --
60 # CHECK-EXACT-TEST: sub-suite :: test-one
61 # CHECK-EXACT-TEST: top-level-suite :: subdir/test-three
63 # Check discovery when config files end in .py
64 # RUN: %{lit} %{inputs}/py-config-discovery \
65 # RUN: -j 1 --debug --show-tests --show-suites \
66 # RUN: -v > %t.out 2> %t.err
67 # RUN: FileCheck --check-prefix=CHECK-PYCONFIG-OUT < %t.out %s
68 # RUN: FileCheck --check-prefix=CHECK-PYCONFIG-ERR < %t.err %s
70 # CHECK-PYCONFIG-ERR: loading suite config '{{.*(/|\\\\)py-config-discovery(/|\\\\)lit.site.cfg.py}}'
71 # CHECK-PYCONFIG-ERR: load_config from '{{.*(/|\\\\)discovery(/|\\\\)lit.cfg}}'
72 # CHECK-PYCONFIG-ERR: loaded config '{{.*(/|\\\\)discovery(/|\\\\)lit.cfg}}'
73 # CHECK-PYCONFIG-ERR: loaded config '{{.*(/|\\\\)py-config-discovery(/|\\\\)lit.site.cfg.py}}'
74 # CHECK-PYCONFIG-ERR-DAG: loading suite config '{{.*(/|\\\\)discovery(/|\\\\)subsuite(/|\\\\)lit.cfg}}'
75 # CHECK-PYCONFIG-ERR-DAG: loading local config '{{.*(/|\\\\)discovery(/|\\\\)subdir(/|\\\\)lit.local.cfg}}'
77 # CHECK-PYCONFIG-OUT: -- Test Suites --
78 # CHECK-PYCONFIG-OUT: sub-suite - 2 tests
79 # CHECK-PYCONFIG-OUT: Source Root: {{.*[/\\]discovery[/\\]subsuite$}}
80 # CHECK-PYCONFIG-OUT: Exec Root : {{.*[/\\]discovery[/\\]subsuite$}}
81 # CHECK-PYCONFIG-OUT: top-level-suite - 3 tests
82 # CHECK-PYCONFIG-OUT: Source Root: {{.*[/\\]discovery$}}
83 # CHECK-PYCONFIG-OUT: Exec Root : {{.*[/\\]py-config-discovery$}}
85 # CHECK-PYCONFIG-OUT: -- Available Tests --
86 # CHECK-PYCONFIG-OUT: sub-suite :: test-one
87 # CHECK-PYCONFIG-OUT: sub-suite :: test-two
88 # CHECK-PYCONFIG-OUT: top-level-suite :: subdir/test-three
89 # CHECK-PYCONFIG-OUT: top-level-suite :: test-one
90 # CHECK-PYCONFIG-OUT: top-level-suite :: test-two
92 # Check discovery when using an exec path.
94 # RUN: %{lit} %{inputs}/exec-discovery \
95 # RUN: -j 1 --debug --show-tests --show-suites \
96 # RUN: -v > %t.out 2> %t.err
97 # RUN: FileCheck --check-prefix=CHECK-ASEXEC-OUT < %t.out %s
98 # RUN: FileCheck --check-prefix=CHECK-ASEXEC-ERR < %t.err %s
100 # CHECK-ASEXEC-ERR: loading suite config '{{.*(/|\\\\)exec-discovery(/|\\\\)lit.site.cfg}}'
101 # CHECK-ASEXEC-ERR: load_config from '{{.*(/|\\\\)discovery(/|\\\\)lit.cfg}}'
102 # CHECK-ASEXEC-ERR: loaded config '{{.*(/|\\\\)discovery(/|\\\\)lit.cfg}}'
103 # CHECK-ASEXEC-ERR: loaded config '{{.*(/|\\\\)exec-discovery(/|\\\\)lit.site.cfg}}'
104 # CHECK-ASEXEC-ERR-DAG: loading suite config '{{.*(/|\\\\)discovery(/|\\\\)subsuite(/|\\\\)lit.cfg}}'
105 # CHECK-ASEXEC-ERR-DAG: loading local config '{{.*(/|\\\\)discovery(/|\\\\)subdir(/|\\\\)lit.local.cfg}}'
107 # CHECK-ASEXEC-OUT: -- Test Suites --
108 # CHECK-ASEXEC-OUT: sub-suite - 2 tests
109 # CHECK-ASEXEC-OUT: Source Root: {{.*[/\\]discovery[/\\]subsuite$}}
110 # CHECK-ASEXEC-OUT: Exec Root : {{.*[/\\]discovery[/\\]subsuite$}}
111 # CHECK-ASEXEC-OUT: top-level-suite - 3 tests
112 # CHECK-ASEXEC-OUT: Source Root: {{.*[/\\]discovery$}}
113 # CHECK-ASEXEC-OUT: Exec Root : {{.*[/\\]exec-discovery$}}
115 # CHECK-ASEXEC-OUT: -- Available Tests --
116 # CHECK-ASEXEC-OUT: sub-suite :: test-one
117 # CHECK-ASEXEC-OUT: sub-suite :: test-two
118 # CHECK-ASEXEC-OUT: top-level-suite :: subdir/test-three
119 # CHECK-ASEXEC-OUT: top-level-suite :: test-one
120 # CHECK-ASEXEC-OUT: top-level-suite :: test-two
122 # Check discovery when exact test names are given.
124 # FIXME: Note that using a path into a subsuite doesn't work correctly here.
127 # RUN: %{inputs}/exec-discovery/subdir/test-three.py \
128 # RUN: -j 1 --show-tests --show-suites -v > %t.out
129 # RUN: FileCheck --check-prefix=CHECK-ASEXEC-EXACT-TEST < %t.out %s
131 # CHECK-ASEXEC-EXACT-TEST: -- Available Tests --
132 # CHECK-ASEXEC-EXACT-TEST: top-level-suite :: subdir/test-three
135 # Check that we don't recurse infinitely when loading an site specific test
136 # suite located inside the test source root.
139 # RUN: %{inputs}/exec-discovery-in-tree/obj/ \
140 # RUN: -j 1 --show-tests --show-suites -v > %t.out
141 # RUN: FileCheck --check-prefix=CHECK-ASEXEC-INTREE < %t.out %s
143 # Try it again after cd'ing into the test suite using a short relative path.
145 # RUN: cd %{inputs}/exec-discovery-in-tree/obj/
147 # RUN: -j 1 --show-tests --show-suites -v > %t.out
148 # RUN: FileCheck --check-prefix=CHECK-ASEXEC-INTREE < %t.out %s
150 # CHECK-ASEXEC-INTREE: exec-discovery-in-tree-suite - 1 tests
151 # CHECK-ASEXEC-INTREE-NEXT: Source Root: {{.*[/\\]exec-discovery-in-tree$}}
152 # CHECK-ASEXEC-INTREE-NEXT: Exec Root : {{.*[/\\]exec-discovery-in-tree[/\\]obj$}}
153 # CHECK-ASEXEC-INTREE-NEXT: -- Available Tests --
154 # CHECK-ASEXEC-INTREE-NEXT: exec-discovery-in-tree-suite :: test-one