diff options
author | crupest <crupest@outlook.com> | 2021-12-18 19:39:43 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-12-18 19:39:43 +0800 |
commit | dfdb5012705bcb3e13c10b22c63a351b9b2a708c (patch) | |
tree | cf6438d36a8b320623f3712f38a7399b89be383f /lanqiao-selection-match/cpp-gen-out.rb | |
parent | eb52b9626f4a31f92765a9fa2d9dc23869b99784 (diff) | |
download | life-dfdb5012705bcb3e13c10b22c63a351b9b2a708c.tar.gz life-dfdb5012705bcb3e13c10b22c63a351b9b2a708c.tar.bz2 life-dfdb5012705bcb3e13c10b22c63a351b9b2a708c.zip |
...
Diffstat (limited to 'lanqiao-selection-match/cpp-gen-out.rb')
-rwxr-xr-x | lanqiao-selection-match/cpp-gen-out.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lanqiao-selection-match/cpp-gen-out.rb b/lanqiao-selection-match/cpp-gen-out.rb new file mode 100755 index 0000000..48ad68a --- /dev/null +++ b/lanqiao-selection-match/cpp-gen-out.rb @@ -0,0 +1,24 @@ +#!/usr/bin/env ruby + +require 'timeout' + +def run(no, count) + Dir.glob("./build/*#{no}").each do |f| + count.times do |i| + in_file = "./generator/#{no}-#{i + 1}.in" + out_file = "#{f.sub('build', 'out')}-#{i + 1}.out" + pid = Process.spawn "#{f} < #{in_file} > #{out_file}" + Timeout.timeout(1) do + Process.wait pid + end + rescue Timeout::Error + puts "Timeout for #{f} when tests #{i + 1} case" + File.delete out_file + Process.kill 'KILL', pid + end + end +end + +run 'A', 3 +run 'B', 3 +run 'C', 4 |