test/test_coderunner.rb in coderunner-0.12.14 vs test/test_coderunner.rb in coderunner-0.12.15
- old
+ new
@@ -21,10 +21,11 @@
#end
class TestSubmission < Test::Unit::TestCase
def setup
string = $cpp_command + ' ../cubecalc.cc -o cubecalc'
+ Dir.chdir('test'){CodeRunner.generate_cubecalc}
FileUtils.makedirs('test/submission_results')
Dir.chdir('test/submission_results'){assert_system string}
CodeRunner.setup_run_class('cubecalc', modlet: 'sleep')
end
def test_setup_run_class
@@ -39,15 +40,16 @@
assert(FileTest.exist?('test/submission_results/v/id_1'))
assert(FileTest.exist?('test/submission_results/cubecalc_defaults.rb'))
end
def test_status_loop
unless ENV['SHORT_TEST']
- ENV['CODE_RUNNER_LAUNCHER'] = '4'
- @thread = Thread.new{CodeRunner.start_launcher(0.2,10)}
+ ENV['CODE_RUNNER_LAUNCHER'] = '42323490qw4q4432407Q2342U3'
+ @thread = Thread.new{CodeRunner.start_launcher(0.5,10)}
+ sleep 0.1 while not FileTest.exist?(CodeRunner.launcher_directory)
CodeRunner.submit(Y: 'test/submission_results', C: 'cubecalc', m: 'sleep', X: Dir.pwd + '/test/submission_results/cubecalc', p: '{sleep_time: 2}')
CodeRunner.status_loop(Y: 'test/submission_results')
- @thread.kill
+ #@thread.kill # This is commented out because it causes a Heisenbug... the kill signal can get trapped and cause the deletion of the 'submitting' lock file. This line is unnecessary because the thread will die when the program exits
ENV.delete('CODE_RUNNER_LAUNCHER')
end
end
def testanalysis
CodeRunner.submit(Y: 'test/submission_results', C: 'cubecalc', m: 'empty', X: Dir.pwd + '/test/submission_results/cubecalc', p: '{width: 2.0, height: 3.0}')
@@ -55,15 +57,16 @@
#system "ps"
runner.update
runner.print_out(0)
assert_equal(6.0, runner.run_list[1].volume)
end
- #def test_command_line_submission
- #assert_system("#{$ruby_command} -I lib/ lib/coderunner.rb submit -C cubecalc -m sleep -D sleep -X #{Dir.pwd}/test/cubecalc -Y test/submission_results")
- #end
+ def test_command_line_submission
+ assert_system("#{$ruby_command} -I lib/ lib/coderunner.rb submit -C cubecalc -m sleep -D sleep -X #{Dir.pwd}/test/submission_results/cubecalc -Y test/submission_results")
+ end
def teardown
FileUtils.rm_r('test/submission_results')
+ FileUtils.rm_r('test/cubecalc.cc')
end
end
class TestCodeRunner < Test::Unit::TestCase
@@ -75,10 +78,11 @@
#end
def setup
FileUtils.makedirs('test/results')
string = $cpp_command + ' ../cubecalc.cc -o cubecalc'
+ Dir.chdir('test'){CodeRunner.generate_cubecalc}
Dir.chdir('test/results'){assert_system string}
CodeRunner.submit(Y: tfolder, C: 'cubecalc', m: 'empty', X: Dir.pwd + '/test/results/cubecalc', T: true)
# exit
defs = File.read('test/results/cubecalc_defaults.rb')
File.open('test/results/cubecalc_defaults.rb', 'w'){|f| f.puts defs.sub(/\#(@calculate_sides\s+=\s+)0/, '\11')}
@@ -86,9 +90,10 @@
@runner = CodeRunner.fetch_runner(Y: Dir.pwd + '/test/results').update
end
def teardown
FileUtils.rm_r('test/results')
+ FileUtils.rm('test/cubecalc.cc')
end
def tfolder
Dir.pwd + '/test/results'
end