mirror of
https://github.com/ThrowTheSwitch/CMock.git
synced 2026-08-01 16:57:48 +00:00
update the create_makefile script to be independent and not require pointless middleware scripts.
This commit is contained in:
@@ -28,6 +28,8 @@ MOCK_PREFIX = ENV.fetch('TEST_MOCK_PREFIX', 'mock_')
|
||||
MOCK_SUFFIX = ENV.fetch('TEST_MOCK_SUFFIX', '')
|
||||
TEST_MAKEFILE = ENV.fetch('TEST_MAKEFILE', File.join(TEST_BUILD_DIR, 'MakefileTestSupport'))
|
||||
MOCK_MATCHER = /#{MOCK_PREFIX}[A-Za-z_][A-Za-z0-9_\-.]+#{MOCK_SUFFIX}/
|
||||
OPTION_FILE = ENV.fetch('TEST_OPTION_YML_FILE', '')
|
||||
OPTION_FILE_FLAG = OPTION_FILE.empty? ? '' : "-o#{OPTION_FILE}"
|
||||
|
||||
[TEST_BUILD_DIR, OBJ_DIR, RUNNERS_DIR, MOCKS_DIR, TEST_BIN_DIR].each do |dir|
|
||||
FileUtils.mkdir_p dir
|
||||
@@ -126,7 +128,7 @@ File.open(TEST_MAKEFILE, 'w') do |mkfile|
|
||||
|
||||
# Create runners
|
||||
mkfile.puts "#{runner_source}: #{test}"
|
||||
mkfile.puts "\t@UNITY_DIR=${UNITY_DIR} ruby ${CMOCK_DIR}/scripts/create_runner.rb #{test} #{runner_source}"
|
||||
mkfile.puts "\truby #{UNITY_DIR}/auto/generate_test_runner.rb #{OPTION_FILE} #{test} #{runner_source}"
|
||||
mkfile.puts ''
|
||||
|
||||
# Build runner
|
||||
@@ -189,7 +191,7 @@ File.open(TEST_MAKEFILE, 'w') do |mkfile|
|
||||
mock_obj = File.join(MOCKS_DIR, "#{mock_name}.o")
|
||||
|
||||
mkfile.puts "#{mock_src}: #{hdr}"
|
||||
mkfile.puts "\t@CMOCK_DIR=${CMOCK_DIR} ruby ${CMOCK_DIR}/scripts/create_mock.rb #{hdr}"
|
||||
mkfile.puts "\truby #{CMOCK_DIR}/lib/cmock.rb #{hdr} --mock_path=#{MOCKS_DIR} #{OPTION_FILE_FLAG}"
|
||||
mkfile.puts ''
|
||||
|
||||
mkfile.puts "#{mock_obj}: #{mock_src} #{mock_header}"
|
||||
@@ -199,7 +201,7 @@ File.open(TEST_MAKEFILE, 'w') do |mkfile|
|
||||
|
||||
# Create test summary task
|
||||
mkfile.puts 'test_summary:'
|
||||
mkfile.puts "\t@UNITY_DIR=${UNITY_DIR} ruby ${CMOCK_DIR}/scripts/test_summary.rb #{suppress_error ? '--silent' : ''}"
|
||||
mkfile.puts "\truby #{UNITY_DIR}/auto/unity_test_summary.rb #{suppress_error ? '--silent' : ''} #{TEST_BUILD_DIR}"
|
||||
mkfile.puts ''
|
||||
mkfile.puts '.PHONY: test_summary'
|
||||
mkfile.puts ''
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
# =========================================================================
|
||||
# CMock - Automatic Mock Generation for C
|
||||
# ThrowTheSwitch.org
|
||||
# Copyright (c) 2007-26 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
||||
# SPDX-License-Identifier: MIT
|
||||
# =========================================================================
|
||||
|
||||
require "#{ENV['CMOCK_DIR']}/lib/cmock"
|
||||
|
||||
raise 'Header file to mock must be specified!' unless ARGV.length >= 1
|
||||
|
||||
mock_out = ENV.fetch('MOCK_OUT', './build/test/mocks')
|
||||
mock_prefix = ENV.fetch('MOCK_PREFIX', 'mock_')
|
||||
cmock = CMock.new(:plugins => %i[ignore return_thru_ptr], :mock_prefix => mock_prefix, :mock_path => mock_out)
|
||||
cmock.setup_mocks(ARGV[0])
|
||||
@@ -1,25 +0,0 @@
|
||||
# =========================================================================
|
||||
# CMock - Automatic Mock Generation for C
|
||||
# ThrowTheSwitch.org
|
||||
# Copyright (c) 2007-26 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
||||
# SPDX-License-Identifier: MIT
|
||||
# =========================================================================
|
||||
|
||||
if $0 == __FILE__
|
||||
|
||||
# make sure there is at least one parameter left (the input file)
|
||||
if ARGV.length < 2
|
||||
puts ["\nusage: ruby #{__FILE__} input_test_file (output)",
|
||||
'',
|
||||
' input_test_file - this is the C file you want to create a runner for',
|
||||
' output - this is the name of the runner file to generate',
|
||||
' defaults to (input_test_file)_Runner'].join("\n")
|
||||
exit 1
|
||||
end
|
||||
|
||||
require "#{ENV['UNITY_DIR']}/auto/generate_test_runner"
|
||||
|
||||
test = ARGV[0]
|
||||
runner = ARGV[1]
|
||||
UnityTestRunnerGenerator.new.run(test, runner)
|
||||
end
|
||||
@@ -1,25 +0,0 @@
|
||||
# =========================================================================
|
||||
# CMock - Automatic Mock Generation for C
|
||||
# ThrowTheSwitch.org
|
||||
# Copyright (c) 2007-26 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
||||
# SPDX-License-Identifier: MIT
|
||||
# =========================================================================
|
||||
|
||||
suppress_error = !ARGV.nil? && !ARGV.empty? && (ARGV[0].casecmp('--SILENT') == 0)
|
||||
|
||||
begin
|
||||
require "#{ENV['UNITY_DIR']}/auto/unity_test_summary.rb"
|
||||
|
||||
build_dir = ENV.fetch('BUILD_DIR', './build')
|
||||
test_build_dir = ENV.fetch('TEST_BUILD_DIR', File.join(build_dir, 'test'))
|
||||
|
||||
results = Dir["#{test_build_dir}/*.testresult"]
|
||||
parser = UnityTestSummary.new
|
||||
parser.targets = results
|
||||
parser.run
|
||||
puts parser.report
|
||||
rescue StandardError => e
|
||||
raise e unless suppress_error
|
||||
end
|
||||
|
||||
exit(parser.failures) unless suppress_error
|
||||
Reference in New Issue
Block a user