mirror of https://gitee.com/Nocallback/dejagnu.git
11 changed files with 195 additions and 5 deletions
@ -0,0 +1,78 @@ |
|||
# Copyright (C) 1995-2016, 2018, 2020 Free Software Foundation, Inc. |
|||
# |
|||
# This file is part of DejaGnu. |
|||
# |
|||
# DejaGnu is free software; you can redistribute it and/or modify it |
|||
# under the terms of the GNU General Public License as published by |
|||
# the Free Software Foundation; either version 3 of the License, or |
|||
# (at your option) any later version. |
|||
# |
|||
# DejaGnu is distributed in the hope that it will be useful, but |
|||
# WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|||
# General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU General Public License |
|||
# along with DejaGnu; if not, write to the Free Software Foundation, |
|||
# Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. |
|||
|
|||
# This file tests handling of fatal errors in testcases. |
|||
# The way we do this is to recursively invoke ourselves on a small testsuite |
|||
# and analyze the results. |
|||
|
|||
load_lib util-defs.exp |
|||
|
|||
if {![info exists tmpdir]} { |
|||
set tmpdir [testsuite file -object -top tmpdir] |
|||
} |
|||
|
|||
set fd [open abort-init.exp w] |
|||
puts $fd "set srcdir [testsuite file -source -test abort]" |
|||
puts $fd "set objdir [testsuite file -object -test abort]" |
|||
puts $fd "set tmpdir $tmpdir" |
|||
close $fd |
|||
|
|||
if {![file isdirectory $tmpdir]} { |
|||
catch "file mkdir $tmpdir" |
|||
} |
|||
|
|||
if {![file isdirectory [testsuite file -object -test abort]]} { |
|||
catch {file mkdir [testsuite file -object -test abort]} |
|||
} |
|||
|
|||
set tests { |
|||
{ "run only simple test" |
|||
"simple.exp" |
|||
"PASS: simple test.*\ |
|||
*expected passes\[ \t\]+1\n" } |
|||
{ "abort on undefined command" |
|||
"abort-undef.exp" |
|||
"PASS: running abort-undef.exp.*\ |
|||
*UNRESOLVED: .* aborted at call to unknown command.*\ |
|||
*expected passes\[ \t\]+1\n.*unresolved testcases\[ \t\]+1\n" } |
|||
{ "stop at abort without --keep_going" |
|||
"abort-undef.exp simple.exp" |
|||
"PASS: running abort-undef.exp.*\ |
|||
*UNRESOLVED: .* aborted at call to unknown command.*\ |
|||
*expected passes\[ \t\]+1\n.*unresolved testcases\[ \t\]+1\n" } |
|||
{ "continue after abort with --keep_going" |
|||
"--keep_going abort-undef.exp simple.exp" |
|||
"PASS: running abort-undef.exp.*\ |
|||
*UNRESOLVED: .* aborted at call to unknown command.*\ |
|||
*PASS: simple test.*\ |
|||
*expected passes\[ \t\]+2\n.*unresolved testcases\[ \t\]+1\n" } |
|||
} |
|||
|
|||
foreach t $tests { |
|||
if [util_test $RUNTEST \ |
|||
"--local_init abort-init.exp\ |
|||
--outdir $tmpdir -a [lindex $t 1]" \ |
|||
"" \ |
|||
[lindex $t 2]] { |
|||
fail [lindex $t 0] |
|||
} else { |
|||
pass [lindex $t 0] |
|||
} |
|||
} |
|||
|
|||
file delete -force $tmpdir |
|||
@ -0,0 +1,25 @@ |
|||
# Copyright (C) 2020 Free Software Foundation, Inc. |
|||
# |
|||
# This file is part of DejaGnu. |
|||
# |
|||
# DejaGnu is free software; you can redistribute it and/or modify it |
|||
# under the terms of the GNU General Public License as published by |
|||
# the Free Software Foundation; either version 3 of the License, or |
|||
# (at your option) any later version. |
|||
# |
|||
# DejaGnu is distributed in the hope that it will be useful, but |
|||
# WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|||
# General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU General Public License |
|||
# along with DejaGnu; if not, write to the Free Software Foundation, |
|||
# Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. |
|||
|
|||
# Invoke an undefined command, causing a fatal error. |
|||
|
|||
pass "running abort-undef.exp" |
|||
|
|||
bogus_command 1 2 3 4 |
|||
|
|||
fail "script did not abort" |
|||
@ -0,0 +1,21 @@ |
|||
# Copyright (C) 2020 Free Software Foundation, Inc. |
|||
# |
|||
# This file is part of DejaGnu. |
|||
# |
|||
# DejaGnu is free software; you can redistribute it and/or modify it |
|||
# under the terms of the GNU General Public License as published by |
|||
# the Free Software Foundation; either version 3 of the License, or |
|||
# (at your option) any later version. |
|||
# |
|||
# DejaGnu is distributed in the hope that it will be useful, but |
|||
# WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|||
# General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU General Public License |
|||
# along with DejaGnu; if not, write to the Free Software Foundation, |
|||
# Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. |
|||
|
|||
# Return a passing result |
|||
|
|||
pass "simple test" |
|||
Loading…
Reference in new issue