mirror of
https://github.com/ThrowTheSwitch/Unity.git
synced 2026-01-23 16:35:58 +01:00
This resolves #219. When generating a new module, if all the files to generate already exist then it fails as before. If some of the files already exist, then the files that need to be created are created. Any existing files are not changed. Also added a bunch of tests for this feature via rspec. Run them from the test folder with `rake spec`.
73 lines
1.6 KiB
Plaintext
73 lines
1.6 KiB
Plaintext
# ==========================================
|
|
# Unity Project - A Test Framework for C
|
|
# Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
|
|
# [Released under MIT License. Please refer to license.txt for details]
|
|
# ==========================================
|
|
|
|
UNITY_ROOT = File.expand_path(File.dirname(__FILE__)) + '/'
|
|
$verbose = false
|
|
|
|
require 'rake'
|
|
require 'rake/clean'
|
|
require UNITY_ROOT + 'rakefile_helper'
|
|
require 'rspec/core/rake_task'
|
|
|
|
TEMP_DIRS = [
|
|
File.join(UNITY_ROOT, 'build'),
|
|
File.join(UNITY_ROOT, 'sandbox')
|
|
]
|
|
|
|
TEMP_DIRS.each do |dir|
|
|
directory(dir)
|
|
CLOBBER.include(dir)
|
|
end
|
|
|
|
task :prepare_for_tests => TEMP_DIRS
|
|
|
|
include RakefileHelpers
|
|
|
|
# Load proper GCC as defult configuration
|
|
DEFAULT_CONFIG_FILE = 'gcc_auto_stdint.yml'
|
|
configure_toolchain(DEFAULT_CONFIG_FILE)
|
|
|
|
desc "Test unity with its own unit tests"
|
|
task :unit => [:prepare_for_tests] do
|
|
run_tests get_unit_test_files
|
|
end
|
|
|
|
desc "Test unity's helper scripts"
|
|
task :scripts => [:prepare_for_tests] do
|
|
Dir['tests/test_*.rb'].each do |scriptfile|
|
|
require "./"+scriptfile
|
|
end
|
|
end
|
|
|
|
desc "Run all rspecs"
|
|
RSpec::Core::RakeTask.new(:spec) do |t|
|
|
t.pattern = 'spec/**/*_spec.rb'
|
|
end
|
|
|
|
desc "Generate test summary"
|
|
task :summary do
|
|
report_summary
|
|
end
|
|
|
|
desc "Build and test Unity"
|
|
task :all => [:clean, :prepare_for_tests, :scripts, :unit, :summary]
|
|
task :default => [:clobber, :all]
|
|
task :ci => [:no_color, :default]
|
|
task :cruise => [:no_color, :default]
|
|
|
|
desc "Load configuration"
|
|
task :config, :config_file do |t, args|
|
|
configure_toolchain(args[:config_file])
|
|
end
|
|
|
|
task :no_color do
|
|
$colour_output = false
|
|
end
|
|
|
|
task :verbose do
|
|
$verbose = true
|
|
end
|