URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/or1ksim/testsuite/lib
- from Rev 91 to Rev 93
- ↔ Reverse comparison
Rev 91 → Rev 93
/or1ksim.exp
66,6 → 66,11
|
expect { |
|
$matchstr { |
# String to match. Silently accept. Do first, so we can match |
# specific warnings or errors if desired |
} |
|
-re "Warning" { |
fail "$testname: warning: $expect_out(buffer)"; |
return |
76,10 → 81,6
return |
} |
|
$matchstr { |
# String to match. Silently accept |
} |
|
eof { |
fail "$testname: hit EOF seeking match line $match_line"; |
return |
/libsim.exp
0,0 → 1,108
# Or1ksim library expect test functions for use with DejaGNU under automake |
|
# Copyright (C) 2010 Embecosm Limited |
|
# Contributor Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
# This file is part of OpenRISC 1000 Architectural Simulator. |
|
# This program 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. |
|
# This program 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 this program. If not, see <http:#www.gnu.org/licenses/>. */ |
|
# ----------------------------------------------------------------------------- |
# This code is commented throughout for use with Doxygen. |
# ----------------------------------------------------------------------------- |
|
|
# ----------------------------------------------------------------------------- |
#! Run a libor1ksim program with the supplied config_file and target program. |
# |
#! @param[in] testname The name of the test |
#! @param[in] match_list A list of expected responses |
#! @param[in] libprog The libor1ksim program |
#! @param[in] config The or1ksim config file to use |
#! @param[in] or1kprog The program image to use on libprog |
#! @param[in] args Any other arguments |
# ----------------------------------------------------------------------------- |
proc run_libsim { testname match_list libprog config or1kprog args } { |
global error_spawn_id |
global spawn_id |
global verbose |
global env |
|
# Construct the config filename or use the default |
if {0 == [string length $config]} { |
set config "default.cfg"; |
} |
|
set libprog_name "./test-code/$libprog" |
set config_name "$env(srcdir)/libsim.tests/$config"; |
set or1kprog_name "./test-code-or1k/$or1kprog" |
|
set command_line "$libprog_name $config_name $or1kprog_name $args" |
|
if { $verbose > 1 } { |
send_user "starting $command_line\n" |
} |
|
# Run the program. |
eval "spawn $command_line" |
|
# Try each matchstr in turn, counting the lines for error reporting |
set match_line 0; |
|
foreach matchstr $match_list { |
|
set match_line [expr {$match_line + 1}]; |
|
if { $verbose > 2 } { |
send_user "matching |$matchstr|\n"; |
} |
|
expect { |
|
$matchstr { |
# String to match. Silently accept. Do first, so we can match |
# specific warnings or errors if desired |
} |
|
-re "Warning" { |
fail "$testname: warning: $expect_out(buffer)"; |
return |
} |
|
-re "ERROR" { |
fail "$testname: error: $expect_out(buffer)"; |
return |
} |
|
eof { |
fail "$testname: hit EOF seeking match line $match_line"; |
return |
} |
|
timeout { |
perror "Timeout"; |
fail "$testname: timeout"; |
return |
} |
} |
} |
|
# If we get here we've passed |
pass $testname; |
|
} |
|
# Timeout 3 seconds is plenty as default |
set timeout 3 |