diff options
| author | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2016-02-12 21:07:49 +0900 |
|---|---|---|
| committer | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2016-02-12 21:07:49 +0900 |
| commit | edb665d221ac4d3fa9e9d9024872a407d754ace2 (patch) | |
| tree | 664a3ac386a5db83d0e546007f45e25f3feaa7f0 | |
| parent | dbd74a169344668a6af031910585de06e50c0935 (diff) | |
| download | platform_build_kati-edb665d221ac4d3fa9e9d9024872a407d754ace2.tar.gz platform_build_kati-edb665d221ac4d3fa9e9d9024872a407d754ace2.tar.bz2 platform_build_kati-edb665d221ac4d3fa9e9d9024872a407d754ace2.zip | |
Remove run_integration_test.rb
This was useful at the early stage of development, but it's
doing nothing anymore.
| -rwxr-xr-x | run_integration_test.rb | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/run_integration_test.rb b/run_integration_test.rb deleted file mode 100755 index 3a5b7d0..0000000 --- a/run_integration_test.rb +++ /dev/null @@ -1,182 +0,0 @@ -#!/usr/bin/env ruby -# -# Copyright 2015 Google Inc. All rights reserved -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -require 'fileutils' - -FileUtils.mkdir_p('repo') -Dir.chdir('repo') - -def check_command(cmd) - puts cmd - if !system(cmd) - puts "#{cmd} failed" - exit 1 - end -end - -class TestCase - attr_reader :name - - def initialize(name, checkout, prepare, clean, target) - @name = name - @checkout = checkout - @prepare = prepare - @clean = clean - @target = target - end - - def normalize_log(log, out) - # TODO: Fix. - if @name == 'android' - log = log.gsub(/[ \t]+/, ' ') - log = log.split("\n").sort.join("\n").sub(/ Stop\.$/, '') - # This is a completely sane warning from kati for Android. - log.sub!(%r(build/core/product_config.mk:152: warning: Unmatched parens: .*\n), '') - # Not sure why the order can be inconsistent, but this would be OK. - # TODO: Inevestigate. - log.gsub!(/(\.mk\.PRODUCT_COPY_FILES := )(.*)/){$1 + $2.split.sort * ' '} - end - File.open(out, 'w') do |of| - of.print log - end - log - end - - def run - @checkout.call(self) - - Dir.chdir(@name) do - @prepare.call(self) - - [['make', 'make'], ['kati', '../../kati']].each do |n, cmd| - @clean.call(self) - print "Running #{n} for #{@name}..." - STDOUT.flush - started = Time.now - system("#{cmd} #{@target} > #{n}.log 2>&1") - elapsed = Time.now - started - puts " %.2f secs" % elapsed - end - - make_log = File.read('make.log') - kati_log = File.read('kati.log') - kati_log.gsub!(/^\*kati\*.*\n/, '') - - make_log = normalize_log(make_log, 'make-normalized.log') - kati_log = normalize_log(kati_log, 'kati-normalized.log') - if make_log == kati_log - puts "#{@name}: OK" - return true - else - puts "#{@name}: FAIL" - return false - end - end - end -end - -class GitTestCase < TestCase - def initialize(name, repo, rev, prepare, clean, target) - checkout = Proc.new{|tc| - if !File.exist?(@name) - check_command("git clone #{repo}") - end - Dir.chdir(@name) { - check_command("git checkout #{rev}") - } - } - - super(name, checkout, prepare, clean, target) - end -end - -class AndroidTestCase < TestCase - def initialize - name = 'android' - checkout = Proc.new{|tc| - FileUtils.mkdir_p(@name) - md5 = `md5sum android.tgz` - need_update = true - if File.exist?("#{@name}/STAMP") - stamp = File.read("#{@name}/STAMP") - if md5 == stamp - need_update = false - end - end - - if need_update - check_command("tar -xzf android.tgz") - File.open("#{@name}/STAMP.tmp", 'w') do |ofile| - ofile.print(md5) - end - File.rename("#{@name}/STAMP.tmp", "#{@name}/STAMP") - end - } - - super(name, checkout, DO_NOTHING, DO_NOTHING, 'dump-products') - end -end - -DO_NOTHING = Proc.new{|tc|} -MAKE_CLEAN = Proc.new{|tc| - check_command("make clean > /dev/null") -} -CONFIGURE = Proc.new{|tc| - check_command("./configure > /dev/null") -} - -TESTS = [ - GitTestCase.new('maloader', - 'https://github.com/shinh/maloader.git', - '5d125933bc6c141bed05c309c2dc0e14ada6f5c7', - DO_NOTHING, - MAKE_CLEAN, - ''), - GitTestCase.new('glog', - 'https://github.com/google/glog', - '1b0b08c8dda1659027677966b03a3ff3c488e549', - CONFIGURE, - MAKE_CLEAN, - ''), - AndroidTestCase.new(), -] - -fails = [] -TESTS.each do |tc| - if !ARGV.empty? - if !ARGV.include?(tc.name) - next - end - end - - if !tc.run - fails << tc.name - end -end - -puts - -if fails.empty? - puts "PASS!" -else - puts "=== Failures ===" - fails.each do |n| - puts n - end - puts - - puts "FAIL!" -end |
