Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Unity
提交
eb0bd42f
T
Third Party Unity
项目概览
OpenHarmony
/
Third Party Unity
1 年多 前同步成功
通知
36
Star
144
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Unity
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
eb0bd42f
编写于
10月 24, 2019
作者:
M
mvandervoord
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Updated to newer coding standard
上级
addd60ed
变更
11
显示空白变更内容
内联
并排
Showing
11 changed file
with
410 addition
and
382 deletion
+410
-382
auto/colour_prompt.rb
auto/colour_prompt.rb
+1
-0
auto/generate_module.rb
auto/generate_module.rb
+2
-0
auto/generate_test_runner.rb
auto/generate_test_runner.rb
+16
-5
auto/parse_output.rb
auto/parse_output.rb
+3
-3
auto/stylize_as_junit.rb
auto/stylize_as_junit.rb
+3
-0
auto/unity_test_summary.rb
auto/unity_test_summary.rb
+3
-0
examples/example_3/rakefile.rb
examples/example_3/rakefile.rb
+0
-2
examples/example_3/rakefile_helper.rb
examples/example_3/rakefile_helper.rb
+208
-207
extras/fixture/rakefile.rb
extras/fixture/rakefile.rb
+0
-2
extras/fixture/rakefile_helper.rb
extras/fixture/rakefile_helper.rb
+163
-162
test/.rubocop.yml
test/.rubocop.yml
+11
-1
未找到文件。
auto/colour_prompt.rb
浏览文件 @
eb0bd42f
...
@@ -22,6 +22,7 @@ end
...
@@ -22,6 +22,7 @@ end
class
ColourCommandLine
class
ColourCommandLine
def
initialize
def
initialize
return
unless
RUBY_PLATFORM
=~
/(win|w)32$/
return
unless
RUBY_PLATFORM
=~
/(win|w)32$/
get_std_handle
=
Win32API
.
new
(
'kernel32'
,
'GetStdHandle'
,
[
'L'
],
'L'
)
get_std_handle
=
Win32API
.
new
(
'kernel32'
,
'GetStdHandle'
,
[
'L'
],
'L'
)
@set_console_txt_attrb
=
@set_console_txt_attrb
=
Win32API
.
new
(
'kernel32'
,
'SetConsoleTextAttribute'
,
%w[L N]
,
'I'
)
Win32API
.
new
(
'kernel32'
,
'SetConsoleTextAttribute'
,
%w[L N]
,
'I'
)
...
...
auto/generate_module.rb
浏览文件 @
eb0bd42f
...
@@ -264,6 +264,7 @@ if $0 == __FILE__
...
@@ -264,6 +264,7 @@ if $0 == __FILE__
when
/^-y\"?(.+)\"?/
then
options
=
UnityModuleGenerator
.
grab_config
(
Regexp
.
last_match
(
1
))
when
/^-y\"?(.+)\"?/
then
options
=
UnityModuleGenerator
.
grab_config
(
Regexp
.
last_match
(
1
))
when
/^(\w+)/
when
/^(\w+)/
raise
"ERROR: You can't have more than one Module name specified!"
unless
module_name
.
nil?
raise
"ERROR: You can't have more than one Module name specified!"
unless
module_name
.
nil?
module_name
=
arg
module_name
=
arg
when
/^-(h|-help)/
when
/^-(h|-help)/
ARGV
=
[].
freeze
ARGV
=
[].
freeze
...
@@ -298,6 +299,7 @@ if $0 == __FILE__
...
@@ -298,6 +299,7 @@ if $0 == __FILE__
end
end
raise
'ERROR: You must have a Module name specified! (use option -h for help)'
if
module_name
.
nil?
raise
'ERROR: You must have a Module name specified! (use option -h for help)'
if
module_name
.
nil?
if
destroy
if
destroy
UnityModuleGenerator
.
new
(
options
).
destroy
(
module_name
)
UnityModuleGenerator
.
new
(
options
).
destroy
(
module_name
)
else
else
...
...
auto/generate_test_runner.rb
浏览文件 @
eb0bd42f
...
@@ -127,17 +127,21 @@ class UnityTestRunnerGenerator
...
@@ -127,17 +127,21 @@ class UnityTestRunnerGenerator
lines
.
each_with_index
do
|
line
,
_index
|
lines
.
each_with_index
do
|
line
,
_index
|
# find tests
# find tests
next
unless
line
=~
/^((?:\s*TEST_CASE\s*\(.*?\)\s*)*)\s*void\s+((?:
#{
@options
[
:test_prefix
]
}
).*)\s*\(\s*(.*)\s*\)/m
next
unless
line
=~
/^((?:\s*TEST_CASE\s*\(.*?\)\s*)*)\s*void\s+((?:
#{
@options
[
:test_prefix
]
}
).*)\s*\(\s*(.*)\s*\)/m
arguments
=
Regexp
.
last_match
(
1
)
arguments
=
Regexp
.
last_match
(
1
)
name
=
Regexp
.
last_match
(
2
)
name
=
Regexp
.
last_match
(
2
)
call
=
Regexp
.
last_match
(
3
)
call
=
Regexp
.
last_match
(
3
)
params
=
Regexp
.
last_match
(
4
)
params
=
Regexp
.
last_match
(
4
)
args
=
nil
args
=
nil
if
@options
[
:use_param_tests
]
&&
!
arguments
.
empty?
if
@options
[
:use_param_tests
]
&&
!
arguments
.
empty?
args
=
[]
args
=
[]
arguments
.
scan
(
/\s*TEST_CASE\s*\((.*)\)\s*$/
)
{
|
a
|
args
<<
a
[
0
]
}
arguments
.
scan
(
/\s*TEST_CASE\s*\((.*)\)\s*$/
)
{
|
a
|
args
<<
a
[
0
]
}
end
end
tests_and_line_numbers
<<
{
test:
name
,
args:
args
,
call:
call
,
params:
params
,
line_number:
0
}
tests_and_line_numbers
<<
{
test:
name
,
args:
args
,
call:
call
,
params:
params
,
line_number:
0
}
end
end
tests_and_line_numbers
.
uniq!
{
|
v
|
v
[
:test
]
}
tests_and_line_numbers
.
uniq!
{
|
v
|
v
[
:test
]
}
# determine line numbers and create tests to run
# determine line numbers and create tests to run
...
@@ -146,6 +150,7 @@ class UnityTestRunnerGenerator
...
@@ -146,6 +150,7 @@ class UnityTestRunnerGenerator
tests_and_line_numbers
.
size
.
times
do
|
i
|
tests_and_line_numbers
.
size
.
times
do
|
i
|
source_lines
[
source_index
..-
1
].
each_with_index
do
|
line
,
index
|
source_lines
[
source_index
..-
1
].
each_with_index
do
|
line
,
index
|
next
unless
line
=~
/\s+
#{
tests_and_line_numbers
[
i
][
:test
]
}
(?:\s|\()/
next
unless
line
=~
/\s+
#{
tests_and_line_numbers
[
i
][
:test
]
}
(?:\s|\()/
source_index
+=
index
source_index
+=
index
tests_and_line_numbers
[
i
][
:line_number
]
=
source_index
+
1
tests_and_line_numbers
[
i
][
:line_number
]
=
source_index
+
1
break
break
...
@@ -266,18 +271,21 @@ class UnityTestRunnerGenerator
...
@@ -266,18 +271,21 @@ class UnityTestRunnerGenerator
def
create_setup
(
output
)
def
create_setup
(
output
)
return
if
@options
[
:has_setup
]
return
if
@options
[
:has_setup
]
output
.
puts
(
"
\n
/*=======Setup (stub)=====*/"
)
output
.
puts
(
"
\n
/*=======Setup (stub)=====*/"
)
output
.
puts
(
"void
#{
@options
[
:setup_name
]
}
(void) {}"
)
output
.
puts
(
"void
#{
@options
[
:setup_name
]
}
(void) {}"
)
end
end
def
create_teardown
(
output
)
def
create_teardown
(
output
)
return
if
@options
[
:has_teardown
]
return
if
@options
[
:has_teardown
]
output
.
puts
(
"
\n
/*=======Teardown (stub)=====*/"
)
output
.
puts
(
"
\n
/*=======Teardown (stub)=====*/"
)
output
.
puts
(
"void
#{
@options
[
:teardown_name
]
}
(void) {}"
)
output
.
puts
(
"void
#{
@options
[
:teardown_name
]
}
(void) {}"
)
end
end
def
create_suite_setup
(
output
)
def
create_suite_setup
(
output
)
return
if
@options
[
:suite_setup
].
nil?
return
if
@options
[
:suite_setup
].
nil?
output
.
puts
(
"
\n
/*=======Suite Setup=====*/"
)
output
.
puts
(
"
\n
/*=======Suite Setup=====*/"
)
output
.
puts
(
'void suiteSetUp(void)'
)
output
.
puts
(
'void suiteSetUp(void)'
)
output
.
puts
(
'{'
)
output
.
puts
(
'{'
)
...
@@ -287,6 +295,7 @@ class UnityTestRunnerGenerator
...
@@ -287,6 +295,7 @@ class UnityTestRunnerGenerator
def
create_suite_teardown
(
output
)
def
create_suite_teardown
(
output
)
return
if
@options
[
:suite_teardown
].
nil?
return
if
@options
[
:suite_teardown
].
nil?
output
.
puts
(
"
\n
/*=======Suite Teardown=====*/"
)
output
.
puts
(
"
\n
/*=======Suite Teardown=====*/"
)
output
.
puts
(
'int suiteTearDown(int num_failures)'
)
output
.
puts
(
'int suiteTearDown(int num_failures)'
)
output
.
puts
(
'{'
)
output
.
puts
(
'{'
)
...
@@ -315,9 +324,11 @@ class UnityTestRunnerGenerator
...
@@ -315,9 +324,11 @@ class UnityTestRunnerGenerator
def
create_args_wrappers
(
output
,
tests
)
def
create_args_wrappers
(
output
,
tests
)
return
unless
@options
[
:use_param_tests
]
return
unless
@options
[
:use_param_tests
]
output
.
puts
(
"
\n
/*=======Parameterized Test Wrappers=====*/"
)
output
.
puts
(
"
\n
/*=======Parameterized Test Wrappers=====*/"
)
tests
.
each
do
|
test
|
tests
.
each
do
|
test
|
next
if
test
[
:args
].
nil?
||
test
[
:args
].
empty?
next
if
test
[
:args
].
nil?
||
test
[
:args
].
empty?
test
[
:args
].
each
.
with_index
(
1
)
do
|
args
,
idx
|
test
[
:args
].
each
.
with_index
(
1
)
do
|
args
,
idx
|
output
.
puts
(
"static void runner_args
#{
idx
}
_
#{
test
[
:test
]
}
(void)"
)
output
.
puts
(
"static void runner_args
#{
idx
}
_
#{
test
[
:test
]
}
(void)"
)
output
.
puts
(
'{'
)
output
.
puts
(
'{'
)
...
...
auto/parse_output.rb
浏览文件 @
eb0bd42f
auto/stylize_as_junit.rb
浏览文件 @
eb0bd42f
...
@@ -152,6 +152,7 @@ class UnityToJUnit
...
@@ -152,6 +152,7 @@ class UnityToJUnit
def
parse_test_summary
(
summary
)
def
parse_test_summary
(
summary
)
raise
"Couldn't parse test results:
#{
summary
}
"
unless
summary
.
find
{
|
v
|
v
=~
/(\d+) Tests (\d+) Failures (\d+) Ignored/
}
raise
"Couldn't parse test results:
#{
summary
}
"
unless
summary
.
find
{
|
v
|
v
=~
/(\d+) Tests (\d+) Failures (\d+) Ignored/
}
[
Regexp
.
last_match
(
1
).
to_i
,
Regexp
.
last_match
(
2
).
to_i
,
Regexp
.
last_match
(
3
).
to_i
]
[
Regexp
.
last_match
(
1
).
to_i
,
Regexp
.
last_match
(
2
).
to_i
,
Regexp
.
last_match
(
3
).
to_i
]
end
end
...
@@ -230,7 +231,9 @@ if $0 == __FILE__
...
@@ -230,7 +231,9 @@ if $0 == __FILE__
targets
=
"
#{
options
.
results_dir
.
tr
(
'\\'
,
'/'
)
}
**/*.test*"
targets
=
"
#{
options
.
results_dir
.
tr
(
'\\'
,
'/'
)
}
**/*.test*"
results
=
Dir
[
targets
]
results
=
Dir
[
targets
]
raise
"No *.testpass, *.testfail, or *.testresults files found in '
#{
targets
}
'"
if
results
.
empty?
raise
"No *.testpass, *.testfail, or *.testresults files found in '
#{
targets
}
'"
if
results
.
empty?
utj
.
targets
=
results
utj
.
targets
=
results
# set the root path
# set the root path
...
...
auto/unity_test_summary.rb
浏览文件 @
eb0bd42f
...
@@ -99,6 +99,7 @@ class UnityTestSummary
...
@@ -99,6 +99,7 @@ class UnityTestSummary
def
parse_test_summary
(
summary
)
def
parse_test_summary
(
summary
)
raise
"Couldn't parse test results:
#{
summary
}
"
unless
summary
.
find
{
|
v
|
v
=~
/(\d+) Tests (\d+) Failures (\d+) Ignored/
}
raise
"Couldn't parse test results:
#{
summary
}
"
unless
summary
.
find
{
|
v
|
v
=~
/(\d+) Tests (\d+) Failures (\d+) Ignored/
}
[
Regexp
.
last_match
(
1
).
to_i
,
Regexp
.
last_match
(
2
).
to_i
,
Regexp
.
last_match
(
3
).
to_i
]
[
Regexp
.
last_match
(
1
).
to_i
,
Regexp
.
last_match
(
2
).
to_i
,
Regexp
.
last_match
(
3
).
to_i
]
end
end
end
end
...
@@ -117,7 +118,9 @@ if $0 == __FILE__
...
@@ -117,7 +118,9 @@ if $0 == __FILE__
args
[
0
]
||=
'./'
args
[
0
]
||=
'./'
targets
=
"
#{
ARGV
[
0
].
tr
(
'\\'
,
'/'
)
}
**/*.test*"
targets
=
"
#{
ARGV
[
0
].
tr
(
'\\'
,
'/'
)
}
**/*.test*"
results
=
Dir
[
targets
]
results
=
Dir
[
targets
]
raise
"No *.testpass, *.testfail, or *.testresults files found in '
#{
targets
}
'"
if
results
.
empty?
raise
"No *.testpass, *.testfail, or *.testresults files found in '
#{
targets
}
'"
if
results
.
empty?
uts
.
targets
=
results
uts
.
targets
=
results
# set the root path
# set the root path
...
...
examples/example_3/rakefile.rb
浏览文件 @
eb0bd42f
...
@@ -13,8 +13,6 @@ end
...
@@ -13,8 +13,6 @@ end
task
prepare_for_tests:
TEMP_DIRS
task
prepare_for_tests:
TEMP_DIRS
include
RakefileHelpers
# Load default configuration, for now
# Load default configuration, for now
DEFAULT_CONFIG_FILE
=
'target_gcc_32.yml'
.
freeze
DEFAULT_CONFIG_FILE
=
'target_gcc_32.yml'
.
freeze
configure_toolchain
(
DEFAULT_CONFIG_FILE
)
configure_toolchain
(
DEFAULT_CONFIG_FILE
)
...
...
examples/example_3/rakefile_helper.rb
浏览文件 @
eb0bd42f
...
@@ -4,37 +4,36 @@ require_relative '../../auto/unity_test_summary'
...
@@ -4,37 +4,36 @@ require_relative '../../auto/unity_test_summary'
require_relative
'../../auto/generate_test_runner'
require_relative
'../../auto/generate_test_runner'
require_relative
'../../auto/colour_reporter'
require_relative
'../../auto/colour_reporter'
module
RakefileHelpers
C_EXTENSION
=
'.c'
.
freeze
C_EXTENSION
=
'.c'
.
freeze
def
load_configuration
(
config_file
)
def
load_configuration
(
config_file
)
$cfg_file
=
config_file
$cfg_file
=
config_file
$cfg
=
YAML
.
load
(
File
.
read
(
$cfg_file
))
$cfg
=
YAML
.
load
(
File
.
read
(
$cfg_file
))
end
end
def
configure_clean
def
configure_clean
CLEAN
.
include
(
$cfg
[
'compiler'
][
'build_path'
]
+
'*.*'
)
unless
$cfg
[
'compiler'
][
'build_path'
].
nil?
CLEAN
.
include
(
$cfg
[
'compiler'
][
'build_path'
]
+
'*.*'
)
unless
$cfg
[
'compiler'
][
'build_path'
].
nil?
end
end
def
configure_toolchain
(
config_file
=
DEFAULT_CONFIG_FILE
)
def
configure_toolchain
(
config_file
=
DEFAULT_CONFIG_FILE
)
config_file
+=
'.yml'
unless
config_file
=~
/\.yml$/
config_file
+=
'.yml'
unless
config_file
=~
/\.yml$/
load_configuration
(
config_file
)
load_configuration
(
config_file
)
configure_clean
configure_clean
end
end
def
unit_test_files
def
unit_test_files
path
=
$cfg
[
'compiler'
][
'unit_tests_path'
]
+
'Test*'
+
C_EXTENSION
path
=
$cfg
[
'compiler'
][
'unit_tests_path'
]
+
'Test*'
+
C_EXTENSION
path
.
tr!
(
'\\'
,
'/'
)
path
.
tr!
(
'\\'
,
'/'
)
FileList
.
new
(
path
)
FileList
.
new
(
path
)
end
end
def
local_include_dirs
def
local_include_dirs
include_dirs
=
$cfg
[
'compiler'
][
'includes'
][
'items'
].
dup
include_dirs
=
$cfg
[
'compiler'
][
'includes'
][
'items'
].
dup
include_dirs
.
delete_if
{
|
dir
|
dir
.
is_a?
(
Array
)
}
include_dirs
.
delete_if
{
|
dir
|
dir
.
is_a?
(
Array
)
}
include_dirs
include_dirs
end
end
def
extract_headers
(
filename
)
def
extract_headers
(
filename
)
includes
=
[]
includes
=
[]
lines
=
File
.
readlines
(
filename
)
lines
=
File
.
readlines
(
filename
)
lines
.
each
do
|
line
|
lines
.
each
do
|
line
|
...
@@ -42,32 +41,32 @@ module RakefileHelpers
...
@@ -42,32 +41,32 @@ module RakefileHelpers
includes
<<
m
[
1
]
unless
m
.
nil?
includes
<<
m
[
1
]
unless
m
.
nil?
end
end
includes
includes
end
end
def
find_source_file
(
header
,
paths
)
def
find_source_file
(
header
,
paths
)
paths
.
each
do
|
dir
|
paths
.
each
do
|
dir
|
src_file
=
dir
+
header
.
ext
(
C_EXTENSION
)
src_file
=
dir
+
header
.
ext
(
C_EXTENSION
)
return
src_file
if
File
.
exist?
(
src_file
)
return
src_file
if
File
.
exist?
(
src_file
)
end
end
nil
nil
end
end
def
tackit
(
strings
)
def
tackit
(
strings
)
result
=
if
strings
.
is_a?
(
Array
)
result
=
if
strings
.
is_a?
(
Array
)
"
\"
#{
strings
.
join
}
\"
"
"
\"
#{
strings
.
join
}
\"
"
else
else
strings
strings
end
end
result
result
end
end
def
squash
(
prefix
,
items
)
def
squash
(
prefix
,
items
)
result
=
''
result
=
''
items
.
each
{
|
item
|
result
+=
"
#{
prefix
}#{
tackit
(
item
)
}
"
}
items
.
each
{
|
item
|
result
+=
"
#{
prefix
}#{
tackit
(
item
)
}
"
}
result
result
end
end
def
build_compiler_fields
def
build_compiler_fields
command
=
tackit
(
$cfg
[
'compiler'
][
'path'
])
command
=
tackit
(
$cfg
[
'compiler'
][
'path'
])
defines
=
if
$cfg
[
'compiler'
][
'defines'
][
'items'
].
nil?
defines
=
if
$cfg
[
'compiler'
][
'defines'
][
'items'
].
nil?
''
''
...
@@ -79,18 +78,18 @@ module RakefileHelpers
...
@@ -79,18 +78,18 @@ module RakefileHelpers
includes
=
includes
.
gsub
(
/\\ /
,
' '
).
gsub
(
/\\\"/
,
'"'
).
gsub
(
/\\$/
,
''
)
# Remove trailing slashes (for IAR)
includes
=
includes
.
gsub
(
/\\ /
,
' '
).
gsub
(
/\\\"/
,
'"'
).
gsub
(
/\\$/
,
''
)
# Remove trailing slashes (for IAR)
{
command:
command
,
defines:
defines
,
options:
options
,
includes:
includes
}
{
command:
command
,
defines:
defines
,
options:
options
,
includes:
includes
}
end
end
def
compile
(
file
,
_defines
=
[])
def
compile
(
file
,
_defines
=
[])
compiler
=
build_compiler_fields
compiler
=
build_compiler_fields
cmd_str
=
"
#{
compiler
[
:command
]
}#{
compiler
[
:defines
]
}#{
compiler
[
:options
]
}#{
compiler
[
:includes
]
}
#{
file
}
"
\
cmd_str
=
"
#{
compiler
[
:command
]
}#{
compiler
[
:defines
]
}#{
compiler
[
:options
]
}#{
compiler
[
:includes
]
}
#{
file
}
"
\
"
#{
$cfg
[
'compiler'
][
'object_files'
][
'prefix'
]
}#{
$cfg
[
'compiler'
][
'object_files'
][
'destination'
]
}
"
"
#{
$cfg
[
'compiler'
][
'object_files'
][
'prefix'
]
}#{
$cfg
[
'compiler'
][
'object_files'
][
'destination'
]
}
"
obj_file
=
"
#{
File
.
basename
(
file
,
C_EXTENSION
)
}#{
$cfg
[
'compiler'
][
'object_files'
][
'extension'
]
}
"
obj_file
=
"
#{
File
.
basename
(
file
,
C_EXTENSION
)
}#{
$cfg
[
'compiler'
][
'object_files'
][
'extension'
]
}
"
execute
(
cmd_str
+
obj_file
)
execute
(
cmd_str
+
obj_file
)
obj_file
obj_file
end
end
def
build_linker_fields
def
build_linker_fields
command
=
tackit
(
$cfg
[
'linker'
][
'path'
])
command
=
tackit
(
$cfg
[
'linker'
][
'path'
])
options
=
if
$cfg
[
'linker'
][
'options'
].
nil?
options
=
if
$cfg
[
'linker'
][
'options'
].
nil?
''
''
...
@@ -104,9 +103,9 @@ module RakefileHelpers
...
@@ -104,9 +103,9 @@ module RakefileHelpers
end
.
gsub
(
/\\ /
,
' '
).
gsub
(
/\\\"/
,
'"'
).
gsub
(
/\\$/
,
''
)
# Remove trailing slashes (for IAR)
end
.
gsub
(
/\\ /
,
' '
).
gsub
(
/\\\"/
,
'"'
).
gsub
(
/\\$/
,
''
)
# Remove trailing slashes (for IAR)
{
command:
command
,
options:
options
,
includes:
includes
}
{
command:
command
,
options:
options
,
includes:
includes
}
end
end
def
link_it
(
exe_name
,
obj_list
)
def
link_it
(
exe_name
,
obj_list
)
linker
=
build_linker_fields
linker
=
build_linker_fields
cmd_str
=
"
#{
linker
[
:command
]
}#{
linker
[
:options
]
}#{
linker
[
:includes
]
}
"
+
cmd_str
=
"
#{
linker
[
:command
]
}#{
linker
[
:options
]
}#{
linker
[
:includes
]
}
"
+
(
obj_list
.
map
{
|
obj
|
"
#{
$cfg
[
'linker'
][
'object_files'
][
'path'
]
}#{
obj
}
"
}).
join
+
(
obj_list
.
map
{
|
obj
|
"
#{
$cfg
[
'linker'
][
'object_files'
][
'path'
]
}#{
obj
}
"
}).
join
+
...
@@ -114,10 +113,11 @@ module RakefileHelpers
...
@@ -114,10 +113,11 @@ module RakefileHelpers
$cfg
[
'linker'
][
'bin_files'
][
'destination'
]
+
$cfg
[
'linker'
][
'bin_files'
][
'destination'
]
+
exe_name
+
$cfg
[
'linker'
][
'bin_files'
][
'extension'
]
exe_name
+
$cfg
[
'linker'
][
'bin_files'
][
'extension'
]
execute
(
cmd_str
)
execute
(
cmd_str
)
end
end
def
build_simulator_fields
def
build_simulator_fields
return
nil
if
$cfg
[
'simulator'
].
nil?
return
nil
if
$cfg
[
'simulator'
].
nil?
command
=
if
$cfg
[
'simulator'
][
'path'
].
nil?
command
=
if
$cfg
[
'simulator'
][
'path'
].
nil?
''
''
else
else
...
@@ -135,19 +135,21 @@ module RakefileHelpers
...
@@ -135,19 +135,21 @@ module RakefileHelpers
end
end
{
command:
command
,
pre_support:
pre_support
,
post_support:
post_support
}
{
command:
command
,
pre_support:
pre_support
,
post_support:
post_support
}
end
end
def
execute
(
command_string
,
verbose
=
true
,
raise_on_fail
=
true
)
def
execute
(
command_string
,
verbose
=
true
,
raise_on_fail
=
true
)
report
command_string
report
command_string
output
=
`
#{
command_string
}
`
.
chomp
output
=
`
#{
command_string
}
`
.
chomp
report
(
output
)
if
verbose
&&
!
output
.
nil?
&&
!
output
.
empty?
report
(
output
)
if
verbose
&&
!
output
.
nil?
&&
!
output
.
empty?
if
!
$?
.
nil?
&&
!
$?
.
exitstatus
.
zero?
&&
raise_on_fail
if
!
$?
.
nil?
&&
!
$?
.
exitstatus
.
zero?
&&
raise_on_fail
raise
"Command failed. (Returned
#{
$?
.
exitstatus
}
)"
raise
"Command failed. (Returned
#{
$?
.
exitstatus
}
)"
end
end
output
output
end
end
def
report_summary
def
report_summary
summary
=
UnityTestSummary
.
new
summary
=
UnityTestSummary
.
new
summary
.
root
=
__dir__
summary
.
root
=
__dir__
results_glob
=
"
#{
$cfg
[
'compiler'
][
'build_path'
]
}
*.test*"
results_glob
=
"
#{
$cfg
[
'compiler'
][
'build_path'
]
}
*.test*"
...
@@ -156,9 +158,9 @@ module RakefileHelpers
...
@@ -156,9 +158,9 @@ module RakefileHelpers
summary
.
targets
=
results
summary
.
targets
=
results
summary
.
run
summary
.
run
fail_out
'FAIL: There were failures'
if
summary
.
failures
>
0
fail_out
'FAIL: There were failures'
if
summary
.
failures
>
0
end
end
def
run_tests
(
test_files
)
def
run_tests
(
test_files
)
report
'Running system tests...'
report
'Running system tests...'
# Tack on TEST define for compiling unit tests
# Tack on TEST define for compiling unit tests
...
@@ -216,9 +218,9 @@ module RakefileHelpers
...
@@ -216,9 +218,9 @@ module RakefileHelpers
end
end
File
.
open
(
test_results
,
'w'
)
{
|
f
|
f
.
print
output
}
File
.
open
(
test_results
,
'w'
)
{
|
f
|
f
.
print
output
}
end
end
end
end
def
build_application
(
main
)
def
build_application
(
main
)
report
'Building application...'
report
'Building application...'
obj_list
=
[]
obj_list
=
[]
...
@@ -238,12 +240,11 @@ module RakefileHelpers
...
@@ -238,12 +240,11 @@ module RakefileHelpers
# Create the executable
# Create the executable
link_it
(
main_base
,
obj_list
)
link_it
(
main_base
,
obj_list
)
end
end
def
fail_out
(
msg
)
def
fail_out
(
msg
)
puts
msg
puts
msg
puts
'Not returning exit code so continuous integration can pass'
puts
'Not returning exit code so continuous integration can pass'
# exit(-1) # Only removed to pass example_3, which has failing tests on purpose.
# exit(-1) # Only removed to pass example_3, which has failing tests on purpose.
# Still fail if the build fails for any other reason.
# Still fail if the build fails for any other reason.
end
end
end
extras/fixture/rakefile.rb
浏览文件 @
eb0bd42f
...
@@ -20,8 +20,6 @@ end
...
@@ -20,8 +20,6 @@ end
task
prepare_for_tests:
TEMP_DIRS
task
prepare_for_tests:
TEMP_DIRS
include
RakefileHelpers
# Load default configuration, for now
# Load default configuration, for now
DEFAULT_CONFIG_FILE
=
'gcc_auto_stdint.yml'
.
freeze
DEFAULT_CONFIG_FILE
=
'gcc_auto_stdint.yml'
.
freeze
configure_toolchain
(
DEFAULT_CONFIG_FILE
)
configure_toolchain
(
DEFAULT_CONFIG_FILE
)
...
...
extras/fixture/rakefile_helper.rb
浏览文件 @
eb0bd42f
...
@@ -10,45 +10,44 @@ require_relative '../../auto/unity_test_summary'
...
@@ -10,45 +10,44 @@ require_relative '../../auto/unity_test_summary'
require_relative
'../../auto/generate_test_runner'
require_relative
'../../auto/generate_test_runner'
require_relative
'../../auto/colour_reporter'
require_relative
'../../auto/colour_reporter'
module
RakefileHelpers
C_EXTENSION
=
'.c'
.
freeze
C_EXTENSION
=
'.c'
.
freeze
def
load_configuration
(
config_file
)
def
load_configuration
(
config_file
)
return
if
$configured
return
if
$configured
$cfg_file
=
"
#{
__dir__
}
/../../test/targets/
#{
config_file
}
"
unless
config_file
=~
/[\\|\/]/
$cfg_file
=
"
#{
__dir__
}
/../../test/targets/
#{
config_file
}
"
unless
config_file
=~
/[\\|\/]/
$cfg
=
YAML
.
load
(
File
.
read
(
$cfg_file
))
$cfg
=
YAML
.
load
(
File
.
read
(
$cfg_file
))
$colour_output
=
false
unless
$cfg
[
'colour'
]
$colour_output
=
false
unless
$cfg
[
'colour'
]
$configured
=
true
if
config_file
!=
DEFAULT_CONFIG_FILE
$configured
=
true
if
config_file
!=
DEFAULT_CONFIG_FILE
end
end
def
configure_clean
def
configure_clean
CLEAN
.
include
(
$cfg
[
'compiler'
][
'build_path'
]
+
'*.*'
)
unless
$cfg
[
'compiler'
][
'build_path'
].
nil?
CLEAN
.
include
(
$cfg
[
'compiler'
][
'build_path'
]
+
'*.*'
)
unless
$cfg
[
'compiler'
][
'build_path'
].
nil?
end
end
def
configure_toolchain
(
config_file
=
DEFAULT_CONFIG_FILE
)
def
configure_toolchain
(
config_file
=
DEFAULT_CONFIG_FILE
)
config_file
+=
'.yml'
unless
config_file
=~
/\.yml$/
config_file
+=
'.yml'
unless
config_file
=~
/\.yml$/
config_file
=
config_file
unless
config_file
=~
/[\\|\/]/
config_file
=
config_file
unless
config_file
=~
/[\\|\/]/
load_configuration
(
config_file
)
load_configuration
(
config_file
)
configure_clean
configure_clean
end
end
def
tackit
(
strings
)
def
tackit
(
strings
)
result
=
if
strings
.
is_a?
(
Array
)
result
=
if
strings
.
is_a?
(
Array
)
"
\"
#{
strings
.
join
}
\"
"
"
\"
#{
strings
.
join
}
\"
"
else
else
strings
strings
end
end
result
result
end
end
def
squash
(
prefix
,
items
)
def
squash
(
prefix
,
items
)
result
=
''
result
=
''
items
.
each
{
|
item
|
result
+=
"
#{
prefix
}#{
tackit
(
item
)
}
"
}
items
.
each
{
|
item
|
result
+=
"
#{
prefix
}#{
tackit
(
item
)
}
"
}
result
result
end
end
def
build_compiler_fields
def
build_compiler_fields
command
=
tackit
(
$cfg
[
'compiler'
][
'path'
])
command
=
tackit
(
$cfg
[
'compiler'
][
'path'
])
defines
=
if
$cfg
[
'compiler'
][
'defines'
][
'items'
].
nil?
defines
=
if
$cfg
[
'compiler'
][
'defines'
][
'items'
].
nil?
''
''
...
@@ -60,9 +59,9 @@ module RakefileHelpers
...
@@ -60,9 +59,9 @@ module RakefileHelpers
includes
=
includes
.
gsub
(
/\\ /
,
' '
).
gsub
(
/\\\"/
,
'"'
).
gsub
(
/\\$/
,
''
)
# Remove trailing slashes (for IAR)
includes
=
includes
.
gsub
(
/\\ /
,
' '
).
gsub
(
/\\\"/
,
'"'
).
gsub
(
/\\$/
,
''
)
# Remove trailing slashes (for IAR)
{
command:
command
,
defines:
defines
,
options:
options
,
includes:
includes
}
{
command:
command
,
defines:
defines
,
options:
options
,
includes:
includes
}
end
end
def
compile
(
file
,
_defines
=
[])
def
compile
(
file
,
_defines
=
[])
compiler
=
build_compiler_fields
compiler
=
build_compiler_fields
unity_include
=
$cfg
[
'compiler'
][
'includes'
][
'prefix'
]
+
'../../src'
unity_include
=
$cfg
[
'compiler'
][
'includes'
][
'prefix'
]
+
'../../src'
cmd_str
=
"
#{
compiler
[
:command
]
}#{
compiler
[
:defines
]
}#{
compiler
[
:options
]
}#{
compiler
[
:includes
]
}
#{
unity_include
}
#{
file
}
"
\
cmd_str
=
"
#{
compiler
[
:command
]
}#{
compiler
[
:defines
]
}#{
compiler
[
:options
]
}#{
compiler
[
:includes
]
}
#{
unity_include
}
#{
file
}
"
\
...
@@ -70,9 +69,9 @@ module RakefileHelpers
...
@@ -70,9 +69,9 @@ module RakefileHelpers
"
#{
File
.
basename
(
file
,
C_EXTENSION
)
}#{
$cfg
[
'compiler'
][
'object_files'
][
'extension'
]
}
"
"
#{
File
.
basename
(
file
,
C_EXTENSION
)
}#{
$cfg
[
'compiler'
][
'object_files'
][
'extension'
]
}
"
execute
(
cmd_str
)
execute
(
cmd_str
)
end
end
def
build_linker_fields
def
build_linker_fields
command
=
tackit
(
$cfg
[
'linker'
][
'path'
])
command
=
tackit
(
$cfg
[
'linker'
][
'path'
])
options
=
if
$cfg
[
'linker'
][
'options'
].
nil?
options
=
if
$cfg
[
'linker'
][
'options'
].
nil?
''
''
...
@@ -86,9 +85,9 @@ module RakefileHelpers
...
@@ -86,9 +85,9 @@ module RakefileHelpers
end
.
gsub
(
/\\ /
,
' '
).
gsub
(
/\\\"/
,
'"'
).
gsub
(
/\\$/
,
''
)
# Remove trailing slashes (for IAR)
end
.
gsub
(
/\\ /
,
' '
).
gsub
(
/\\\"/
,
'"'
).
gsub
(
/\\$/
,
''
)
# Remove trailing slashes (for IAR)
{
command:
command
,
options:
options
,
includes:
includes
}
{
command:
command
,
options:
options
,
includes:
includes
}
end
end
def
link_it
(
exe_name
,
obj_list
)
def
link_it
(
exe_name
,
obj_list
)
linker
=
build_linker_fields
linker
=
build_linker_fields
cmd_str
=
"
#{
linker
[
:command
]
}#{
linker
[
:options
]
}#{
linker
[
:includes
]
}
"
+
cmd_str
=
"
#{
linker
[
:command
]
}#{
linker
[
:options
]
}#{
linker
[
:includes
]
}
"
+
(
obj_list
.
map
{
|
obj
|
"
#{
$cfg
[
'linker'
][
'object_files'
][
'path'
]
}#{
obj
}
"
}).
join
+
(
obj_list
.
map
{
|
obj
|
"
#{
$cfg
[
'linker'
][
'object_files'
][
'path'
]
}#{
obj
}
"
}).
join
+
...
@@ -96,10 +95,11 @@ module RakefileHelpers
...
@@ -96,10 +95,11 @@ module RakefileHelpers
$cfg
[
'linker'
][
'bin_files'
][
'destination'
]
+
$cfg
[
'linker'
][
'bin_files'
][
'destination'
]
+
exe_name
+
$cfg
[
'linker'
][
'bin_files'
][
'extension'
]
exe_name
+
$cfg
[
'linker'
][
'bin_files'
][
'extension'
]
execute
(
cmd_str
)
execute
(
cmd_str
)
end
end
def
build_simulator_fields
def
build_simulator_fields
return
nil
if
$cfg
[
'simulator'
].
nil?
return
nil
if
$cfg
[
'simulator'
].
nil?
command
=
if
$cfg
[
'simulator'
][
'path'
].
nil?
command
=
if
$cfg
[
'simulator'
][
'path'
].
nil?
''
''
else
else
...
@@ -116,17 +116,19 @@ module RakefileHelpers
...
@@ -116,17 +116,19 @@ module RakefileHelpers
squash
(
''
,
$cfg
[
'simulator'
][
'post_support'
])
squash
(
''
,
$cfg
[
'simulator'
][
'post_support'
])
end
end
{
command:
command
,
pre_support:
pre_support
,
post_support:
post_support
}
{
command:
command
,
pre_support:
pre_support
,
post_support:
post_support
}
end
end
def
execute
(
command_string
,
verbose
=
true
)
def
execute
(
command_string
,
verbose
=
true
)
report
command_string
report
command_string
output
=
`
#{
command_string
}
`
.
chomp
output
=
`
#{
command_string
}
`
.
chomp
report
(
output
)
if
verbose
&&
!
output
.
nil?
&&
!
output
.
empty?
report
(
output
)
if
verbose
&&
!
output
.
nil?
&&
!
output
.
empty?
raise
"Command failed. (Returned
#{
$?
.
exitstatus
}
)"
if
$?
.
exitstatus
!=
0
raise
"Command failed. (Returned
#{
$?
.
exitstatus
}
)"
if
$?
.
exitstatus
!=
0
output
output
end
end
def
report_summary
def
report_summary
summary
=
UnityTestSummary
.
new
summary
=
UnityTestSummary
.
new
summary
.
root
=
__dir__
summary
.
root
=
__dir__
results_glob
=
"
#{
$cfg
[
'compiler'
][
'build_path'
]
}
*.test*"
results_glob
=
"
#{
$cfg
[
'compiler'
][
'build_path'
]
}
*.test*"
...
@@ -134,9 +136,9 @@ module RakefileHelpers
...
@@ -134,9 +136,9 @@ module RakefileHelpers
results
=
Dir
[
results_glob
]
results
=
Dir
[
results_glob
]
summary
.
targets
=
results
summary
.
targets
=
results
summary
.
run
summary
.
run
end
end
def
run_tests
def
run_tests
report
'Running Unity system tests...'
report
'Running Unity system tests...'
# Tack on TEST define for compiling unit tests
# Tack on TEST define for compiling unit tests
...
@@ -174,5 +176,4 @@ module RakefileHelpers
...
@@ -174,5 +176,4 @@ module RakefileHelpers
'.testpass'
'.testpass'
end
end
File
.
open
(
test_results
,
'w'
)
{
|
f
|
f
.
print
output
}
File
.
open
(
test_results
,
'w'
)
{
|
f
|
f
.
print
output
}
end
end
end
test/.rubocop.yml
浏览文件 @
eb0bd42f
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
#inherit_from: .rubocop_todo.yml
#inherit_from: .rubocop_todo.yml
AllCops
:
AllCops
:
TargetRubyVersion
:
2.
1
TargetRubyVersion
:
2.
3
# These are areas where ThrowTheSwitch's coding style diverges from the Ruby standard
# These are areas where ThrowTheSwitch's coding style diverges from the Ruby standard
Style/SpecialGlobalVars
:
Style/SpecialGlobalVars
:
...
@@ -12,10 +12,20 @@ Style/FormatString:
...
@@ -12,10 +12,20 @@ Style/FormatString:
Enabled
:
false
Enabled
:
false
Style/GlobalVars
:
Style/GlobalVars
:
Enabled
:
false
Enabled
:
false
Style/FrozenStringLiteralComment
:
Enabled
:
false
Style/RegexpLiteral
:
Style/RegexpLiteral
:
AllowInnerSlashes
:
true
AllowInnerSlashes
:
true
Style/HashSyntax
:
Style/HashSyntax
:
EnforcedStyle
:
no_mixed_keys
EnforcedStyle
:
no_mixed_keys
Style/NumericPredicate
:
Enabled
:
false
# These are also places we diverge... but we will likely comply down the road
Style/IfUnlessModifier
:
Enabled
:
false
Style/FormatStringToken
:
Enabled
:
false
# This is disabled because it seems to get confused over nested hashes
# This is disabled because it seems to get confused over nested hashes
Layout/AlignHash
:
Layout/AlignHash
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录