aboutsummaryrefslogtreecommitdiffstats
path: root/runtest.rb
diff options
context:
space:
mode:
authorShinichiro Hamaji <shinichiro.hamaji@gmail.com>2015-07-30 17:08:29 +0900
committerShinichiro Hamaji <shinichiro.hamaji@gmail.com>2015-07-30 17:09:07 +0900
commit09796efdf9ef64b77ddde7c6fc9d2fe41501e7d7 (patch)
tree0758da32bf06b0f2702f3ee093dc2d179cec6af4 /runtest.rb
parent92ee7daa71624eb83d4be800be75c9ec3ea21cb7 (diff)
downloadplatform_build_kati-09796efdf9ef64b77ddde7c6fc9d2fe41501e7d7.tar.gz
platform_build_kati-09796efdf9ef64b77ddde7c6fc9d2fe41501e7d7.tar.bz2
platform_build_kati-09796efdf9ef64b77ddde7c6fc9d2fe41501e7d7.zip
[C++] Add a test for ninja re-generation
Diffstat (limited to 'runtest.rb')
-rwxr-xr-xruntest.rb27
1 files changed, 26 insertions, 1 deletions
diff --git a/runtest.rb b/runtest.rb
index 97d8e9f..53bc0a8 100755
--- a/runtest.rb
+++ b/runtest.rb
@@ -268,16 +268,41 @@ run_make_test = proc do |mk|
end
run_shell_test = proc do |sh|
+ is_ninja_test = sh =~ /\/ninja_/
+ if is_ninja_test && (!ckati || !via_ninja)
+ next
+ end
+
run_in_testdir(sh) do |name|
cleanup
cmd = "sh ../../#{sh} make"
+ if is_ninja_test
+ cmd += ' -s'
+ end
expected = IO.popen(cmd, 'r:binary', &:read)
cleanup
- cmd = "sh ../../#{sh} ../../kati --use_cache -log_dir=."
+
+ if is_ninja_test
+ if ckati
+ cmd = "sh ../../#{sh} ../../ckati --ninja --gen_regen_rule"
+ else
+ next
+ end
+ else
+ if ckati
+ cmd = "sh ../../#{sh} ../../ckati"
+ else
+ cmd = "sh ../../#{sh} ../../kati --use_cache -log_dir=."
+ end
+ end
+
output = IO.popen(cmd, 'r:binary', &:read)
expected = normalize_make_log(expected)
output = normalize_kati_log(output)
+ if is_ninja_test
+ output = normalize_ninja_log(output, sh)
+ end
File.open('out.make', 'w'){|ofile|ofile.print(expected)}
File.open('out.kati', 'w'){|ofile|ofile.print(output)}