summaryrefslogtreecommitdiff
path: root/test/vendor/ceedling/plugins/module_generator
diff options
context:
space:
mode:
authorhathach <[email protected]>2022-12-08 09:59:02 +0700
committerhathach <[email protected]>2022-12-08 09:59:02 +0700
commitbe4f4e4f79c2342bda3b42653332129332a58d0b (patch)
tree82e98d2139421836e1120c364358e8cf59d51f8e /test/vendor/ceedling/plugins/module_generator
parent4b50ca2a6167ceb7eb3e07b8d1d716152fc7d189 (diff)
move ceedling tests to test/unit-test
Diffstat (limited to 'test/vendor/ceedling/plugins/module_generator')
-rw-r--r--test/vendor/ceedling/plugins/module_generator/README.md119
-rw-r--r--test/vendor/ceedling/plugins/module_generator/config/module_generator.yml4
-rw-r--r--test/vendor/ceedling/plugins/module_generator/lib/module_generator.rb80
-rw-r--r--test/vendor/ceedling/plugins/module_generator/module_generator.rake62
4 files changed, 0 insertions, 265 deletions
diff --git a/test/vendor/ceedling/plugins/module_generator/README.md b/test/vendor/ceedling/plugins/module_generator/README.md
deleted file mode 100644
index a3c2c7ad9..000000000
--- a/test/vendor/ceedling/plugins/module_generator/README.md
+++ /dev/null
@@ -1,119 +0,0 @@
-ceedling-module-generator
-=========================
-
-## Overview
-
-The module_generator plugin adds a pair of new commands to Ceedling, allowing
-you to make or remove modules according to predefined templates. WIth a single call,
-Ceedling can generate a source, header, and test file for a new module. If given a
-pattern, it can even create a series of submodules to support specific design patterns.
-Finally, it can just as easily remove related modules, avoiding the need to delete
-each individually.
-
-Let's say, for example, that you want to create a single module named `MadScience`.
-
-```
-ceedling module:create[MadScience]
-```
-
-It says we're speaking to the module plugin, and we want to create a new module. The
-name of that module is between the brackets. It will keep this case, unless you have
-specified a different default (see configuration). It will create three files:
-`MadScience.c`, `MadScience.h`, and `TestMadScience.c`. *NOTE* that it is important that
-there are no spaces between the brackets. We know, it's annoying... but it's the rules.
-
-You can also create an entire pattern of files. To do that, just add a second argument
-to the pattern ID. Something like this:
-
-```
-ceedling module:create[SecretLair,mch]
-```
-
-In this example, we'd create 9 files total: 3 headers, 3 source files, and 3 test files. These
-files would be named `SecretLairModel`, `SecretLairConductor`, and `SecretLairHardware`. Isn't
-that nice?
-
-Similarly, you can create stubs for all functions in a header file just by making a single call
-to your handy `stub` feature, like this:
-
-```
-ceedling module:stub[SecretLair]
-```
-
-This call will look in SecretLair.h and will generate a file SecretLair.c that contains a stub
-for each function declared in the header! Even better, if SecretLair.c already exists, it will
-add only new functions, leaving your existing calls alone so that it doesn't cause any problems.
-
-## Configuration
-
-Enable the plugin in your project.yml by adding `module_generator`
-to the list of enabled plugins.
-
-Then, like much of Ceedling, you can just run as-is with the defaults, or you can override those
-defaults for your own needs. For example, new source and header files will be automatically
-placed in the `src/` folder while tests will go in the `test/` folder. That's great if your project
-follows the default ceedling structure... but what if you have a different structure?
-
-```
-:module_generator:
- :project_root: ./
- :source_root: source/
- :inc_root: includes/
- :test_root: tests/
-```
-
-Now I've redirected the location where modules are going to be generated.
-
-### Includes
-
-You can make it so that all of your files are generated with a standard include list. This is done
-by adding to the `:includes` array. For example:
-
-```
-:module_generator:
- :includes:
- :tst:
- - defs.h
- - board.h
- :src:
- - board.h
-```
-
-### Boilerplates
-
-You can specify the actual boilerplate used for each of your files. This is the handy place to
-put that corporate copyright notice (or maybe a copyleft notice, if that's your perference?)
-
-```
-:module_generator:
- :boilerplates: |
- /***************************
- * This file is Awesome. *
- * That is All. *
- ***************************/
-```
-
-### Test Defines
-
-You can specify the "#ifdef TEST" at the top of the test files with a custom define.
-This example will put a "#ifdef CEEDLING_TEST" at the top of the test files.
-
-```
-:module_generator:
- :test_define: CEEDLING_TEST
-```
-
-### Naming Convention
-
-Finally, you can force a particular naming convention. Even if someone calls the generator
-with something like `MyNewModule`, if they have the naming convention set to `:caps`, it will
-generate files like `MY_NEW_MODULE.c`. This keeps everyone on your team behaving the same way.
-
-Your options are as follows:
-
- - `:bumpy` - BumpyFilesLooksLikeSo
- - `:camel` - camelFilesAreSimilarButStartLow
- - `:snake` - snake_case_is_all_lower_and_uses_underscores
- - `:caps` - CAPS_FEELS_LIKE_YOU_ARE_SCREAMING
-
-
diff --git a/test/vendor/ceedling/plugins/module_generator/config/module_generator.yml b/test/vendor/ceedling/plugins/module_generator/config/module_generator.yml
deleted file mode 100644
index cdb2da2eb..000000000
--- a/test/vendor/ceedling/plugins/module_generator/config/module_generator.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-:module_generator:
- :project_root: ./
- :source_root: src/
- :test_root: test/ \ No newline at end of file
diff --git a/test/vendor/ceedling/plugins/module_generator/lib/module_generator.rb b/test/vendor/ceedling/plugins/module_generator/lib/module_generator.rb
deleted file mode 100644
index d14288c36..000000000
--- a/test/vendor/ceedling/plugins/module_generator/lib/module_generator.rb
+++ /dev/null
@@ -1,80 +0,0 @@
-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
-
- def stub_from_header(module_name, optz={})
- require "cmock.rb" #From CMock
- stuboptz = divine_options(optz)
- pathname = optz[:path_inc] || optz[:path_src] || "src"
- filename = File.expand_path(optz[:module_root_path], File.join(pathname, module_name + ".h"))
- CMock.new(stuboptz).setup_skeletons(filename)
- 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 ),
- :skeleton_path=> ((defined? MODULE_GENERATOR_SOURCE_ROOT ) ? MODULE_GENERATOR_SOURCE_ROOT.gsub('\\', '/').sub(/^\//, '').sub(/\/$/, '') : "src" ),
- :test_define => ((defined? MODULE_GENERATOR_TEST_DEFINE ) ? MODULE_GENERATOR_TEST_DEFINE : "TEST" ),
- }
-
- # Read Boilerplate template file.
- if (defined? MODULE_GENERATOR_BOILERPLATE_FILES)
-
- bf = MODULE_GENERATOR_BOILERPLATE_FILES
-
- if !bf[:src].nil? && File.exists?(bf[:src])
- unity_generator_options[:boilerplates][:src] = File.read(bf[:src])
- end
-
- if !bf[:inc].nil? && File.exists?(bf[:inc])
- unity_generator_options[:boilerplates][:inc] = File.read(bf[:inc])
- end
-
- if !bf[:tst].nil? && File.exists?(bf[:tst])
- unity_generator_options[:boilerplates][:tst] = File.read(bf[:tst])
- end
- end
-
- # If using "create[<module_root>:<module_name>]" option from command line.
- 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
diff --git a/test/vendor/ceedling/plugins/module_generator/module_generator.rake b/test/vendor/ceedling/plugins/module_generator/module_generator.rake
deleted file mode 100644
index f4ed9f113..000000000
--- a/test/vendor/ceedling/plugins/module_generator/module_generator.rake
+++ /dev/null
@@ -1,62 +0,0 @@
-
-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 do |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
- if (v =~ /^test_?/i)
- # If the name of the file starts with test, automatically treat it as one
- @ceedling[:module_generator].create(v.sub(/^test_?/i,''), optz.merge({:pattern => 'test'}))
- else
- # Otherwise, go through the normal procedure
- @ceedling[:module_generator].create(v, optz)
- end
- end
- end
-
- desc "Generate module stubs from header"
- task :stub, :module_path do |t, args|
- files = [args[:module_path]] + (args.extras || [])
- optz = { :module_root_path => "" }
- files.each do |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
- # Otherwise, go through the normal procedure
- @ceedling[:module_generator].stub_from_header(v, optz)
- end
- 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 do |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
-
-end