diff options
author | Yao Qi <yao@codesourcery.com> | 2014-04-02 12:44:22 +0800 |
---|---|---|
committer | Yao Qi <yao@codesourcery.com> | 2014-04-11 12:54:09 +0800 |
commit | 322f9c2100806387b8ace4df7a2b940b03b3d703 (patch) | |
tree | 4acbea5f32c3220c475dac58bdc05496fbce1d28 | |
parent | 1511baeca965fcf4cf36379c6b3f8a0b85263544 (diff) | |
download | gdb-322f9c2100806387b8ace4df7a2b940b03b3d703.zip gdb-322f9c2100806387b8ace4df7a2b940b03b3d703.tar.gz gdb-322f9c2100806387b8ace4df7a2b940b03b3d703.tar.bz2 |
Check file exists before completion tests
Doug told me that there are some regressions in gdb.base/completion.exp.
They are caused by my recent change, and can be reproduced via:
$ make check-parallel TESTS=gdb.base/completion.exp
FAIL: gdb.base/completion.exp: complete target core ./gdb.base/completion
FAIL: gdb.base/completion.exp: complete target tfile ./gdb.base/completion
FAIL: gdb.base/completion.exp: complete target exec ./gdb.base/completion
Current tests assume that gdb.base/completion exists but that is wrong
in a parallel run, because binary file and object files are placed
in outputs/gdb.base/completion/.
This patch is to check file exists on two candidate directories,
"gdb.base" and "outputs/gdb.base/completion/", and run tests with files
existed in either of them.
gdb/testsuite:
2014-04-11 Yao Qi <yao@codesourcery.com>
* gdb.base/completion.exp: Check file exists before running tests
on file completion.
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/completion.exp | 15 |
2 files changed, 17 insertions, 3 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 12ed4f9..d1926dd 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-04-11 Yao Qi <yao@codesourcery.com> + + * gdb.base/completion.exp: Check file exists before running tests + on file completion. + 2014-04-10 Pedro Alves <palves@redhat.com> * gdb.base/cond-eval-mode.c: New file. diff --git a/gdb/testsuite/gdb.base/completion.exp b/gdb/testsuite/gdb.base/completion.exp index 8d9eea5..1e152f6 100644 --- a/gdb/testsuite/gdb.base/completion.exp +++ b/gdb/testsuite/gdb.base/completion.exp @@ -105,9 +105,18 @@ gdb_test_multiple "target ctf" "" { } } -foreach target_name ${targets} { - gdb_test "complete target ${target_name} ./gdb.base/completion" \ - "target ${target_name} \\./gdb.base/completion.*\\./gdb.base/completion0\\.o.*\\./gdb.base/completion1\\.o.*" +# Test artifacts are put in different locations depending on test +# is a parallel run or not. Firstly check file exists, and then +# do the test on file completion. + +foreach dir1 [ list "./gdb.base" "./outputs/gdb.base/completion" ] { + if [remote_file host exists ${dir1}/completion] { + foreach target_name ${targets} { + gdb_test "complete target ${target_name} ${dir1}/completion" \ + "target ${target_name} ${dir1}/completion.*${dir1}/completion0\\.o.*${dir1}/completion1\\.o.*" + } + break + } } # |