Sha256: bb09ffc97b822010f41e17c087b6916dfe7ff87862f33c996c402ac1649f7563
Contents?: true
Size: 1.67 KB
Versions: 2
Compression:
Stored size: 1.67 KB
Contents
# ========================================================================= # Ceedling - Test-Centered Build System for C # ThrowTheSwitch.org # Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams # SPDX-License-Identifier: MIT # ========================================================================= class TaskInvoker attr_accessor :first_run constructor :dependinator, :build_batchinator, :rake_utils, :rake_wrapper def setup @test_regexs = [/^#{TEST_ROOT_NAME}:/] @release_regexs = [/^#{RELEASE_ROOT_NAME}(:|$)/] @first_run = true # Alias for brevity @batchinator = @build_batchinator end def add_test_task_regex(regex) @test_regexs << regex end def add_release_task_regex(regex) @release_regexs << regex end def test_invoked? invoked = false @test_regexs.each do |regex| invoked = true if (@rake_utils.task_invoked?(regex)) break if invoked end return invoked end def release_invoked? invoked = false @release_regexs.each do |regex| invoked = true if (@rake_utils.task_invoked?(regex)) break if invoked end return invoked end def invoked?(regex) return @rake_utils.task_invoked?(regex) end def invoke_test_objects(test:, objects:) @batchinator.exec(workload: :compile, things: objects) do |object| # Encode context with concatenated compilation target: <test name>+<object file> @rake_wrapper["#{test}+#{object}"].invoke end end def invoke_release_objects(objects) @batchinator.exec(workload: :compile, things: objects) do |object| @rake_wrapper[object].invoke end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ceedling-1.0.1 | lib/ceedling/task_invoker.rb |
ceedling-1.0.0 | lib/ceedling/task_invoker.rb |