Browse CVS Repository
Contents of /exerb/exerb/test/testcase.rb
Parent Directory
| Revision Log
| Revision Graph
Revision 1.23 -
( show annotations)
( download)
Fri Jun 13 23:53:34 2008 UTC
(15 years, 9 months ago)
by arton
Branch: MAIN
CVS Tags: release510, release490, release461, release460, release540, release500, release520, release480, ChangeLog, release450, release530, release470, HEAD
Changes since 1.22: +2 -2 lines
change result text (after ruby-1.8.7, enumerator.so is contained)
| 1 |
|
| 2 |
#==============================================================================# |
| 3 |
# $Id: testcase.rb,v 1.22 2007/06/17 14:47:11 arton Exp $ |
| 4 |
#==============================================================================# |
| 5 |
|
| 6 |
require 'test/unit/testcase' |
| 7 |
require 'exerb/recipe' |
| 8 |
require 'exerb/executable' |
| 9 |
|
| 10 |
#==============================================================================# |
| 11 |
|
| 12 |
module ExerbTestCase |
| 13 |
|
| 14 |
def setup |
| 15 |
@name = self.name |
| 16 |
self.setup_exe |
| 17 |
end |
| 18 |
|
| 19 |
def setup_exe |
| 20 |
create_exe(@name) |
| 21 |
end |
| 22 |
|
| 23 |
def name |
| 24 |
raise(NotImplementedError) |
| 25 |
end |
| 26 |
|
| 27 |
def create_exe(name, exename = name) |
| 28 |
corefile = '../data/exerb/ruby187c.exc' |
| 29 |
recipe = Exerb::Recipe.load("#{name}/#{exename}.exy") |
| 30 |
archive = recipe.create_archive() |
| 31 |
executable = Exerb::Executable.read(corefile) |
| 32 |
executable.rsrc.add_archive(archive) |
| 33 |
executable.write("#{name}/#{exename}.exe") |
| 34 |
end |
| 35 |
|
| 36 |
def execute_cmd(cmd) |
| 37 |
return `#{cmd}`.gsub(/\r\n/, "\n") |
| 38 |
end |
| 39 |
|
| 40 |
def execute_exe(name, argv = '') |
| 41 |
return execute_cmd("#{name}/#{name}.exe #{argv}") |
| 42 |
end |
| 43 |
|
| 44 |
def read_file(filepath) |
| 45 |
return File.open(filepath) { |file| file.read }.gsub(/\r\n/) {"\n"} |
| 46 |
end |
| 47 |
|
| 48 |
def read_result(name) |
| 49 |
return read_file("#{name}/#{name}.ret") |
| 50 |
end |
| 51 |
|
| 52 |
end # ExerbTestCase |
| 53 |
|
| 54 |
#==============================================================================# |
| 55 |
#==============================================================================# |
| |