1 # Check the env command
3 # FIXME: this test depends on order of tests
4 # RUN: rm -f %{inputs}/shtest-env/.lit_test_times.txt
6 # RUN: not %{lit} -j 1 -a -v %{inputs}/shtest-env \
7 # RUN: | FileCheck -match-full-lines %s
11 # Make sure env commands are included in printed commands.
13 # CHECK: -- Testing: 16 tests{{.*}}
15 # CHECK: FAIL: shtest-env :: env-args-last-is-assign.txt ({{[^)]*}})
16 # CHECK: $ "env" "FOO=1"
17 # CHECK: Error: 'env' requires a subcommand
18 # CHECK: error: command failed with exit status: {{.*}}
20 # CHECK: FAIL: shtest-env :: env-args-last-is-u-arg.txt ({{[^)]*}})
21 # CHECK: $ "env" "-u" "FOO"
22 # CHECK: Error: 'env' requires a subcommand
23 # CHECK: error: command failed with exit status: {{.*}}
25 # CHECK: FAIL: shtest-env :: env-args-last-is-u.txt ({{[^)]*}})
27 # CHECK: Error: 'env' requires a subcommand
28 # CHECK: error: command failed with exit status: {{.*}}
30 # CHECK: FAIL: shtest-env :: env-args-nested-none.txt ({{[^)]*}})
31 # CHECK: $ "env" "env" "env"
32 # CHECK: Error: 'env' requires a subcommand
33 # CHECK: error: command failed with exit status: {{.*}}
35 # CHECK: FAIL: shtest-env :: env-args-none.txt ({{[^)]*}})
37 # CHECK: Error: 'env' requires a subcommand
38 # CHECK: error: command failed with exit status: {{.*}}
40 # CHECK: FAIL: shtest-env :: env-calls-cd.txt ({{[^)]*}})
41 # CHECK: $ "env" "-u" "FOO" "BAR=3" "cd" "foobar"
42 # CHECK: Error: 'env' cannot call 'cd'
43 # CHECK: error: command failed with exit status: {{.*}}
45 # CHECK: FAIL: shtest-env :: env-calls-colon.txt ({{[^)]*}})
46 # CHECK: $ "env" "-u" "FOO" "BAR=3" ":"
47 # CHECK: Error: 'env' cannot call ':'
48 # CHECK: error: command failed with exit status: {{.*}}
50 # CHECK: FAIL: shtest-env :: env-calls-echo.txt ({{[^)]*}})
51 # CHECK: $ "env" "-u" "FOO" "BAR=3" "echo" "hello" "world"
52 # CHECK: Error: 'env' cannot call 'echo'
53 # CHECK: error: command failed with exit status: {{.*}}
55 # CHECK: PASS: shtest-env :: env-calls-env.txt ({{[^)]*}})
56 # CHECK: $ "env" "env" "{{[^"]*}}" "print_environment.py"
57 # CHECK: $ "env" "FOO=2" "env" "BAR=1" "{{[^"]*}}" "print_environment.py"
58 # CHECK: $ "env" "-u" "FOO" "env" "-u" "BAR" "{{[^"]*}}" "print_environment.py"
59 # CHECK: $ "env" "-u" "FOO" "BAR=1" "env" "-u" "BAR" "FOO=2" "{{[^"]*}}" "print_environment.py"
60 # CHECK: $ "env" "-u" "FOO" "BAR=1" "env" "-u" "BAR" "FOO=2" "env" "BAZ=3" "{{[^"]*}}" "print_environment.py"
61 # CHECK-NOT: ${{.*}}print_environment.py
63 # CHECK: FAIL: shtest-env :: env-calls-export.txt ({{[^)]*}})
64 # CHECK: $ "env" "-u" "FOO" "BAR=3" "export" "BAZ=3"
65 # CHECK: Error: 'env' cannot call 'export'
66 # CHECK: error: command failed with exit status: {{.*}}
68 # CHECK: FAIL: shtest-env :: env-calls-mkdir.txt ({{[^)]*}})
69 # CHECK: $ "env" "-u" "FOO" "BAR=3" "mkdir" "foobar"
70 # CHECK: Error: 'env' cannot call 'mkdir'
71 # CHECK: error: command failed with exit status: {{.*}}
73 # CHECK: FAIL: shtest-env :: env-calls-not-builtin.txt ({{[^)]*}})
74 # CHECK: $ "env" "-u" "FOO" "BAR=3" "not" "rm" "{{.*}}.no-such-file"
75 # CHECK: Error: 'env' cannot call 'rm'
76 # CHECK: error: command failed with exit status: {{.*}}
78 # CHECK: FAIL: shtest-env :: env-calls-rm.txt ({{[^)]*}})
79 # CHECK: $ "env" "-u" "FOO" "BAR=3" "rm" "foobar"
80 # CHECK: Error: 'env' cannot call 'rm'
81 # CHECK: error: command failed with exit status: {{.*}}
83 # CHECK: PASS: shtest-env :: env-u.txt ({{[^)]*}})
84 # CHECK: $ "{{[^"]*}}" "print_environment.py"
85 # CHECK: $ "env" "-u" "FOO" "{{[^"]*}}" "print_environment.py"
86 # CHECK: $ "env" "-u" "FOO" "-u" "BAR" "{{[^"]*}}" "print_environment.py"
87 # CHECK-NOT: ${{.*}}print_environment.py
89 # CHECK: PASS: shtest-env :: env.txt ({{[^)]*}})
90 # CHECK: $ "env" "A_FOO=999" "{{[^"]*}}" "print_environment.py"
91 # CHECK: $ "env" "A_FOO=1" "B_BAR=2" "C_OOF=3" "{{[^"]*}}" "print_environment.py"
92 # CHECK-NOT: ${{.*}}print_environment.py
94 # CHECK: PASS: shtest-env :: mixed.txt ({{[^)]*}})
95 # CHECK: $ "env" "A_FOO=999" "-u" "FOO" "{{[^"]*}}" "print_environment.py"
96 # CHECK: $ "env" "A_FOO=1" "-u" "FOO" "B_BAR=2" "-u" "BAR" "C_OOF=3" "{{[^"]*}}" "print_environment.py"
97 # CHECK-NOT: ${{.*}}print_environment.py