tests: support skipping tests for certain build configurations

This commit is contained in:
Moritz Bunkus 2021-04-09 18:06:57 +02:00
parent 135390c391
commit 0a2cb7d1bd
No known key found for this signature in database
GPG Key ID: 74AF00ADF2E32C85
4 changed files with 23 additions and 3 deletions

View File

@ -11,10 +11,12 @@ def read_config_file file_name
end
def read_build_config
fail "build-config not found: please run ./configure" unless File.exists?("build-config")
dir = File.dirname(__FILE__) + '/..'
config = read_config_file("build-config")
config = config.merge(read_config_file("build-config.local")) if File.exists?("build-config.local")
fail "build-config not found: please run ./configure" unless File.exists?("#{dir}/build-config")
config = read_config_file("#{dir}/build-config")
config = config.merge(read_config_file("#{dir}/build-config.local")) if File.exists?("#{dir}/build-config.local")
config
end

View File

@ -12,6 +12,8 @@ require_relative "test.d/results.rb"
require_relative "test.d/test.rb"
require_relative "test.d/simple_test.rb"
require_relative "test.d/util.rb"
require_relative "../rake.d/config.rb"
require_relative "../rake.d/extensions.rb"
begin
require "thread"
@ -21,6 +23,8 @@ end
def setup
ENV[ /darwin/i.match(RUBY_PLATFORM) ? 'LANG' : 'LC_ALL' ] = 'en_US.UTF-8'
ENV['PATH'] = "../src:" + ENV['PATH']
$config = read_build_config
end
def main

View File

@ -117,6 +117,11 @@ class Controller
return
end
if current_test.methods.include?(:skip?) and current_test.skip?
show_message "Skipping '#{class_name}': disabled"
return
end
show_message "Running '#{class_name}': #{current_test.description}"
start = Time.now

View File

@ -34,6 +34,7 @@ class SimpleTest
@commands = []
@tmp_num = 0
@tmp_num_mutex = Mutex.new
@skip = false
@blocks = {
:setup => [],
:tests => [],
@ -41,6 +42,14 @@ class SimpleTest
}
end
def skip_if condition
@skip = true if condition
end
def skip?
@skip
end
def commands
@commands
end