Home | History | Annotate | Line # | Download | only in integration
cmd_debug_test.sh revision 1.1.1.1.4.3
      1  1.1.1.1.4.2  tls # Copyright 2011 Google Inc.
      2  1.1.1.1.4.2  tls # All rights reserved.
      3  1.1.1.1.4.2  tls #
      4  1.1.1.1.4.2  tls # Redistribution and use in source and binary forms, with or without
      5  1.1.1.1.4.2  tls # modification, are permitted provided that the following conditions are
      6  1.1.1.1.4.2  tls # met:
      7  1.1.1.1.4.2  tls #
      8  1.1.1.1.4.2  tls # * Redistributions of source code must retain the above copyright
      9  1.1.1.1.4.2  tls #   notice, this list of conditions and the following disclaimer.
     10  1.1.1.1.4.2  tls # * Redistributions in binary form must reproduce the above copyright
     11  1.1.1.1.4.2  tls #   notice, this list of conditions and the following disclaimer in the
     12  1.1.1.1.4.2  tls #   documentation and/or other materials provided with the distribution.
     13  1.1.1.1.4.2  tls # * Neither the name of Google Inc. nor the names of its contributors
     14  1.1.1.1.4.2  tls #   may be used to endorse or promote products derived from this software
     15  1.1.1.1.4.2  tls #   without specific prior written permission.
     16  1.1.1.1.4.2  tls #
     17  1.1.1.1.4.2  tls # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     18  1.1.1.1.4.2  tls # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     19  1.1.1.1.4.2  tls # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     20  1.1.1.1.4.2  tls # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     21  1.1.1.1.4.2  tls # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     22  1.1.1.1.4.2  tls # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     23  1.1.1.1.4.2  tls # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     24  1.1.1.1.4.2  tls # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     25  1.1.1.1.4.2  tls # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     26  1.1.1.1.4.2  tls # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     27  1.1.1.1.4.2  tls # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     28  1.1.1.1.4.2  tls 
     29  1.1.1.1.4.2  tls 
     30  1.1.1.1.4.2  tls utils_test_case no_args
     31  1.1.1.1.4.2  tls no_args_body() {
     32  1.1.1.1.4.2  tls     cat >Kyuafile <<EOF
     33  1.1.1.1.4.2  tls syntax(2)
     34  1.1.1.1.4.2  tls test_suite("integration")
     35  1.1.1.1.4.2  tls atf_test_program{name="simple_all_pass"}
     36  1.1.1.1.4.2  tls EOF
     37  1.1.1.1.4.2  tls     utils_cp_helper simple_all_pass .
     38  1.1.1.1.4.2  tls 
     39  1.1.1.1.4.2  tls     cat >experr <<EOF
     40  1.1.1.1.4.2  tls Usage error for command debug: Not enough arguments.
     41  1.1.1.1.4.2  tls Type 'kyua help debug' for usage information.
     42  1.1.1.1.4.2  tls EOF
     43  1.1.1.1.4.2  tls     atf_check -s exit:3 -o empty -e file:experr kyua debug
     44  1.1.1.1.4.2  tls }
     45  1.1.1.1.4.2  tls 
     46  1.1.1.1.4.2  tls 
     47  1.1.1.1.4.2  tls utils_test_case many_args
     48  1.1.1.1.4.2  tls many_args_body() {
     49  1.1.1.1.4.2  tls     cat >Kyuafile <<EOF
     50  1.1.1.1.4.2  tls syntax(2)
     51  1.1.1.1.4.2  tls test_suite("integration")
     52  1.1.1.1.4.2  tls atf_test_program{name="first"}
     53  1.1.1.1.4.2  tls atf_test_program{name="second"}
     54  1.1.1.1.4.2  tls EOF
     55  1.1.1.1.4.2  tls     utils_cp_helper simple_all_pass first
     56  1.1.1.1.4.2  tls     utils_cp_helper simple_all_pass second
     57  1.1.1.1.4.2  tls 
     58  1.1.1.1.4.2  tls     cat >experr <<EOF
     59  1.1.1.1.4.2  tls Usage error for command debug: Too many arguments.
     60  1.1.1.1.4.2  tls Type 'kyua help debug' for usage information.
     61  1.1.1.1.4.2  tls EOF
     62  1.1.1.1.4.2  tls     atf_check -s exit:3 -o empty -e file:experr kyua debug first:pass \
     63  1.1.1.1.4.2  tls         second:pass
     64  1.1.1.1.4.2  tls }
     65  1.1.1.1.4.2  tls 
     66  1.1.1.1.4.2  tls 
     67  1.1.1.1.4.2  tls utils_test_case one_arg__ok_pass
     68  1.1.1.1.4.2  tls one_arg__ok_pass_body() {
     69  1.1.1.1.4.2  tls     cat >Kyuafile <<EOF
     70  1.1.1.1.4.2  tls syntax(2)
     71  1.1.1.1.4.2  tls test_suite("integration")
     72  1.1.1.1.4.2  tls atf_test_program{name="first"}
     73  1.1.1.1.4.2  tls atf_test_program{name="second"}
     74  1.1.1.1.4.2  tls EOF
     75  1.1.1.1.4.2  tls     utils_cp_helper expect_all_pass first
     76  1.1.1.1.4.2  tls     utils_cp_helper simple_all_pass second
     77  1.1.1.1.4.2  tls 
     78  1.1.1.1.4.2  tls     cat >expout <<EOF
     79  1.1.1.1.4.2  tls This is the stdout of pass
     80  1.1.1.1.4.2  tls second:pass  ->  passed
     81  1.1.1.1.4.2  tls EOF
     82  1.1.1.1.4.2  tls cat >experr <<EOF
     83  1.1.1.1.4.2  tls This is the stderr of pass
     84  1.1.1.1.4.2  tls EOF
     85  1.1.1.1.4.2  tls     atf_check -s exit:0 -o file:expout -e file:experr kyua debug second:pass
     86  1.1.1.1.4.2  tls }
     87  1.1.1.1.4.2  tls 
     88  1.1.1.1.4.2  tls 
     89  1.1.1.1.4.2  tls utils_test_case one_arg__ok_fail
     90  1.1.1.1.4.2  tls one_arg__ok_fail_body() {
     91  1.1.1.1.4.2  tls     cat >Kyuafile <<EOF
     92  1.1.1.1.4.2  tls syntax(2)
     93  1.1.1.1.4.2  tls test_suite("integration")
     94  1.1.1.1.4.2  tls atf_test_program{name="first"}
     95  1.1.1.1.4.2  tls EOF
     96  1.1.1.1.4.2  tls     utils_cp_helper simple_some_fail first
     97  1.1.1.1.4.2  tls 
     98  1.1.1.1.4.2  tls     cat >expout <<EOF
     99  1.1.1.1.4.2  tls This is the stdout of fail
    100  1.1.1.1.4.2  tls first:fail  ->  failed: This fails on purpose
    101  1.1.1.1.4.2  tls EOF
    102  1.1.1.1.4.2  tls     cat >experr <<EOF
    103  1.1.1.1.4.2  tls This is the stderr of fail
    104  1.1.1.1.4.2  tls EOF
    105  1.1.1.1.4.2  tls     atf_check -s exit:1 -o file:expout -e file:experr kyua debug first:fail
    106  1.1.1.1.4.2  tls }
    107  1.1.1.1.4.2  tls 
    108  1.1.1.1.4.2  tls 
    109  1.1.1.1.4.2  tls utils_test_case one_arg__no_match
    110  1.1.1.1.4.2  tls one_arg__no_match_body() {
    111  1.1.1.1.4.2  tls     cat >Kyuafile <<EOF
    112  1.1.1.1.4.2  tls syntax(2)
    113  1.1.1.1.4.2  tls test_suite("integration")
    114  1.1.1.1.4.2  tls atf_test_program{name="first"}
    115  1.1.1.1.4.2  tls atf_test_program{name="second"}
    116  1.1.1.1.4.2  tls EOF
    117  1.1.1.1.4.2  tls     utils_cp_helper expect_all_pass first
    118  1.1.1.1.4.2  tls     utils_cp_helper simple_all_pass second
    119  1.1.1.1.4.2  tls 
    120  1.1.1.1.4.2  tls     cat >experr <<EOF
    121  1.1.1.1.4.2  tls kyua: E: Unknown test case 'second:die'.
    122  1.1.1.1.4.2  tls EOF
    123  1.1.1.1.4.2  tls     atf_check -s exit:2 -o empty -e file:experr kyua debug second:die
    124  1.1.1.1.4.2  tls }
    125  1.1.1.1.4.2  tls 
    126  1.1.1.1.4.2  tls 
    127  1.1.1.1.4.2  tls utils_test_case one_arg__no_test_case
    128  1.1.1.1.4.2  tls one_arg__no_test_case_body() {
    129  1.1.1.1.4.2  tls     cat >experr <<EOF
    130  1.1.1.1.4.2  tls Usage error for command debug: 'foo' is not a test case identifier (missing ':'?).
    131  1.1.1.1.4.2  tls Type 'kyua help debug' for usage information.
    132  1.1.1.1.4.2  tls EOF
    133  1.1.1.1.4.2  tls     atf_check -s exit:3 -o empty -e file:experr kyua debug foo
    134  1.1.1.1.4.2  tls }
    135  1.1.1.1.4.2  tls 
    136  1.1.1.1.4.2  tls 
    137  1.1.1.1.4.2  tls utils_test_case one_arg__bad_filter
    138  1.1.1.1.4.2  tls one_arg__bad_filter_body() {
    139  1.1.1.1.4.2  tls     cat >experr <<EOF
    140  1.1.1.1.4.2  tls kyua: E: Test case component in 'foo:' is empty.
    141  1.1.1.1.4.2  tls EOF
    142  1.1.1.1.4.2  tls     atf_check -s exit:2 -o empty -e file:experr kyua debug foo:
    143  1.1.1.1.4.2  tls }
    144  1.1.1.1.4.2  tls 
    145  1.1.1.1.4.2  tls 
    146  1.1.1.1.4.2  tls utils_test_case body_and_cleanup
    147  1.1.1.1.4.2  tls body_and_cleanup_body() {
    148  1.1.1.1.4.2  tls     cat >Kyuafile <<EOF
    149  1.1.1.1.4.2  tls syntax(2)
    150  1.1.1.1.4.2  tls test_suite("integration")
    151  1.1.1.1.4.2  tls atf_test_program{name="single"}
    152  1.1.1.1.4.2  tls EOF
    153  1.1.1.1.4.2  tls     utils_cp_helper metadata single
    154  1.1.1.1.4.2  tls 
    155  1.1.1.1.4.2  tls     cat >expout <<EOF
    156  1.1.1.1.4.2  tls single:with_cleanup  ->  passed
    157  1.1.1.1.4.2  tls EOF
    158  1.1.1.1.4.2  tls     atf_check -s exit:0 -o file:expout -e empty kyua debug \
    159  1.1.1.1.4.2  tls         --stdout=saved.out --stderr=saved.err single:with_cleanup
    160  1.1.1.1.4.2  tls 
    161  1.1.1.1.4.2  tls     cat >expout <<EOF
    162  1.1.1.1.4.2  tls Body message to stdout
    163  1.1.1.1.4.2  tls Cleanup message to stdout
    164  1.1.1.1.4.2  tls EOF
    165  1.1.1.1.4.2  tls     atf_check -s exit:0 -o file:expout -e empty cat saved.out
    166  1.1.1.1.4.2  tls 
    167  1.1.1.1.4.2  tls     cat >experr <<EOF
    168  1.1.1.1.4.2  tls Body message to stderr
    169  1.1.1.1.4.2  tls Cleanup message to stderr
    170  1.1.1.1.4.2  tls EOF
    171  1.1.1.1.4.2  tls     atf_check -s exit:0 -o file:experr -e empty cat saved.err
    172  1.1.1.1.4.2  tls }
    173  1.1.1.1.4.2  tls 
    174  1.1.1.1.4.2  tls 
    175  1.1.1.1.4.2  tls utils_test_case stdout_stderr_flags
    176  1.1.1.1.4.2  tls stdout_stderr_flags_body() {
    177  1.1.1.1.4.2  tls     cat >Kyuafile <<EOF
    178  1.1.1.1.4.2  tls syntax(2)
    179  1.1.1.1.4.2  tls test_suite("integration")
    180  1.1.1.1.4.2  tls atf_test_program{name="first"}
    181  1.1.1.1.4.2  tls atf_test_program{name="second"}
    182  1.1.1.1.4.2  tls EOF
    183  1.1.1.1.4.2  tls     utils_cp_helper expect_all_pass first
    184  1.1.1.1.4.2  tls     utils_cp_helper simple_all_pass second
    185  1.1.1.1.4.2  tls 
    186  1.1.1.1.4.2  tls     cat >expout <<EOF
    187  1.1.1.1.4.2  tls second:pass  ->  passed
    188  1.1.1.1.4.2  tls EOF
    189  1.1.1.1.4.2  tls     atf_check -s exit:0 -o file:expout -e empty kyua debug \
    190  1.1.1.1.4.2  tls         --stdout=saved.out --stderr=saved.err second:pass
    191  1.1.1.1.4.2  tls 
    192  1.1.1.1.4.2  tls     cat >expout <<EOF
    193  1.1.1.1.4.2  tls This is the stdout of pass
    194  1.1.1.1.4.2  tls EOF
    195  1.1.1.1.4.2  tls     cmp -s saved.out expout || atf_fail "--stdout did not redirect the" \
    196  1.1.1.1.4.2  tls         "standard output to the desired file"
    197  1.1.1.1.4.2  tls 
    198  1.1.1.1.4.2  tls     cat >experr <<EOF
    199  1.1.1.1.4.2  tls This is the stderr of pass
    200  1.1.1.1.4.2  tls EOF
    201  1.1.1.1.4.2  tls     cmp -s saved.err experr || atf_fail "--stderr did not redirect the" \
    202  1.1.1.1.4.2  tls         "standard error to the desired file"
    203  1.1.1.1.4.2  tls }
    204  1.1.1.1.4.2  tls 
    205  1.1.1.1.4.2  tls 
    206  1.1.1.1.4.2  tls utils_test_case args_are_relative
    207  1.1.1.1.4.2  tls args_are_relative_body() {
    208  1.1.1.1.4.2  tls     mkdir root
    209  1.1.1.1.4.2  tls     cat >root/Kyuafile <<EOF
    210  1.1.1.1.4.2  tls syntax(2)
    211  1.1.1.1.4.2  tls test_suite("integration")
    212  1.1.1.1.4.2  tls include("subdir/Kyuafile")
    213  1.1.1.1.4.2  tls atf_test_program{name="prog"}
    214  1.1.1.1.4.2  tls EOF
    215  1.1.1.1.4.2  tls     utils_cp_helper simple_all_pass root/prog
    216  1.1.1.1.4.2  tls 
    217  1.1.1.1.4.2  tls     mkdir root/subdir
    218  1.1.1.1.4.2  tls     cat >root/subdir/Kyuafile <<EOF
    219  1.1.1.1.4.2  tls syntax(2)
    220  1.1.1.1.4.2  tls test_suite("integration")
    221  1.1.1.1.4.2  tls atf_test_program{name="prog"}
    222  1.1.1.1.4.2  tls EOF
    223  1.1.1.1.4.2  tls     utils_cp_helper simple_some_fail root/subdir/prog
    224  1.1.1.1.4.2  tls 
    225  1.1.1.1.4.2  tls     cat >expout <<EOF
    226  1.1.1.1.4.2  tls This is the stdout of fail
    227  1.1.1.1.4.2  tls subdir/prog:fail  ->  failed: This fails on purpose
    228  1.1.1.1.4.2  tls EOF
    229  1.1.1.1.4.2  tls     cat >experr <<EOF
    230  1.1.1.1.4.2  tls This is the stderr of fail
    231  1.1.1.1.4.2  tls EOF
    232  1.1.1.1.4.2  tls     atf_check -s exit:1 -o file:expout -e file:experr kyua debug \
    233  1.1.1.1.4.2  tls         -k "$(pwd)/root/Kyuafile" subdir/prog:fail
    234  1.1.1.1.4.2  tls }
    235  1.1.1.1.4.2  tls 
    236  1.1.1.1.4.2  tls 
    237  1.1.1.1.4.2  tls utils_test_case only_load_used_test_programs
    238  1.1.1.1.4.2  tls only_load_used_test_programs_body() {
    239  1.1.1.1.4.2  tls     cat >Kyuafile <<EOF
    240  1.1.1.1.4.2  tls syntax(2)
    241  1.1.1.1.4.2  tls test_suite("integration")
    242  1.1.1.1.4.2  tls atf_test_program{name="first"}
    243  1.1.1.1.4.2  tls atf_test_program{name="second"}
    244  1.1.1.1.4.2  tls EOF
    245  1.1.1.1.4.2  tls     utils_cp_helper simple_all_pass first
    246  1.1.1.1.4.2  tls     utils_cp_helper bad_test_program second
    247  1.1.1.1.4.2  tls 
    248  1.1.1.1.4.2  tls     cat >expout <<EOF
    249  1.1.1.1.4.2  tls This is the stdout of pass
    250  1.1.1.1.4.2  tls first:pass  ->  passed
    251  1.1.1.1.4.2  tls EOF
    252  1.1.1.1.4.2  tls     cat >experr <<EOF
    253  1.1.1.1.4.2  tls This is the stderr of pass
    254  1.1.1.1.4.2  tls EOF
    255  1.1.1.1.4.2  tls     CREATE_COOKIE="$(pwd)/cookie"; export CREATE_COOKIE
    256  1.1.1.1.4.2  tls     atf_check -s exit:0 -o file:expout -e file:experr kyua debug first:pass
    257  1.1.1.1.4.2  tls     if test -f "${CREATE_COOKIE}"; then
    258  1.1.1.1.4.2  tls         atf_fail "An unmatched test case has been executed, which harms" \
    259  1.1.1.1.4.2  tls             "performance"
    260  1.1.1.1.4.2  tls     fi
    261  1.1.1.1.4.2  tls }
    262  1.1.1.1.4.2  tls 
    263  1.1.1.1.4.2  tls 
    264  1.1.1.1.4.2  tls utils_test_case config_behavior
    265  1.1.1.1.4.2  tls config_behavior_body() {
    266  1.1.1.1.4.2  tls     cat >"my-config" <<EOF
    267  1.1.1.1.4.2  tls syntax(2)
    268  1.1.1.1.4.2  tls test_suites.suite1["X-the-variable"] = "value1"
    269  1.1.1.1.4.2  tls test_suites.suite2["X-the-variable"] = "override me"
    270  1.1.1.1.4.2  tls EOF
    271  1.1.1.1.4.2  tls 
    272  1.1.1.1.4.2  tls     cat >Kyuafile <<EOF
    273  1.1.1.1.4.2  tls syntax(2)
    274  1.1.1.1.4.2  tls atf_test_program{name="config1", test_suite="suite1"}
    275  1.1.1.1.4.2  tls atf_test_program{name="config2", test_suite="suite2"}
    276  1.1.1.1.4.2  tls atf_test_program{name="config3", test_suite="suite3"}
    277  1.1.1.1.4.2  tls EOF
    278  1.1.1.1.4.2  tls     utils_cp_helper config config1
    279  1.1.1.1.4.2  tls     utils_cp_helper config config2
    280  1.1.1.1.4.2  tls     utils_cp_helper config config3
    281  1.1.1.1.4.2  tls 
    282  1.1.1.1.4.2  tls     atf_check -s exit:1 -o match:'failed' -e empty \
    283  1.1.1.1.4.2  tls         kyua -c my-config -v test_suites.suite2.X-the-variable=value2 \
    284  1.1.1.1.4.2  tls         debug config1:get_variable
    285  1.1.1.1.4.2  tls     atf_check -s exit:0 -o match:'passed' -e empty \
    286  1.1.1.1.4.2  tls         kyua -c my-config -v test_suites.suite2.X-the-variable=value2 \
    287  1.1.1.1.4.2  tls         debug config2:get_variable
    288  1.1.1.1.4.2  tls     atf_check -s exit:0 -o match:'skipped' -e empty \
    289  1.1.1.1.4.2  tls         kyua -c my-config -v test_suites.suite2.X-the-variable=value2 \
    290  1.1.1.1.4.2  tls         debug config3:get_variable
    291  1.1.1.1.4.2  tls }
    292  1.1.1.1.4.2  tls 
    293  1.1.1.1.4.2  tls 
    294  1.1.1.1.4.2  tls utils_test_case build_root_flag
    295  1.1.1.1.4.2  tls build_root_flag_body() {
    296  1.1.1.1.4.2  tls     cat >Kyuafile <<EOF
    297  1.1.1.1.4.2  tls syntax(2)
    298  1.1.1.1.4.2  tls test_suite("integration")
    299  1.1.1.1.4.2  tls atf_test_program{name="first"}
    300  1.1.1.1.4.2  tls atf_test_program{name="second"}
    301  1.1.1.1.4.2  tls EOF
    302  1.1.1.1.4.2  tls     mkdir build
    303  1.1.1.1.4.2  tls     utils_cp_helper expect_all_pass build/first
    304  1.1.1.1.4.2  tls     utils_cp_helper simple_all_pass build/second
    305  1.1.1.1.4.2  tls 
    306  1.1.1.1.4.2  tls     cat >expout <<EOF
    307  1.1.1.1.4.2  tls This is the stdout of pass
    308  1.1.1.1.4.2  tls second:pass  ->  passed
    309  1.1.1.1.4.2  tls EOF
    310  1.1.1.1.4.2  tls cat >experr <<EOF
    311  1.1.1.1.4.2  tls This is the stderr of pass
    312  1.1.1.1.4.2  tls EOF
    313  1.1.1.1.4.2  tls     atf_check -s exit:0 -o file:expout -e file:experr \
    314  1.1.1.1.4.2  tls         kyua debug --build-root=build second:pass
    315  1.1.1.1.4.2  tls }
    316  1.1.1.1.4.2  tls 
    317  1.1.1.1.4.2  tls 
    318  1.1.1.1.4.2  tls utils_test_case kyuafile_flag__ok
    319  1.1.1.1.4.2  tls kyuafile_flag__ok_body() {
    320  1.1.1.1.4.2  tls     cat >Kyuafile <<EOF
    321  1.1.1.1.4.2  tls This file is bogus but it is not loaded.
    322  1.1.1.1.4.2  tls EOF
    323  1.1.1.1.4.2  tls 
    324  1.1.1.1.4.2  tls     cat >myfile <<EOF
    325  1.1.1.1.4.2  tls syntax(2)
    326  1.1.1.1.4.2  tls test_suite("hello-world")
    327  1.1.1.1.4.2  tls atf_test_program{name="sometest"}
    328  1.1.1.1.4.2  tls EOF
    329  1.1.1.1.4.2  tls     utils_cp_helper simple_all_pass sometest
    330  1.1.1.1.4.2  tls 
    331  1.1.1.1.4.2  tls     atf_check -s exit:0 -o match:passed -e empty kyua test -k myfile sometest
    332  1.1.1.1.4.2  tls     atf_check -s exit:0 -o match:passed -e empty kyua test --kyuafile=myfile \
    333  1.1.1.1.4.2  tls         sometest
    334  1.1.1.1.4.2  tls }
    335  1.1.1.1.4.2  tls 
    336  1.1.1.1.4.2  tls 
    337  1.1.1.1.4.2  tls utils_test_case missing_kyuafile
    338  1.1.1.1.4.2  tls missing_kyuafile_body() {
    339  1.1.1.1.4.2  tls     cat >experr <<EOF
    340  1.1.1.1.4.2  tls kyua: E: Load of 'Kyuafile' failed: File 'Kyuafile' not found.
    341  1.1.1.1.4.2  tls EOF
    342  1.1.1.1.4.2  tls     atf_check -s exit:2 -o empty -e file:experr kyua debug foo:bar
    343  1.1.1.1.4.2  tls }
    344  1.1.1.1.4.2  tls 
    345  1.1.1.1.4.2  tls 
    346  1.1.1.1.4.2  tls utils_test_case bogus_kyuafile
    347  1.1.1.1.4.2  tls bogus_kyuafile_body() {
    348  1.1.1.1.4.2  tls     cat >Kyuafile <<EOF
    349  1.1.1.1.4.2  tls Hello, world.
    350  1.1.1.1.4.2  tls EOF
    351  1.1.1.1.4.3  tls     atf_check -s exit:2 -o empty \
    352  1.1.1.1.4.3  tls         -e match:"Load of 'Kyuafile' failed: .* Kyuafile:2:" kyua list
    353  1.1.1.1.4.2  tls }
    354  1.1.1.1.4.2  tls 
    355  1.1.1.1.4.2  tls 
    356  1.1.1.1.4.2  tls utils_test_case bogus_test_program
    357  1.1.1.1.4.2  tls bogus_test_program_body() {
    358  1.1.1.1.4.2  tls     cat >Kyuafile <<EOF
    359  1.1.1.1.4.2  tls syntax(2)
    360  1.1.1.1.4.2  tls test_suite("integration")
    361  1.1.1.1.4.2  tls atf_test_program{name="crash_on_list"}
    362  1.1.1.1.4.2  tls atf_test_program{name="non_executable"}
    363  1.1.1.1.4.2  tls EOF
    364  1.1.1.1.4.2  tls     utils_cp_helper bad_test_program crash_on_list
    365  1.1.1.1.4.2  tls     echo 'I am not executable' >non_executable
    366  1.1.1.1.4.2  tls 
    367  1.1.1.1.4.2  tls     cat >experr <<EOF
    368  1.1.1.1.4.2  tls kyua: E: Unknown test case 'crash_on_list:a'.
    369  1.1.1.1.4.2  tls EOF
    370  1.1.1.1.4.2  tls     atf_check -s exit:2 -o empty -e file:experr kyua debug crash_on_list:a
    371  1.1.1.1.4.2  tls 
    372  1.1.1.1.4.2  tls     cat >experr <<EOF
    373  1.1.1.1.4.2  tls kyua: E: Unknown test case 'non_executable:a'.
    374  1.1.1.1.4.2  tls EOF
    375  1.1.1.1.4.2  tls     atf_check -s exit:2 -o empty -e file:experr kyua debug non_executable:a
    376  1.1.1.1.4.2  tls 
    377  1.1.1.1.4.2  tls     cat >expout <<EOF
    378  1.1.1.1.4.2  tls crash_on_list:__test_cases_list__  ->  broken: Tester did not exit cleanly: kyua-atf-tester: Invalid test cases list header 'This is not a valid test program!'
    379  1.1.1.1.4.2  tls EOF
    380  1.1.1.1.4.2  tls     atf_check -s exit:1 -o file:expout -e empty kyua debug crash_on_list:__test_cases_list__
    381  1.1.1.1.4.2  tls 
    382  1.1.1.1.4.2  tls     cat >expout <<EOF
    383  1.1.1.1.4.2  tls non_executable:__test_cases_list__  ->  broken: Tester did not exit cleanly: kyua-atf-tester: execvp failed: Permission denied
    384  1.1.1.1.4.2  tls EOF
    385  1.1.1.1.4.2  tls     atf_check -s exit:1 -o file:expout -e empty kyua debug non_executable:__test_cases_list__
    386  1.1.1.1.4.2  tls }
    387  1.1.1.1.4.2  tls 
    388  1.1.1.1.4.2  tls 
    389  1.1.1.1.4.2  tls atf_init_test_cases() {
    390  1.1.1.1.4.2  tls     atf_add_test_case no_args
    391  1.1.1.1.4.2  tls     atf_add_test_case many_args
    392  1.1.1.1.4.2  tls     atf_add_test_case one_arg__ok_pass
    393  1.1.1.1.4.2  tls     atf_add_test_case one_arg__ok_fail
    394  1.1.1.1.4.2  tls     atf_add_test_case one_arg__no_match
    395  1.1.1.1.4.2  tls     atf_add_test_case one_arg__no_test_case
    396  1.1.1.1.4.2  tls     atf_add_test_case one_arg__bad_filter
    397  1.1.1.1.4.2  tls 
    398  1.1.1.1.4.2  tls     atf_add_test_case body_and_cleanup
    399  1.1.1.1.4.2  tls 
    400  1.1.1.1.4.2  tls     atf_add_test_case stdout_stderr_flags
    401  1.1.1.1.4.2  tls 
    402  1.1.1.1.4.2  tls     atf_add_test_case args_are_relative
    403  1.1.1.1.4.2  tls 
    404  1.1.1.1.4.2  tls     atf_add_test_case only_load_used_test_programs
    405  1.1.1.1.4.2  tls 
    406  1.1.1.1.4.2  tls     atf_add_test_case config_behavior
    407  1.1.1.1.4.2  tls 
    408  1.1.1.1.4.2  tls     atf_add_test_case build_root_flag
    409  1.1.1.1.4.2  tls     atf_add_test_case kyuafile_flag__ok
    410  1.1.1.1.4.2  tls     atf_add_test_case missing_kyuafile
    411  1.1.1.1.4.2  tls     atf_add_test_case bogus_kyuafile
    412  1.1.1.1.4.2  tls     atf_add_test_case bogus_test_program
    413  1.1.1.1.4.2  tls }
    414