adding new ceedling test project

This commit is contained in:
hathach
2019-06-10 16:18:27 +07:00
parent 579f468d38
commit 97c5c7a937
199 changed files with 23201 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
:module_generator:
:project_root: ./
:source_root: src/
:test_root: test/

View File

@@ -0,0 +1,51 @@
require 'ceedling/plugin'
require 'ceedling/constants'
require 'erb'
require 'fileutils'
class ModuleGenerator < Plugin
attr_reader :config
def create(module_name, optz={})
require "generate_module.rb" #From Unity Scripts
if ((!optz.nil?) && (optz[:destroy]))
UnityModuleGenerator.new( divine_options(optz) ).destroy(module_name)
else
UnityModuleGenerator.new( divine_options(optz) ).generate(module_name)
end
end
private
def divine_options(optz={})
unity_generator_options =
{
:path_src => ((defined? MODULE_GENERATOR_SOURCE_ROOT ) ? MODULE_GENERATOR_SOURCE_ROOT.gsub('\\', '/').sub(/^\//, '').sub(/\/$/, '') : "src" ),
:path_inc => ((defined? MODULE_GENERATOR_INC_ROOT ) ?
MODULE_GENERATOR_INC_ROOT.gsub('\\', '/').sub(/^\//, '').sub(/\/$/, '')
: (defined? MODULE_GENERATOR_SOURCE_ROOT ) ?
MODULE_GENERATOR_SOURCE_ROOT.gsub('\\', '/').sub(/^\//, '').sub(/\/$/, '')
: "src" ),
:path_tst => ((defined? MODULE_GENERATOR_TEST_ROOT ) ? MODULE_GENERATOR_TEST_ROOT.gsub( '\\', '/').sub(/^\//, '').sub(/\/$/, '') : "test" ),
:pattern => optz[:pattern],
:test_prefix => ((defined? PROJECT_TEST_FILE_PREFIX ) ? PROJECT_TEST_FILE_PREFIX : "Test" ),
:mock_prefix => ((defined? CMOCK_MOCK_PREFIX ) ? CMOCK_MOCK_PREFIX : "Mock" ),
:includes => ((defined? MODULE_GENERATOR_INCLUDES ) ? MODULE_GENERATOR_INCLUDES : {} ),
:boilerplates => ((defined? MODULE_GENERATOR_BOILERPLATES) ? MODULE_GENERATOR_BOILERPLATES : {} ),
:naming => ((defined? MODULE_GENERATOR_NAMING ) ? MODULE_GENERATOR_NAMING : nil ),
:update_svn => ((defined? MODULE_GENERATOR_UPDATE_SVN ) ? MODULE_GENERATOR_UPDATE_SVN : false ),
}
unless optz[:module_root_path].to_s.empty?
unity_generator_options[:path_src] = File.join(optz[:module_root_path], unity_generator_options[:path_src])
unity_generator_options[:path_inc] = File.join(optz[:module_root_path], unity_generator_options[:path_inc])
unity_generator_options[:path_tst] = File.join(optz[:module_root_path], unity_generator_options[:path_tst])
end
return unity_generator_options
end
end

View File

@@ -0,0 +1,43 @@
namespace :module do
module_root_separator = ":"
desc "Generate module (source, header and test files)"
task :create, :module_path do |t, args|
files = [args[:module_path]] + (args.extras || [])
optz = { :module_root_path => "" }
["dh", "dih", "mch", "mvp", "src", "test"].each do |pat|
p = files.delete(pat)
optz[:pattern] = p unless p.nil?
end
files.each {
|v|
module_root_path, module_name = v.split(module_root_separator, 2)
if module_name
optz[:module_root_path] = module_root_path
v = module_name
end
@ceedling[:module_generator].create(v, optz)
}
end
desc "Destroy module (source, header and test files)"
task :destroy, :module_path do |t, args|
files = [args[:module_path]] + (args.extras || [])
optz = { :destroy => true, :module_root_path => "" }
["dh", "dih", "mch", "mvp", "src", "test"].each do |pat|
p = files.delete(pat)
optz[:pattern] = p unless p.nil?
end
files.each {
|v|
module_root_path, module_name = v.split(module_root_separator, 2)
if module_name
optz[:module_root_path] = module_root_path
v = module_name
end
@ceedling[:module_generator].create(v, optz)
}
end
end