mirror of
https://github.com/ThrowTheSwitch/Unity.git
synced 2026-08-25 20:49:58 +00:00
Merge branch 'master' into unit-test-execution-time
This commit is contained in:
+4
-2
@@ -14,11 +14,13 @@ before_install:
|
|||||||
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install --assume-yes --quiet gcc-multilib; fi
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install --assume-yes --quiet gcc-multilib; fi
|
||||||
install:
|
install:
|
||||||
- gem install rspec
|
- gem install rspec
|
||||||
- gem install rubocop
|
- gem install rubocop -v 0.57.2
|
||||||
script:
|
script:
|
||||||
- cd test && rake ci
|
- cd test && rake ci
|
||||||
- make -s
|
- make -s
|
||||||
- make -s DEBUG=-m32
|
- make -s DEBUG=-m32 #32-bit architecture with 64-bit support
|
||||||
|
- make -s DEBUG=-m32 UNITY_SUPPORT_64= #32-bit build without 64-bit types
|
||||||
|
- make -s UNITY_INCLUDE_DOUBLE= # without double
|
||||||
- cd ../extras/fixture/test && rake ci
|
- cd ../extras/fixture/test && rake ci
|
||||||
- make -s default noStdlibMalloc
|
- make -s default noStdlibMalloc
|
||||||
- make -s C89
|
- make -s C89
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ class UnityTestRunnerGenerator
|
|||||||
framework: :unity,
|
framework: :unity,
|
||||||
test_prefix: 'test|spec|should',
|
test_prefix: 'test|spec|should',
|
||||||
mock_prefix: 'Mock',
|
mock_prefix: 'Mock',
|
||||||
|
mock_suffix: '',
|
||||||
setup_name: 'setUp',
|
setup_name: 'setUp',
|
||||||
teardown_name: 'tearDown',
|
teardown_name: 'tearDown',
|
||||||
main_name: 'main', # set to :auto to automatically generate each time
|
main_name: 'main', # set to :auto to automatically generate each time
|
||||||
@@ -119,7 +120,7 @@ class UnityTestRunnerGenerator
|
|||||||
source_index = 0
|
source_index = 0
|
||||||
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 =~ /#{tests_and_line_numbers[i][:test]}/
|
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
|
||||||
@@ -148,7 +149,7 @@ class UnityTestRunnerGenerator
|
|||||||
mock_headers = []
|
mock_headers = []
|
||||||
includes.each do |include_path|
|
includes.each do |include_path|
|
||||||
include_file = File.basename(include_path)
|
include_file = File.basename(include_path)
|
||||||
mock_headers << include_path if include_file =~ /^#{@options[:mock_prefix]}/i
|
mock_headers << include_path if include_file =~ /^#{@options[:mock_prefix]}.*#{@options[:mock_suffix]}$/i
|
||||||
end
|
end
|
||||||
mock_headers
|
mock_headers
|
||||||
end
|
end
|
||||||
@@ -157,9 +158,14 @@ class UnityTestRunnerGenerator
|
|||||||
output.puts('/* AUTOGENERATED FILE. DO NOT EDIT. */')
|
output.puts('/* AUTOGENERATED FILE. DO NOT EDIT. */')
|
||||||
create_runtest(output, mocks)
|
create_runtest(output, mocks)
|
||||||
output.puts("\n/*=======Automagically Detected Files To Include=====*/")
|
output.puts("\n/*=======Automagically Detected Files To Include=====*/")
|
||||||
|
output.puts('#ifdef __WIN32__')
|
||||||
|
output.puts('#define UNITY_INCLUDE_SETUP_STUBS')
|
||||||
|
output.puts('#endif')
|
||||||
output.puts("#include \"#{@options[:framework]}.h\"")
|
output.puts("#include \"#{@options[:framework]}.h\"")
|
||||||
output.puts('#include "cmock.h"') unless mocks.empty?
|
output.puts('#include "cmock.h"') unless mocks.empty?
|
||||||
|
output.puts('#ifndef UNITY_EXCLUDE_SETJMP_H')
|
||||||
output.puts('#include <setjmp.h>')
|
output.puts('#include <setjmp.h>')
|
||||||
|
output.puts("#endif")
|
||||||
output.puts('#include <stdio.h>')
|
output.puts('#include <stdio.h>')
|
||||||
if @options[:defines] && !@options[:defines].empty?
|
if @options[:defines] && !@options[:defines].empty?
|
||||||
@options[:defines].each { |d| output.puts("#define #{d}") }
|
@options[:defines].each { |d| output.puts("#define #{d}") }
|
||||||
@@ -235,22 +241,36 @@ class UnityTestRunnerGenerator
|
|||||||
end
|
end
|
||||||
|
|
||||||
def create_suite_setup(output)
|
def create_suite_setup(output)
|
||||||
return if @options[:suite_setup].nil?
|
|
||||||
|
|
||||||
output.puts("\n/*=======Suite Setup=====*/")
|
output.puts("\n/*=======Suite Setup=====*/")
|
||||||
output.puts('static void suite_setup(void)')
|
output.puts('static void suite_setup(void)')
|
||||||
output.puts('{')
|
output.puts('{')
|
||||||
output.puts(@options[:suite_setup])
|
if @options[:suite_setup].nil?
|
||||||
|
# New style, call suiteSetUp() if we can use weak symbols
|
||||||
|
output.puts('#if defined(UNITY_WEAK_ATTRIBUTE) || defined(UNITY_WEAK_PRAGMA)')
|
||||||
|
output.puts(' suiteSetUp();')
|
||||||
|
output.puts('#endif')
|
||||||
|
else
|
||||||
|
# Old style, C code embedded in the :suite_setup option
|
||||||
|
output.puts(@options[:suite_setup])
|
||||||
|
end
|
||||||
output.puts('}')
|
output.puts('}')
|
||||||
end
|
end
|
||||||
|
|
||||||
def create_suite_teardown(output)
|
def create_suite_teardown(output)
|
||||||
return if @options[:suite_teardown].nil?
|
|
||||||
|
|
||||||
output.puts("\n/*=======Suite Teardown=====*/")
|
output.puts("\n/*=======Suite Teardown=====*/")
|
||||||
output.puts('static int suite_teardown(int num_failures)')
|
output.puts('static int suite_teardown(int num_failures)')
|
||||||
output.puts('{')
|
output.puts('{')
|
||||||
output.puts(@options[:suite_teardown])
|
if @options[:suite_teardown].nil?
|
||||||
|
# New style, call suiteTearDown() if we can use weak symbols
|
||||||
|
output.puts('#if defined(UNITY_WEAK_ATTRIBUTE) || defined(UNITY_WEAK_PRAGMA)')
|
||||||
|
output.puts(' return suiteTearDown(num_failures);')
|
||||||
|
output.puts('#else')
|
||||||
|
output.puts(' return num_failures;')
|
||||||
|
output.puts('#endif')
|
||||||
|
else
|
||||||
|
# Old style, C code embedded in the :suite_teardown option
|
||||||
|
output.puts(@options[:suite_teardown])
|
||||||
|
end
|
||||||
output.puts('}')
|
output.puts('}')
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -342,7 +362,7 @@ class UnityTestRunnerGenerator
|
|||||||
output.puts("int #{main_name}(void)")
|
output.puts("int #{main_name}(void)")
|
||||||
output.puts('{')
|
output.puts('{')
|
||||||
end
|
end
|
||||||
output.puts(' suite_setup();') unless @options[:suite_setup].nil?
|
output.puts(' suite_setup();')
|
||||||
output.puts(" UnityBegin(\"#{filename.gsub(/\\/, '\\\\\\')}\");")
|
output.puts(" UnityBegin(\"#{filename.gsub(/\\/, '\\\\\\')}\");")
|
||||||
if @options[:use_param_tests]
|
if @options[:use_param_tests]
|
||||||
tests.each do |test|
|
tests.each do |test|
|
||||||
@@ -357,7 +377,7 @@ class UnityTestRunnerGenerator
|
|||||||
end
|
end
|
||||||
output.puts
|
output.puts
|
||||||
output.puts(' CMock_Guts_MemFreeFinal();') unless used_mocks.empty?
|
output.puts(' CMock_Guts_MemFreeFinal();') unless used_mocks.empty?
|
||||||
output.puts(" return #{@options[:suite_teardown].nil? ? '' : 'suite_teardown'}(UnityEnd());")
|
output.puts(" return suite_teardown(UnityEnd());")
|
||||||
output.puts('}')
|
output.puts('}')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
+223
-120
@@ -1,206 +1,309 @@
|
|||||||
#============================================================
|
#============================================================
|
||||||
# Author: John Theofanopoulos
|
# Author: John Theofanopoulos
|
||||||
# A simple parser. Takes the output files generated during the build process and
|
# A simple parser. Takes the output files generated during the
|
||||||
# extracts information relating to the tests.
|
# build process and extracts information relating to the tests.
|
||||||
#
|
#
|
||||||
# Notes:
|
# Notes:
|
||||||
# To capture an output file under VS builds use the following:
|
# To capture an output file under VS builds use the following:
|
||||||
# devenv [build instructions] > Output.txt & type Output.txt
|
# devenv [build instructions] > Output.txt & type Output.txt
|
||||||
#
|
#
|
||||||
# To capture an output file under GCC/Linux builds use the following:
|
# To capture an output file under Linux builds use the following:
|
||||||
# make | tee Output.txt
|
# make | tee Output.txt
|
||||||
#
|
#
|
||||||
|
# This script can handle the following output formats:
|
||||||
|
# - normal output (raw unity)
|
||||||
|
# - fixture output (unity_fixture.h/.c)
|
||||||
|
# - fixture output with verbose flag set ("-v")
|
||||||
|
#
|
||||||
# To use this parser use the following command
|
# To use this parser use the following command
|
||||||
# ruby parseOutput.rb [options] [file]
|
# ruby parseOutput.rb [options] [file]
|
||||||
# options: -xml : produce a JUnit compatible XML file
|
# options: -xml : produce a JUnit compatible XML file
|
||||||
# file : file to scan for results
|
# file: file to scan for results
|
||||||
#============================================================
|
#============================================================
|
||||||
|
|
||||||
|
# Parser class for handling the input file
|
||||||
class ParseOutput
|
class ParseOutput
|
||||||
def initialize
|
def initialize
|
||||||
@test_flag = false
|
# internal data
|
||||||
|
@class_name_idx = 0
|
||||||
|
@path_delim = nil
|
||||||
|
|
||||||
|
# xml output related
|
||||||
@xml_out = false
|
@xml_out = false
|
||||||
@array_list = false
|
@array_list = false
|
||||||
@total_tests = false
|
|
||||||
@class_index = false
|
# current suite name and statistics
|
||||||
|
@test_suite = nil
|
||||||
|
@total_tests = 0
|
||||||
|
@test_passed = 0
|
||||||
|
@test_failed = 0
|
||||||
|
@test_ignored = 0
|
||||||
end
|
end
|
||||||
|
|
||||||
# Set the flag to indicate if there will be an XML output file or not
|
# Set the flag to indicate if there will be an XML output file or not
|
||||||
def set_xml_output
|
def set_xml_output
|
||||||
@xml_out = true
|
@xml_out = true
|
||||||
end
|
end
|
||||||
|
|
||||||
# if write our output to XML
|
# If write our output to XML
|
||||||
def write_xml_output
|
def write_xml_output
|
||||||
output = File.open('report.xml', 'w')
|
output = File.open('report.xml', 'w')
|
||||||
output << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
|
output << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
|
||||||
@array_list.each do |item|
|
@array_list.each do |item|
|
||||||
output << item << "\n"
|
output << item << "\n"
|
||||||
end
|
end
|
||||||
output << "</testsuite>\n"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# This function will try and determine when the suite is changed. This is
|
# Pushes the suite info as xml to the array list, which will be written later
|
||||||
|
def push_xml_output_suite_info
|
||||||
|
# Insert opening tag at front
|
||||||
|
heading = '<testsuite name="Unity" tests="' + @total_tests.to_s + '" failures="' + @test_failed.to_s + '"' + ' skips="' + @test_ignored.to_s + '">'
|
||||||
|
@array_list.insert(0, heading)
|
||||||
|
# Push back the closing tag
|
||||||
|
@array_list.push '</testsuite>'
|
||||||
|
end
|
||||||
|
|
||||||
|
# Pushes xml output data to the array list, which will be written later
|
||||||
|
def push_xml_output_passed(test_name)
|
||||||
|
@array_list.push ' <testcase classname="' + @test_suite + '" name="' + test_name + '"/>'
|
||||||
|
end
|
||||||
|
|
||||||
|
# Pushes xml output data to the array list, which will be written later
|
||||||
|
def push_xml_output_failed(test_name, reason)
|
||||||
|
@array_list.push ' <testcase classname="' + @test_suite + '" name="' + test_name + '">'
|
||||||
|
@array_list.push ' <failure type="ASSERT FAILED">' + reason + '</failure>'
|
||||||
|
@array_list.push ' </testcase>'
|
||||||
|
end
|
||||||
|
|
||||||
|
# Pushes xml output data to the array list, which will be written later
|
||||||
|
def push_xml_output_ignored(test_name, reason)
|
||||||
|
@array_list.push ' <testcase classname="' + @test_suite + '" name="' + test_name + '">'
|
||||||
|
@array_list.push ' <skipped type="TEST IGNORED">' + reason + '</skipped>'
|
||||||
|
@array_list.push ' </testcase>'
|
||||||
|
end
|
||||||
|
|
||||||
|
# This function will try and determine when the suite is changed. This is
|
||||||
# is the name that gets added to the classname parameter.
|
# is the name that gets added to the classname parameter.
|
||||||
def test_suite_verify(test_suite_name)
|
def test_suite_verify(test_suite_name)
|
||||||
return if @test_flag
|
|
||||||
|
|
||||||
@test_flag = true
|
|
||||||
# Split the path name
|
# Split the path name
|
||||||
test_name = test_suite_name.split('/')
|
test_name = test_suite_name.split(@path_delim)
|
||||||
# Remove the extension
|
|
||||||
base_name = test_name[test_name.size - 1].split('.')
|
# Remove the extension and extract the base_name
|
||||||
@test_suite = 'test.' + base_name[0]
|
base_name = test_name[test_name.size - 1].split('.')[0]
|
||||||
|
|
||||||
|
# Return if the test suite hasn't changed
|
||||||
|
return unless base_name.to_s != @test_suite.to_s
|
||||||
|
|
||||||
|
@test_suite = base_name
|
||||||
printf "New Test: %s\n", @test_suite
|
printf "New Test: %s\n", @test_suite
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Prepares the line for verbose fixture output ("-v")
|
||||||
|
def prepare_fixture_line(line)
|
||||||
|
line = line.sub('IGNORE_TEST(', '')
|
||||||
|
line = line.sub('TEST(', '')
|
||||||
|
line = line.sub(')', ',')
|
||||||
|
line = line.chomp
|
||||||
|
array = line.split(',')
|
||||||
|
array.map { |x| x.to_s.lstrip.chomp }
|
||||||
|
end
|
||||||
|
|
||||||
|
# Test was flagged as having passed so format the output.
|
||||||
|
# This is using the Unity fixture output and not the original Unity output.
|
||||||
|
def test_passed_unity_fixture(array)
|
||||||
|
class_name = array[0]
|
||||||
|
test_name = array[1]
|
||||||
|
test_suite_verify(class_name)
|
||||||
|
printf "%-40s PASS\n", test_name
|
||||||
|
|
||||||
|
push_xml_output_passed(test_name) if @xml_out
|
||||||
|
end
|
||||||
|
|
||||||
|
# Test was flagged as having failed so format the output.
|
||||||
|
# This is using the Unity fixture output and not the original Unity output.
|
||||||
|
def test_failed_unity_fixture(array)
|
||||||
|
class_name = array[0]
|
||||||
|
test_name = array[1]
|
||||||
|
test_suite_verify(class_name)
|
||||||
|
reason_array = array[2].split(':')
|
||||||
|
reason = reason_array[-1].lstrip.chomp + ' at line: ' + reason_array[-4]
|
||||||
|
|
||||||
|
printf "%-40s FAILED\n", test_name
|
||||||
|
|
||||||
|
push_xml_output_failed(test_name, reason) if @xml_out
|
||||||
|
end
|
||||||
|
|
||||||
|
# Test was flagged as being ignored so format the output.
|
||||||
|
# This is using the Unity fixture output and not the original Unity output.
|
||||||
|
def test_ignored_unity_fixture(array)
|
||||||
|
class_name = array[0]
|
||||||
|
test_name = array[1]
|
||||||
|
reason = 'No reason given'
|
||||||
|
if array.size > 2
|
||||||
|
reason_array = array[2].split(':')
|
||||||
|
tmp_reason = reason_array[-1].lstrip.chomp
|
||||||
|
reason = tmp_reason == 'IGNORE' ? 'No reason given' : tmp_reason
|
||||||
|
end
|
||||||
|
test_suite_verify(class_name)
|
||||||
|
printf "%-40s IGNORED\n", test_name
|
||||||
|
|
||||||
|
push_xml_output_ignored(test_name, reason) if @xml_out
|
||||||
|
end
|
||||||
|
|
||||||
# Test was flagged as having passed so format the output
|
# Test was flagged as having passed so format the output
|
||||||
def test_passed(array)
|
def test_passed(array)
|
||||||
last_item = array.length - 1
|
last_item = array.length - 1
|
||||||
test_name = array[last_item - 1]
|
test_name = array[last_item - 1]
|
||||||
test_suite_verify(array[@class_name])
|
test_suite_verify(array[@class_name_idx])
|
||||||
printf "%-40s PASS\n", test_name
|
printf "%-40s PASS\n", test_name
|
||||||
|
|
||||||
return unless @xml_out
|
return unless @xml_out
|
||||||
|
|
||||||
@array_list.push ' <testcase classname="' + @test_suite + '" name="' + test_name + '"/>'
|
push_xml_output_passed(test_name) if @xml_out
|
||||||
end
|
end
|
||||||
|
|
||||||
# Test was flagged as having passed so format the output.
|
# Test was flagged as having failed so format the line
|
||||||
# This is using the Unity fixture output and not the original Unity output.
|
|
||||||
def test_passed_unity_fixture(array)
|
|
||||||
test_suite = array[0].sub('TEST(', '')
|
|
||||||
test_suite = test_suite.sub(',', '')
|
|
||||||
test_name = array[1].sub(')', '')
|
|
||||||
|
|
||||||
return unless @xml_out
|
|
||||||
|
|
||||||
@array_list.push ' <testcase classname="' + test_suite + '" name="' + test_name + '"/>'
|
|
||||||
end
|
|
||||||
|
|
||||||
# Test was flagged as being ingored so format the output
|
|
||||||
def test_ignored(array)
|
|
||||||
last_item = array.length - 1
|
|
||||||
test_name = array[last_item - 2]
|
|
||||||
reason = array[last_item].chomp
|
|
||||||
test_suite_verify(array[@class_name])
|
|
||||||
printf "%-40s IGNORED\n", test_name
|
|
||||||
|
|
||||||
if test_name.start_with? 'TEST('
|
|
||||||
array2 = test_name.split(' ')
|
|
||||||
@test_suite = array2[0].sub('TEST(', '')
|
|
||||||
@test_suite = @test_suite.sub(',', '')
|
|
||||||
test_name = array2[1].sub(')', '')
|
|
||||||
end
|
|
||||||
|
|
||||||
return unless @xml_out
|
|
||||||
|
|
||||||
@array_list.push ' <testcase classname="' + @test_suite + '" name="' + test_name + '">'
|
|
||||||
@array_list.push ' <skipped type="TEST IGNORED"> ' + reason + ' </skipped>'
|
|
||||||
@array_list.push ' </testcase>'
|
|
||||||
end
|
|
||||||
|
|
||||||
# Test was flagged as having failed so format the line
|
|
||||||
def test_failed(array)
|
def test_failed(array)
|
||||||
last_item = array.length - 1
|
last_item = array.length - 1
|
||||||
test_name = array[last_item - 2]
|
test_name = array[last_item - 2]
|
||||||
reason = array[last_item].chomp + ' at line: ' + array[last_item - 3]
|
reason = array[last_item].chomp.lstrip + ' at line: ' + array[last_item - 3]
|
||||||
test_suite_verify(array[@class_name])
|
class_name = array[@class_name_idx]
|
||||||
printf "%-40s FAILED\n", test_name
|
|
||||||
|
|
||||||
if test_name.start_with? 'TEST('
|
if test_name.start_with? 'TEST('
|
||||||
array2 = test_name.split(' ')
|
array2 = test_name.split(' ')
|
||||||
@test_suite = array2[0].sub('TEST(', '')
|
|
||||||
@test_suite = @test_suite.sub(',', '')
|
test_suite = array2[0].sub('TEST(', '')
|
||||||
|
test_suite = test_suite.sub(',', '')
|
||||||
|
class_name = test_suite
|
||||||
|
|
||||||
test_name = array2[1].sub(')', '')
|
test_name = array2[1].sub(')', '')
|
||||||
end
|
end
|
||||||
|
|
||||||
return unless @xml_out
|
test_suite_verify(class_name)
|
||||||
|
printf "%-40s FAILED\n", test_name
|
||||||
|
|
||||||
@array_list.push ' <testcase classname="' + @test_suite + '" name="' + test_name + '">'
|
push_xml_output_failed(test_name, reason) if @xml_out
|
||||||
@array_list.push ' <failure type="ASSERT FAILED"> ' + reason + ' </failure>'
|
|
||||||
@array_list.push ' </testcase>'
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Figure out what OS we are running on. For now we are assuming if it's not Windows it must
|
# Test was flagged as being ignored so format the output
|
||||||
# be Unix based.
|
def test_ignored(array)
|
||||||
def detect_os
|
last_item = array.length - 1
|
||||||
os = RUBY_PLATFORM.split('-')
|
test_name = array[last_item - 2]
|
||||||
@class_name = if os.size == 2
|
reason = array[last_item].chomp.lstrip
|
||||||
if os[1] == 'mingw32'
|
class_name = array[@class_name_idx]
|
||||||
1
|
|
||||||
else
|
if test_name.start_with? 'TEST('
|
||||||
0
|
array2 = test_name.split(' ')
|
||||||
end
|
|
||||||
else
|
test_suite = array2[0].sub('TEST(', '')
|
||||||
0
|
test_suite = test_suite.sub(',', '')
|
||||||
end
|
class_name = test_suite
|
||||||
|
|
||||||
|
test_name = array2[1].sub(')', '')
|
||||||
|
end
|
||||||
|
|
||||||
|
test_suite_verify(class_name)
|
||||||
|
printf "%-40s IGNORED\n", test_name
|
||||||
|
|
||||||
|
push_xml_output_ignored(test_name, reason) if @xml_out
|
||||||
|
end
|
||||||
|
|
||||||
|
# Adjusts the os specific members according to the current path style
|
||||||
|
# (Windows or Unix based)
|
||||||
|
def set_os_specifics(line)
|
||||||
|
if line.include? '\\'
|
||||||
|
# Windows X:\Y\Z
|
||||||
|
@class_name_idx = 1
|
||||||
|
@path_delim = '\\'
|
||||||
|
else
|
||||||
|
# Unix Based /X/Y/Z
|
||||||
|
@class_name_idx = 0
|
||||||
|
@path_delim = '/'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Main function used to parse the file that was captured.
|
# Main function used to parse the file that was captured.
|
||||||
def process(name)
|
def process(file_name)
|
||||||
@test_flag = false
|
|
||||||
@array_list = []
|
@array_list = []
|
||||||
|
|
||||||
detect_os
|
puts 'Parsing file: ' + file_name
|
||||||
|
|
||||||
puts 'Parsing file: ' + name
|
@test_passed = 0
|
||||||
|
@test_failed = 0
|
||||||
test_pass = 0
|
@test_ignored = 0
|
||||||
test_fail = 0
|
|
||||||
test_ignore = 0
|
|
||||||
puts ''
|
puts ''
|
||||||
puts '=================== RESULTS ====================='
|
puts '=================== RESULTS ====================='
|
||||||
puts ''
|
puts ''
|
||||||
File.open(name).each do |line|
|
File.open(file_name).each do |line|
|
||||||
# Typical test lines look like this:
|
# Typical test lines look like these:
|
||||||
|
# ----------------------------------------------------
|
||||||
|
# 1. normal output:
|
||||||
# <path>/<test_file>.c:36:test_tc1000_opsys:FAIL: Expected 1 Was 0
|
# <path>/<test_file>.c:36:test_tc1000_opsys:FAIL: Expected 1 Was 0
|
||||||
# <path>/<test_file>.c:112:test_tc5004_initCanChannel:IGNORE: Not Yet Implemented
|
# <path>/<test_file>.c:112:test_tc5004_initCanChannel:IGNORE: Not Yet Implemented
|
||||||
# <path>/<test_file>.c:115:test_tc5100_initCanVoidPtrs:PASS
|
# <path>/<test_file>.c:115:test_tc5100_initCanVoidPtrs:PASS
|
||||||
#
|
#
|
||||||
# where path is different on Unix vs Windows devices (Windows leads with a drive letter)
|
# 2. fixture output
|
||||||
|
# <path>/<test_file>.c:63:TEST(<test_group>, <test_function>):FAIL: Expected 0x00001234 Was 0x00005A5A
|
||||||
|
# <path>/<test_file>.c:36:TEST(<test_group>, <test_function>):IGNORE
|
||||||
|
# Note: "PASS" information won't be generated in this mode
|
||||||
|
#
|
||||||
|
# 3. fixture output with verbose information ("-v")
|
||||||
|
# TEST(<test_group, <test_file>)<path>/<test_file>:168::FAIL: Expected 0x8D Was 0x8C
|
||||||
|
# TEST(<test_group>, <test_file>)<path>/<test_file>:22::IGNORE: This Test Was Ignored On Purpose
|
||||||
|
# IGNORE_TEST(<test_group, <test_file>)
|
||||||
|
# TEST(<test_group, <test_file>) PASS
|
||||||
|
#
|
||||||
|
# Note: Where path is different on Unix vs Windows devices (Windows leads with a drive letter)!
|
||||||
|
set_os_specifics(line)
|
||||||
line_array = line.split(':')
|
line_array = line.split(':')
|
||||||
|
|
||||||
# If we were able to split the line then we can look to see if any of our target words
|
# If we were able to split the line then we can look to see if any of our target words
|
||||||
# were found. Case is important.
|
# were found. Case is important.
|
||||||
if (line_array.size >= 4) || (line.start_with? 'TEST(')
|
if (line_array.size >= 4) || (line.start_with? 'TEST(') || (line.start_with? 'IGNORE_TEST(')
|
||||||
# Determine if this test passed
|
|
||||||
if line.include? ':PASS'
|
# check if the output is fixture output (with verbose flag "-v")
|
||||||
|
if (line.start_with? 'TEST(') || (line.start_with? 'IGNORE_TEST(')
|
||||||
|
line_array = prepare_fixture_line(line)
|
||||||
|
if line.include? ' PASS'
|
||||||
|
test_passed_unity_fixture(line_array)
|
||||||
|
@test_passed += 1
|
||||||
|
elsif line.include? 'FAIL'
|
||||||
|
test_failed_unity_fixture(line_array)
|
||||||
|
@test_failed += 1
|
||||||
|
elsif line.include? 'IGNORE'
|
||||||
|
test_ignored_unity_fixture(line_array)
|
||||||
|
@test_ignored += 1
|
||||||
|
end
|
||||||
|
# normal output / fixture output (without verbose "-v")
|
||||||
|
elsif line.include? ':PASS'
|
||||||
test_passed(line_array)
|
test_passed(line_array)
|
||||||
test_pass += 1
|
@test_passed += 1
|
||||||
elsif line.include? ':FAIL:'
|
elsif line.include? ':FAIL'
|
||||||
test_failed(line_array)
|
test_failed(line_array)
|
||||||
test_fail += 1
|
@test_failed += 1
|
||||||
elsif line.include? ':IGNORE:'
|
elsif line.include? ':IGNORE:'
|
||||||
test_ignored(line_array)
|
test_ignored(line_array)
|
||||||
test_ignore += 1
|
@test_ignored += 1
|
||||||
elsif line.start_with? 'TEST('
|
elsif line.include? ':IGNORE'
|
||||||
if line.include? ' PASS'
|
line_array.push('No reason given')
|
||||||
line_array = line.split(' ')
|
test_ignored(line_array)
|
||||||
test_passed_unity_fixture(line_array)
|
@test_ignored += 1
|
||||||
test_pass += 1
|
|
||||||
end
|
|
||||||
# If none of the keywords are found there are no more tests for this suite so clear
|
|
||||||
# the test flag
|
|
||||||
else
|
|
||||||
@test_flag = false
|
|
||||||
end
|
end
|
||||||
else
|
@total_tests = @test_passed + @test_failed + @test_ignored
|
||||||
@test_flag = false
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
puts ''
|
puts ''
|
||||||
puts '=================== SUMMARY ====================='
|
puts '=================== SUMMARY ====================='
|
||||||
puts ''
|
puts ''
|
||||||
puts 'Tests Passed : ' + test_pass.to_s
|
puts 'Tests Passed : ' + @test_passed.to_s
|
||||||
puts 'Tests Failed : ' + test_fail.to_s
|
puts 'Tests Failed : ' + @test_failed.to_s
|
||||||
puts 'Tests Ignored : ' + test_ignore.to_s
|
puts 'Tests Ignored : ' + @test_ignored.to_s
|
||||||
@total_tests = test_pass + test_fail + test_ignore
|
|
||||||
|
|
||||||
return unless @xml_out
|
return unless @xml_out
|
||||||
|
|
||||||
heading = '<testsuite tests="' + @total_tests.to_s + '" failures="' + test_fail.to_s + '"' + ' skips="' + test_ignore.to_s + '">'
|
# push information about the suite
|
||||||
@array_list.insert(0, heading)
|
push_xml_output_suite_info
|
||||||
|
# write xml output file
|
||||||
write_xml_output
|
write_xml_output
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -209,11 +312,11 @@ end
|
|||||||
parse_my_file = ParseOutput.new
|
parse_my_file = ParseOutput.new
|
||||||
|
|
||||||
if ARGV.size >= 1
|
if ARGV.size >= 1
|
||||||
ARGV.each do |a|
|
ARGV.each do |arg|
|
||||||
if a == '-xml'
|
if arg == '-xml'
|
||||||
parse_my_file.set_xml_output
|
parse_my_file.set_xml_output
|
||||||
else
|
else
|
||||||
parse_my_file.process(a)
|
parse_my_file.process(arg)
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -104,6 +104,15 @@ becomes messageified like thus...
|
|||||||
|
|
||||||
TEST_ASSERT_X_MESSAGE( {modifiers}, {expected}, actual, {size/count}, message )
|
TEST_ASSERT_X_MESSAGE( {modifiers}, {expected}, actual, {size/count}, message )
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
- The `_MESSAGE` variants intentionally do not support `printf` style formatting
|
||||||
|
since many embedded projects don't support or avoid `printf` for various reasons.
|
||||||
|
It is possible to use `sprintf` before the assertion to assemble a complex fail
|
||||||
|
message, if necessary.
|
||||||
|
- If you want to output a counter value within an assertion fail message (e.g. from
|
||||||
|
a loop) , building up an array of results and then using one of the `_ARRAY`
|
||||||
|
assertions (see below) might be a handy alternative to `sprintf`.
|
||||||
|
|
||||||
|
|
||||||
#### TEST_ASSERT_X_ARRAY Variants
|
#### TEST_ASSERT_X_ARRAY Variants
|
||||||
|
|
||||||
|
|||||||
@@ -79,18 +79,7 @@ _Example:_
|
|||||||
#define UNITY_EXCLUDE_LIMITS_H
|
#define UNITY_EXCLUDE_LIMITS_H
|
||||||
|
|
||||||
|
|
||||||
##### `UNITY_EXCLUDE_SIZEOF`
|
If you've disabled both of the automatic options above, you're going to have to
|
||||||
|
|
||||||
The third and final attempt to guess your types is to use the `sizeof()`
|
|
||||||
operator. Even if the first two options don't work, this one covers most cases.
|
|
||||||
There _is_ a rare compiler or two out there that doesn't support sizeof() in the
|
|
||||||
preprocessing stage, though. For these, you have the ability to disable this
|
|
||||||
feature as well.
|
|
||||||
|
|
||||||
_Example:_
|
|
||||||
#define UNITY_EXCLUDE_SIZEOF
|
|
||||||
|
|
||||||
If you've disabled all of the automatic options above, you're going to have to
|
|
||||||
do the configuration yourself. Don't worry. Even this isn't too bad... there are
|
do the configuration yourself. Don't worry. Even this isn't too bad... there are
|
||||||
just a handful of defines that you are going to specify if you don't like the
|
just a handful of defines that you are going to specify if you don't like the
|
||||||
defaults.
|
defaults.
|
||||||
@@ -127,7 +116,7 @@ _Example:_
|
|||||||
#define UNITY_POINTER_WIDTH 64
|
#define UNITY_POINTER_WIDTH 64
|
||||||
|
|
||||||
|
|
||||||
##### `UNITY_INCLUDE_64`
|
##### `UNITY_SUPPORT_64`
|
||||||
|
|
||||||
Unity will automatically include 64-bit support if it auto-detects it, or if
|
Unity will automatically include 64-bit support if it auto-detects it, or if
|
||||||
your `int`, `long`, or pointer widths are greater than 32-bits. Define this to
|
your `int`, `long`, or pointer widths are greater than 32-bits. Define this to
|
||||||
@@ -136,7 +125,7 @@ can be a significant size and speed impact to enabling 64-bit support on small
|
|||||||
targets, so don't define it if you don't need it.
|
targets, so don't define it if you don't need it.
|
||||||
|
|
||||||
_Example:_
|
_Example:_
|
||||||
#define UNITY_INCLUDE_64
|
#define UNITY_SUPPORT_64
|
||||||
|
|
||||||
|
|
||||||
### Floating Point Types
|
### Floating Point Types
|
||||||
@@ -170,24 +159,20 @@ _Example:_
|
|||||||
#define UNITY_INCLUDE_DOUBLE
|
#define UNITY_INCLUDE_DOUBLE
|
||||||
|
|
||||||
|
|
||||||
##### `UNITY_FLOAT_VERBOSE`
|
##### `UNITY_EXCLUDE_FLOAT_PRINT`
|
||||||
|
|
||||||
##### `UNITY_DOUBLE_VERBOSE`
|
|
||||||
|
|
||||||
Unity aims for as small of a footprint as possible and avoids most standard
|
Unity aims for as small of a footprint as possible and avoids most standard
|
||||||
library calls (some embedded platforms don't have a standard library!). Because
|
library calls (some embedded platforms don’t have a standard library!). Because
|
||||||
of this, its routines for printing integer values are minimalist and hand-coded.
|
of this, its routines for printing integer values are minimalist and hand-coded.
|
||||||
To keep Unity universal, though, we chose to _not_ develop our own floating
|
Therefore, the display of floating point values during a failure are optional.
|
||||||
point print routines. Instead, the display of floating point values during a
|
By default, Unity will print the actual results of floating point assertion
|
||||||
failure are optional. By default, Unity will not print the actual results of
|
failure (e.g. ”Expected 4.56 Was 4.68”). To not include this extra support, you
|
||||||
floating point assertion failure. So a failed assertion will produce a message
|
can use this define to instead respond to a failed assertion with a message like
|
||||||
like `"Values Not Within Delta"`. If you would like verbose failure messages for
|
”Values Not Within Delta”. If you would like verbose failure messages for floating
|
||||||
floating point assertions, use these options to give more explicit failure
|
point assertions, use these options to give more explicit failure messages.
|
||||||
messages (e.g. `"Expected 4.56 Was 4.68"`). Note that this feature requires the
|
|
||||||
use of `sprintf` so might not be desirable in all cases.
|
|
||||||
|
|
||||||
_Example:_
|
_Example:_
|
||||||
#define UNITY_DOUBLE_VERBOSE
|
#define UNITY_EXCLUDE_FLOAT_PRINT
|
||||||
|
|
||||||
|
|
||||||
##### `UNITY_FLOAT_TYPE`
|
##### `UNITY_FLOAT_TYPE`
|
||||||
@@ -263,7 +248,8 @@ _Example:_
|
|||||||
Say you are forced to run your test suite on an embedded processor with no
|
Say you are forced to run your test suite on an embedded processor with no
|
||||||
`stdout` option. You decide to route your test result output to a custom serial
|
`stdout` option. You decide to route your test result output to a custom serial
|
||||||
`RS232_putc()` function you wrote like thus:
|
`RS232_putc()` function you wrote like thus:
|
||||||
|
#include "RS232_header.h"
|
||||||
|
...
|
||||||
#define UNITY_OUTPUT_CHAR(a) RS232_putc(a)
|
#define UNITY_OUTPUT_CHAR(a) RS232_putc(a)
|
||||||
#define UNITY_OUTPUT_START() RS232_config(115200,1,8,0)
|
#define UNITY_OUTPUT_START() RS232_config(115200,1,8,0)
|
||||||
#define UNITY_OUTPUT_FLUSH() RS232_flush()
|
#define UNITY_OUTPUT_FLUSH() RS232_flush()
|
||||||
@@ -271,31 +257,35 @@ Say you are forced to run your test suite on an embedded processor with no
|
|||||||
|
|
||||||
_Note:_
|
_Note:_
|
||||||
`UNITY_OUTPUT_FLUSH()` can be set to the standard out flush function simply by
|
`UNITY_OUTPUT_FLUSH()` can be set to the standard out flush function simply by
|
||||||
specifying `UNITY_USE_FLUSH_STDOUT`. No other defines are required. If you
|
specifying `UNITY_USE_FLUSH_STDOUT`. No other defines are required.
|
||||||
specify a custom flush function instead with `UNITY_OUTPUT_FLUSH` directly, it
|
|
||||||
will declare an instance of your function by default. If you want to disable
|
|
||||||
this behavior, add `UNITY_OMIT_OUTPUT_FLUSH_HEADER_DECLARATION`.
|
|
||||||
|
|
||||||
|
|
||||||
##### `UNITY_SUPPORT_WEAK`
|
##### `UNITY_WEAK_ATTRIBUTE`
|
||||||
|
|
||||||
For some targets, Unity can make the otherwise required `setUp()` and
|
##### `UNITY_WEAK_PRAGMA`
|
||||||
`tearDown()` functions optional. This is a nice convenience for test writers
|
|
||||||
since `setUp` and `tearDown` don't often actually _do_ anything. If you're using
|
##### `UNITY_NO_WEAK`
|
||||||
gcc or clang, this option is automatically defined for you. Other compilers can
|
|
||||||
also support this behavior, if they support a C feature called weak functions. A
|
For some targets, Unity can make the otherwise required setUp() and tearDown()
|
||||||
weak function is a function that is compiled into your executable _unless_ a
|
functions optional. This is a nice convenience for test writers since setUp and
|
||||||
non-weak version of the same function is defined elsewhere. If a non-weak
|
tearDown don’t often actually do anything. If you’re using gcc or clang, this
|
||||||
version is found, the weak version is ignored as if it never existed. If your
|
option is automatically defined for you. Other compilers can also support this
|
||||||
compiler supports this feature, you can let Unity know by defining
|
behavior, if they support a C feature called weak functions. A weak function is
|
||||||
`UNITY_SUPPORT_WEAK` as the function attributes that would need to be applied to
|
a function that is compiled into your executable unless a non-weak version of
|
||||||
identify a function as weak. If your compiler lacks support for weak functions,
|
the same function is defined elsewhere. If a non-weak version is found, the weak
|
||||||
you will always need to define `setUp` and `tearDown` functions (though they can
|
version is ignored as if it never existed. If your compiler supports this feature,
|
||||||
be and often will be just empty). The most common options for this feature are:
|
you can let Unity know by defining UNITY_WEAK_ATTRIBUTE or UNITY_WEAK_PRAGMA as
|
||||||
|
the function attributes that would need to be applied to identify a function as
|
||||||
|
weak. If your compiler lacks support for weak functions, you will always need to
|
||||||
|
define setUp and tearDown functions (though they can be and often will be just
|
||||||
|
empty). You can also force Unity to NOT use weak functions by defining
|
||||||
|
UNITY_NO_WEAK. The most common options for this feature are:
|
||||||
|
|
||||||
_Example:_
|
_Example:_
|
||||||
#define UNITY_SUPPORT_WEAK weak
|
#define UNITY_WEAK_ATTRIBUTE weak
|
||||||
#define UNITY_SUPPORT_WEAK __attribute__((weak))
|
#define UNITY_WEAK_ATTRIBUTE __attribute__((weak))
|
||||||
|
#define UNITY_WEAK_PRAGMA
|
||||||
|
#define UNITY_NO_WEAK
|
||||||
|
|
||||||
|
|
||||||
##### `UNITY_PTR_ATTRIBUTE`
|
##### `UNITY_PTR_ATTRIBUTE`
|
||||||
@@ -309,6 +299,51 @@ _Example:_
|
|||||||
#define UNITY_PTR_ATTRIBUTE near
|
#define UNITY_PTR_ATTRIBUTE near
|
||||||
|
|
||||||
|
|
||||||
|
##### `UNITY_PRINT_EOL`
|
||||||
|
|
||||||
|
By default, Unity outputs \n at the end of each line of output. This is easy
|
||||||
|
to parse by the scripts, by Ceedling, etc, but it might not be ideal for YOUR
|
||||||
|
system. Feel free to override this and to make it whatever you wish.
|
||||||
|
|
||||||
|
_Example:_
|
||||||
|
#define UNITY_PRINT_EOL { UNITY_OUTPUT_CHAR('\r'); UNITY_OUTPUT_CHAR('\n') }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
##### `UNITY_EXCLUDE_DETAILS`
|
||||||
|
|
||||||
|
This is an option for if you absolutely must squeeze every byte of memory out of
|
||||||
|
your system. Unity stores a set of internal scratchpads which are used to pass
|
||||||
|
extra detail information around. It's used by systems like CMock in order to
|
||||||
|
report which function or argument flagged an error. If you're not using CMock and
|
||||||
|
you're not using these details for other things, then you can exclude them.
|
||||||
|
|
||||||
|
_Example:_
|
||||||
|
#define UNITY_EXCLUDE_DETAILS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
##### `UNITY_EXCLUDE_SETJMP`
|
||||||
|
|
||||||
|
If your embedded system doesn't support the standard library setjmp, you can
|
||||||
|
exclude Unity's reliance on this by using this define. This dropped dependence
|
||||||
|
comes at a price, though. You will be unable to use custom helper functions for
|
||||||
|
your tests, and you will be unable to use tools like CMock. Very likely, if your
|
||||||
|
compiler doesn't support setjmp, you wouldn't have had the memory space for those
|
||||||
|
things anyway, though... so this option exists for those situations.
|
||||||
|
|
||||||
|
_Example:_
|
||||||
|
#define UNITY_EXCLUDE_SETJMP
|
||||||
|
|
||||||
|
##### `UNITY_OUTPUT_COLOR`
|
||||||
|
|
||||||
|
If you want to add color using ANSI escape codes you can use this define.
|
||||||
|
t
|
||||||
|
_Example:_
|
||||||
|
#define UNITY_OUTPUT_COLOR
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Getting Into The Guts
|
## Getting Into The Guts
|
||||||
|
|
||||||
There will be cases where the options above aren't quite going to get everything
|
There will be cases where the options above aren't quite going to get everything
|
||||||
|
|||||||
@@ -100,10 +100,11 @@ find setUp or tearDown when it links, you'll know you need to at least include
|
|||||||
an empty function for these.
|
an empty function for these.
|
||||||
|
|
||||||
The majority of the file will be a series of test functions. Test functions
|
The majority of the file will be a series of test functions. Test functions
|
||||||
follow the convention of starting with the word "test" or "spec". You don't HAVE
|
follow the convention of starting with the word "test_" or "spec_". You don't HAVE
|
||||||
to name them this way, but it makes it clear what functions are tests for other
|
to name them this way, but it makes it clear what functions are tests for other
|
||||||
developers. Test functions take no arguments and return nothing. All test
|
developers. Also, the automated scripts that come with Unity or Ceedling will default
|
||||||
accounting is handled internally in Unity.
|
to looking for test functions to be prefixed this way. Test functions take no arguments
|
||||||
|
and return nothing. All test accounting is handled internally in Unity.
|
||||||
|
|
||||||
Finally, at the bottom of your test file, you will write a `main()` function.
|
Finally, at the bottom of your test file, you will write a `main()` function.
|
||||||
This function will call `UNITY_BEGIN()`, then `RUN_TEST` for each test, and
|
This function will call `UNITY_BEGIN()`, then `RUN_TEST` for each test, and
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ demonstrates using a Ruby hash.
|
|||||||
|
|
||||||
##### `:includes`
|
##### `:includes`
|
||||||
|
|
||||||
This option specifies an array of file names to be ?#include?'d at the top of
|
This option specifies an array of file names to be `#include`'d at the top of
|
||||||
your runner C file. You might use it to reference custom types or anything else
|
your runner C file. You might use it to reference custom types or anything else
|
||||||
universally needed in your generated runners.
|
universally needed in your generated runners.
|
||||||
|
|
||||||
@@ -133,11 +133,23 @@ universally needed in your generated runners.
|
|||||||
|
|
||||||
Define this option with C code to be executed _before any_ test cases are run.
|
Define this option with C code to be executed _before any_ test cases are run.
|
||||||
|
|
||||||
|
Alternatively, if your C compiler supports weak symbols, you can leave this
|
||||||
|
option unset and instead provide a `void suiteSetUp(void)` function in your test
|
||||||
|
suite. The linker will look for this symbol and fall back to a Unity-provided
|
||||||
|
stub if it is not found.
|
||||||
|
|
||||||
|
|
||||||
##### `:suite_teardown`
|
##### `:suite_teardown`
|
||||||
|
|
||||||
Define this option with C code to be executed ?after all?test cases have
|
Define this option with C code to be executed _after all_ test cases have
|
||||||
finished.
|
finished. An integer variable `num_failures` is available for diagnostics.
|
||||||
|
The code should end with a `return` statement; the value returned will become
|
||||||
|
the exit code of `main`. You can normally just return `num_failures`.
|
||||||
|
|
||||||
|
Alternatively, if your C compiler supports weak symbols, you can leave this
|
||||||
|
option unset and instead provide a `int suiteTearDown(int num_failures)`
|
||||||
|
function in your test suite. The linker will look for this symbol and fall
|
||||||
|
back to a Unity-provided stub if it is not found.
|
||||||
|
|
||||||
|
|
||||||
##### `:enforce_strict_ordering`
|
##### `:enforce_strict_ordering`
|
||||||
@@ -147,6 +159,12 @@ CMock (see CMock documentation). This generates extra variables required for
|
|||||||
everything to run smoothly. If you provide the same YAML to the generator as
|
everything to run smoothly. If you provide the same YAML to the generator as
|
||||||
used in CMock's configuration, you've already configured the generator properly.
|
used in CMock's configuration, you've already configured the generator properly.
|
||||||
|
|
||||||
|
##### `:mock_prefix` and `:mock_suffix`
|
||||||
|
|
||||||
|
Unity automatically generates calls to Init, Verify and Destroy for every file
|
||||||
|
included in the main test file that starts with the given mock prefix and ends
|
||||||
|
with the given mock suffix, file extension not included. By default, Unity
|
||||||
|
assumes a `Mock` prefix and no suffix.
|
||||||
|
|
||||||
##### `:plugins`
|
##### `:plugins`
|
||||||
|
|
||||||
|
|||||||
@@ -78,6 +78,6 @@ int UnityMain(int argc, const char* argv[], void (*runAllTests)(void));
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* You must compile with malloc replacement, as defined in unity_fixture_malloc_overrides.h */
|
/* You must compile with malloc replacement, as defined in unity_fixture_malloc_overrides.h */
|
||||||
void UnityMalloc_MakeMallocFailAfterCount(int count);
|
void UnityMalloc_MakeMallocFailAfterCount(int countdown);
|
||||||
|
|
||||||
#endif /* UNITY_FIXTURE_H_ */
|
#endif /* UNITY_FIXTURE_H_ */
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ extern struct UNITY_FIXTURE_T UnityFixture;
|
|||||||
|
|
||||||
typedef void unityfunction(void);
|
typedef void unityfunction(void);
|
||||||
void UnityTestRunner(unityfunction* setup,
|
void UnityTestRunner(unityfunction* setup,
|
||||||
unityfunction* body,
|
unityfunction* testBody,
|
||||||
unityfunction* teardown,
|
unityfunction* teardown,
|
||||||
const char* printableName,
|
const char* printableName,
|
||||||
const char* group,
|
const char* group,
|
||||||
@@ -37,7 +37,7 @@ void UnityMalloc_EndTest(void);
|
|||||||
int UnityGetCommandLineOptions(int argc, const char* argv[]);
|
int UnityGetCommandLineOptions(int argc, const char* argv[]);
|
||||||
void UnityConcludeFixtureTest(void);
|
void UnityConcludeFixtureTest(void);
|
||||||
|
|
||||||
void UnityPointer_Set(void** ptr, void* newValue, UNITY_LINE_TYPE line);
|
void UnityPointer_Set(void** pointer, void* newValue, UNITY_LINE_TYPE line);
|
||||||
void UnityPointer_UndoAllSets(void);
|
void UnityPointer_UndoAllSets(void);
|
||||||
void UnityPointer_Init(void);
|
void UnityPointer_Init(void);
|
||||||
#ifndef UNITY_MAX_POINTERS
|
#ifndef UNITY_MAX_POINTERS
|
||||||
|
|||||||
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
120
|
122
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
2.4.1
|
2.4.3
|
||||||
|
|
||||||
|
|||||||
+64
-59
@@ -4,6 +4,7 @@
|
|||||||
[Released under MIT License. Please refer to license.txt for details]
|
[Released under MIT License. Please refer to license.txt for details]
|
||||||
============================================================================ */
|
============================================================================ */
|
||||||
|
|
||||||
|
#define UNITY_INCLUDE_SETUP_STUBS
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
|
||||||
@@ -13,22 +14,30 @@ void UNITY_OUTPUT_CHAR(int);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Helpful macros for us to use here in Assert functions */
|
/* Helpful macros for us to use here in Assert functions */
|
||||||
#define UNITY_FAIL_AND_BAIL { Unity.CurrentTestFailed = 1; TEST_ABORT(); }
|
#define UNITY_FAIL_AND_BAIL { Unity.CurrentTestFailed = 1; UNITY_OUTPUT_FLUSH(); TEST_ABORT(); }
|
||||||
#define UNITY_IGNORE_AND_BAIL { Unity.CurrentTestIgnored = 1; TEST_ABORT(); }
|
#define UNITY_IGNORE_AND_BAIL { Unity.CurrentTestIgnored = 1; UNITY_OUTPUT_FLUSH(); TEST_ABORT(); }
|
||||||
#define RETURN_IF_FAIL_OR_IGNORE if (Unity.CurrentTestFailed || Unity.CurrentTestIgnored) return
|
#define RETURN_IF_FAIL_OR_IGNORE if (Unity.CurrentTestFailed || Unity.CurrentTestIgnored) return
|
||||||
|
|
||||||
struct UNITY_STORAGE_T Unity;
|
struct UNITY_STORAGE_T Unity;
|
||||||
|
|
||||||
|
#ifdef UNITY_OUTPUT_COLOR
|
||||||
|
static const char UnityStrOk[] = "\033[42mOK\033[00m";
|
||||||
|
static const char UnityStrPass[] = "\033[42mPASS\033[00m";
|
||||||
|
static const char UnityStrFail[] = "\033[41mFAIL\033[00m";
|
||||||
|
static const char UnityStrIgnore[] = "\033[43mIGNORE\033[00m";
|
||||||
|
#else
|
||||||
static const char UnityStrOk[] = "OK";
|
static const char UnityStrOk[] = "OK";
|
||||||
static const char UnityStrPass[] = "PASS";
|
static const char UnityStrPass[] = "PASS";
|
||||||
static const char UnityStrFail[] = "FAIL";
|
static const char UnityStrFail[] = "FAIL";
|
||||||
static const char UnityStrIgnore[] = "IGNORE";
|
static const char UnityStrIgnore[] = "IGNORE";
|
||||||
|
#endif
|
||||||
static const char UnityStrNull[] = "NULL";
|
static const char UnityStrNull[] = "NULL";
|
||||||
static const char UnityStrSpacer[] = ". ";
|
static const char UnityStrSpacer[] = ". ";
|
||||||
static const char UnityStrExpected[] = " Expected ";
|
static const char UnityStrExpected[] = " Expected ";
|
||||||
static const char UnityStrWas[] = " Was ";
|
static const char UnityStrWas[] = " Was ";
|
||||||
static const char UnityStrGt[] = " to be greater than ";
|
static const char UnityStrGt[] = " to be greater than ";
|
||||||
static const char UnityStrLt[] = " to be less than ";
|
static const char UnityStrLt[] = " to be less than ";
|
||||||
|
static const char UnityStrOrEqual[] = "or equal to ";
|
||||||
static const char UnityStrElement[] = " Element ";
|
static const char UnityStrElement[] = " Element ";
|
||||||
static const char UnityStrByte[] = " Byte ";
|
static const char UnityStrByte[] = " Byte ";
|
||||||
static const char UnityStrMemory[] = " Memory Mismatch.";
|
static const char UnityStrMemory[] = " Memory Mismatch.";
|
||||||
@@ -83,6 +92,18 @@ void UnityPrint(const char* string)
|
|||||||
UNITY_OUTPUT_CHAR('\\');
|
UNITY_OUTPUT_CHAR('\\');
|
||||||
UNITY_OUTPUT_CHAR('n');
|
UNITY_OUTPUT_CHAR('n');
|
||||||
}
|
}
|
||||||
|
#ifdef UNITY_OUTPUT_COLOR
|
||||||
|
/* print ANSI escape code */
|
||||||
|
else if (*pch == 27 && *(pch + 1) == '[')
|
||||||
|
{
|
||||||
|
while (*pch && *pch != 'm')
|
||||||
|
{
|
||||||
|
UNITY_OUTPUT_CHAR(*pch);
|
||||||
|
pch++;
|
||||||
|
}
|
||||||
|
UNITY_OUTPUT_CHAR('m');
|
||||||
|
}
|
||||||
|
#endif
|
||||||
/* unprintable characters are shown as codes */
|
/* unprintable characters are shown as codes */
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -532,49 +553,44 @@ void UnityAssertEqualNumber(const UNITY_INT expected,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*-----------------------------------------------*/
|
/*-----------------------------------------------*/
|
||||||
void UnityAssertGreaterNumber(const UNITY_INT threshold,
|
void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold,
|
||||||
const UNITY_INT actual,
|
const UNITY_INT actual,
|
||||||
const char *msg,
|
const UNITY_COMPARISON_T compare,
|
||||||
const UNITY_LINE_TYPE lineNumber,
|
const char *msg,
|
||||||
const UNITY_DISPLAY_STYLE_T style)
|
const UNITY_LINE_TYPE lineNumber,
|
||||||
|
const UNITY_DISPLAY_STYLE_T style)
|
||||||
{
|
{
|
||||||
|
int failed = 0;
|
||||||
RETURN_IF_FAIL_OR_IGNORE;
|
RETURN_IF_FAIL_OR_IGNORE;
|
||||||
|
|
||||||
if (!(actual > threshold))
|
if (threshold == actual && compare & UNITY_EQUAL_TO) return;
|
||||||
|
if (threshold == actual) failed = 1;
|
||||||
|
|
||||||
|
if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT)
|
||||||
|
{
|
||||||
|
if (actual > threshold && compare & UNITY_SMALLER_THAN) failed = 1;
|
||||||
|
if (actual < threshold && compare & UNITY_GREATER_THAN) failed = 1;
|
||||||
|
}
|
||||||
|
else /* UINT or HEX */
|
||||||
|
{
|
||||||
|
if ((UNITY_UINT)actual > (UNITY_UINT)threshold && compare & UNITY_SMALLER_THAN) failed = 1;
|
||||||
|
if ((UNITY_UINT)actual < (UNITY_UINT)threshold && compare & UNITY_GREATER_THAN) failed = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (failed)
|
||||||
{
|
{
|
||||||
UnityTestResultsFailBegin(lineNumber);
|
UnityTestResultsFailBegin(lineNumber);
|
||||||
UnityPrint(UnityStrExpected);
|
UnityPrint(UnityStrExpected);
|
||||||
UnityPrintNumberByStyle(actual, style);
|
UnityPrintNumberByStyle(actual, style);
|
||||||
UnityPrint(UnityStrGt);
|
if (compare & UNITY_GREATER_THAN) UnityPrint(UnityStrGt);
|
||||||
|
if (compare & UNITY_SMALLER_THAN) UnityPrint(UnityStrLt);
|
||||||
|
if (compare & UNITY_EQUAL_TO) UnityPrint(UnityStrOrEqual);
|
||||||
UnityPrintNumberByStyle(threshold, style);
|
UnityPrintNumberByStyle(threshold, style);
|
||||||
UnityAddMsgIfSpecified(msg);
|
UnityAddMsgIfSpecified(msg);
|
||||||
UNITY_FAIL_AND_BAIL;
|
UNITY_FAIL_AND_BAIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-----------------------------------------------*/
|
|
||||||
void UnityAssertSmallerNumber(const UNITY_INT threshold,
|
|
||||||
const UNITY_INT actual,
|
|
||||||
const char *msg,
|
|
||||||
const UNITY_LINE_TYPE lineNumber,
|
|
||||||
const UNITY_DISPLAY_STYLE_T style)
|
|
||||||
{
|
|
||||||
RETURN_IF_FAIL_OR_IGNORE;
|
|
||||||
|
|
||||||
if (!(actual < threshold))
|
|
||||||
{
|
|
||||||
UnityTestResultsFailBegin(lineNumber);
|
|
||||||
UnityPrint(UnityStrExpected);
|
|
||||||
UnityPrintNumberByStyle(actual, style);
|
|
||||||
UnityPrint(UnityStrLt);
|
|
||||||
UnityPrintNumberByStyle(threshold, style);
|
|
||||||
UnityAddMsgIfSpecified(msg);
|
|
||||||
UNITY_FAIL_AND_BAIL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define UnityPrintPointlessAndBail() \
|
#define UnityPrintPointlessAndBail() \
|
||||||
{ \
|
{ \
|
||||||
UnityTestResultsFailBegin(lineNumber); \
|
UnityTestResultsFailBegin(lineNumber); \
|
||||||
@@ -605,7 +621,7 @@ void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected,
|
|||||||
if (UnityIsOneArrayNull(expected, actual, lineNumber, msg))
|
if (UnityIsOneArrayNull(expected, actual, lineNumber, msg))
|
||||||
UNITY_FAIL_AND_BAIL;
|
UNITY_FAIL_AND_BAIL;
|
||||||
|
|
||||||
while (elements--)
|
while ((elements > 0) && elements--)
|
||||||
{
|
{
|
||||||
UNITY_INT expect_val;
|
UNITY_INT expect_val;
|
||||||
UNITY_INT actual_val;
|
UNITY_INT actual_val;
|
||||||
@@ -662,13 +678,13 @@ void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected,
|
|||||||
/*-----------------------------------------------*/
|
/*-----------------------------------------------*/
|
||||||
#ifndef UNITY_EXCLUDE_FLOAT
|
#ifndef UNITY_EXCLUDE_FLOAT
|
||||||
/* Wrap this define in a function with variable types as float or double */
|
/* Wrap this define in a function with variable types as float or double */
|
||||||
#define UNITY_FLOAT_OR_DOUBLE_WITHIN(delta, expected, actual, diff) \
|
#define UNITY_FLOAT_OR_DOUBLE_WITHIN(delta, expected, actual, diff) \
|
||||||
if (isinf(expected) && isinf(actual) && ((expected < 0) == (actual < 0))) return 1; \
|
if (isinf(expected) && isinf(actual) && (((expected) < 0) == ((actual) < 0))) return 1; \
|
||||||
if (UNITY_NAN_CHECK) return 1; \
|
if (UNITY_NAN_CHECK) return 1; \
|
||||||
diff = actual - expected; \
|
(diff) = (actual) - (expected); \
|
||||||
if (diff < 0) diff = -diff; \
|
if ((diff) < 0) (diff) = -(diff); \
|
||||||
if (delta < 0) delta = -delta; \
|
if ((delta) < 0) (delta) = -(delta); \
|
||||||
return !(isnan(diff) || isinf(diff) || (diff > delta))
|
return !(isnan(diff) || isinf(diff) || ((diff) > (delta)))
|
||||||
/* This first part of this condition will catch any NaN or Infinite values */
|
/* This first part of this condition will catch any NaN or Infinite values */
|
||||||
#ifndef UNITY_NAN_NOT_EQUAL_NAN
|
#ifndef UNITY_NAN_NOT_EQUAL_NAN
|
||||||
#define UNITY_NAN_CHECK isnan(expected) && isnan(actual)
|
#define UNITY_NAN_CHECK isnan(expected) && isnan(actual)
|
||||||
@@ -1074,7 +1090,7 @@ void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected,
|
|||||||
{
|
{
|
||||||
UNITY_UINT32 i = 0;
|
UNITY_UINT32 i = 0;
|
||||||
UNITY_UINT32 j = 0;
|
UNITY_UINT32 j = 0;
|
||||||
const char* exp = NULL;
|
const char* expd = NULL;
|
||||||
const char* act = NULL;
|
const char* act = NULL;
|
||||||
|
|
||||||
RETURN_IF_FAIL_OR_IGNORE;
|
RETURN_IF_FAIL_OR_IGNORE;
|
||||||
@@ -1097,7 +1113,7 @@ void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected,
|
|||||||
|
|
||||||
if (flags != UNITY_ARRAY_TO_ARRAY)
|
if (flags != UNITY_ARRAY_TO_ARRAY)
|
||||||
{
|
{
|
||||||
exp = (const char*)expected;
|
expd = (const char*)expected;
|
||||||
}
|
}
|
||||||
|
|
||||||
do
|
do
|
||||||
@@ -1105,15 +1121,15 @@ void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected,
|
|||||||
act = actual[j];
|
act = actual[j];
|
||||||
if (flags == UNITY_ARRAY_TO_ARRAY)
|
if (flags == UNITY_ARRAY_TO_ARRAY)
|
||||||
{
|
{
|
||||||
exp = ((const char* const*)expected)[j];
|
expd = ((const char* const*)expected)[j];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if both pointers not null compare the strings */
|
/* if both pointers not null compare the strings */
|
||||||
if (exp && act)
|
if (expd && act)
|
||||||
{
|
{
|
||||||
for (i = 0; exp[i] || act[i]; i++)
|
for (i = 0; expd[i] || act[i]; i++)
|
||||||
{
|
{
|
||||||
if (exp[i] != act[i])
|
if (expd[i] != act[i])
|
||||||
{
|
{
|
||||||
Unity.CurrentTestFailed = 1;
|
Unity.CurrentTestFailed = 1;
|
||||||
break;
|
break;
|
||||||
@@ -1122,7 +1138,7 @@ void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ /* handle case of one pointers being null (if both null, test should pass) */
|
{ /* handle case of one pointers being null (if both null, test should pass) */
|
||||||
if (exp != act)
|
if (expd != act)
|
||||||
{
|
{
|
||||||
Unity.CurrentTestFailed = 1;
|
Unity.CurrentTestFailed = 1;
|
||||||
}
|
}
|
||||||
@@ -1136,7 +1152,7 @@ void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected,
|
|||||||
UnityPrint(UnityStrElement);
|
UnityPrint(UnityStrElement);
|
||||||
UnityPrintNumberUnsigned(j);
|
UnityPrintNumberUnsigned(j);
|
||||||
}
|
}
|
||||||
UnityPrintExpectedAndActualStrings(exp, act);
|
UnityPrintExpectedAndActualStrings(expd, act);
|
||||||
UnityAddMsgIfSpecified(msg);
|
UnityAddMsgIfSpecified(msg);
|
||||||
UNITY_FAIL_AND_BAIL;
|
UNITY_FAIL_AND_BAIL;
|
||||||
}
|
}
|
||||||
@@ -1311,17 +1327,6 @@ void UnityIgnore(const char* msg, const UNITY_LINE_TYPE line)
|
|||||||
UNITY_IGNORE_AND_BAIL;
|
UNITY_IGNORE_AND_BAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-----------------------------------------------*/
|
|
||||||
#if defined(UNITY_WEAK_ATTRIBUTE)
|
|
||||||
UNITY_WEAK_ATTRIBUTE void setUp(void) { }
|
|
||||||
UNITY_WEAK_ATTRIBUTE void tearDown(void) { }
|
|
||||||
#elif defined(UNITY_WEAK_PRAGMA)
|
|
||||||
#pragma weak setUp
|
|
||||||
void setUp(void) { }
|
|
||||||
#pragma weak tearDown
|
|
||||||
void tearDown(void) { }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*-----------------------------------------------*/
|
/*-----------------------------------------------*/
|
||||||
void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum)
|
void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum)
|
||||||
{
|
{
|
||||||
|
|||||||
+109
-5
@@ -15,9 +15,43 @@ extern "C"
|
|||||||
|
|
||||||
#include "unity_internals.h"
|
#include "unity_internals.h"
|
||||||
|
|
||||||
|
/*-------------------------------------------------------
|
||||||
|
* Test Setup / Teardown
|
||||||
|
*-------------------------------------------------------*/
|
||||||
|
|
||||||
|
/* These functions are intended to be called before and after each test. */
|
||||||
void setUp(void);
|
void setUp(void);
|
||||||
void tearDown(void);
|
void tearDown(void);
|
||||||
|
|
||||||
|
/* These functions are intended to be called at the beginning and end of an
|
||||||
|
* entire test suite. suiteTearDown() is passed the number of tests that
|
||||||
|
* failed, and its return value becomes the exit code of main(). */
|
||||||
|
void suiteSetUp(void);
|
||||||
|
int suiteTearDown(int num_failures);
|
||||||
|
|
||||||
|
/* If the compiler supports it, the following block provides stub
|
||||||
|
* implementations of the above functions as weak symbols. Note that on
|
||||||
|
* some platforms (MinGW for example), weak function implementations need
|
||||||
|
* to be in the same translation unit they are called from. This can be
|
||||||
|
* achieved by defining UNITY_INCLUDE_SETUP_STUBS before including unity.h. */
|
||||||
|
#ifdef UNITY_INCLUDE_SETUP_STUBS
|
||||||
|
#ifdef UNITY_WEAK_ATTRIBUTE
|
||||||
|
UNITY_WEAK_ATTRIBUTE void setUp(void) { }
|
||||||
|
UNITY_WEAK_ATTRIBUTE void tearDown(void) { }
|
||||||
|
UNITY_WEAK_ATTRIBUTE void suiteSetUp(void) { }
|
||||||
|
UNITY_WEAK_ATTRIBUTE int suiteTearDown(int num_failures) { return num_failures; }
|
||||||
|
#elif defined(UNITY_WEAK_PRAGMA)
|
||||||
|
#pragma weak setUp
|
||||||
|
void setUp(void) { }
|
||||||
|
#pragma weak tearDown
|
||||||
|
void tearDown(void) { }
|
||||||
|
#pragma weak suiteSetUp
|
||||||
|
void suiteSetUp(void) { }
|
||||||
|
#pragma weak suiteTearDown
|
||||||
|
int suiteTearDown(int num_failures) { return num_failures; }
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/*-------------------------------------------------------
|
/*-------------------------------------------------------
|
||||||
* Configuration Options
|
* Configuration Options
|
||||||
*-------------------------------------------------------
|
*-------------------------------------------------------
|
||||||
@@ -120,28 +154,64 @@ void tearDown(void);
|
|||||||
#define TEST_ASSERT_GREATER_THAN_INT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT8((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_GREATER_THAN_INT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT8((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_GREATER_THAN_INT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT16((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_GREATER_THAN_INT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT16((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_GREATER_THAN_INT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT32((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_GREATER_THAN_INT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT32((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_THAN_INT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT64((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_GREATER_THAN_UINT(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_GREATER_THAN_UINT(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT8((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT8((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT16((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT16((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT32((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT32((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT64((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX8((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX8((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX16((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX16((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX32((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX32((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX64((threshold), (actual), __LINE__, NULL)
|
||||||
|
|
||||||
#define TEST_ASSERT_LESS_THAN(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_LESS_THAN(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_LESS_THAN_INT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_LESS_THAN_INT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_LESS_THAN_INT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT8((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_LESS_THAN_INT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT8((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_LESS_THAN_INT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT16((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_LESS_THAN_INT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT16((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_LESS_THAN_INT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT32((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_LESS_THAN_INT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT32((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_THAN_INT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT64((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_LESS_THAN_UINT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_LESS_THAN_UINT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_LESS_THAN_UINT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT8((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_LESS_THAN_UINT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT8((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_LESS_THAN_UINT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT16((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_LESS_THAN_UINT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT16((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_LESS_THAN_UINT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT32((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_LESS_THAN_UINT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT32((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_THAN_UINT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT64((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_LESS_THAN_HEX8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX8((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_LESS_THAN_HEX8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX8((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_LESS_THAN_HEX16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX16((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_LESS_THAN_HEX16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX16((threshold), (actual), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_LESS_THAN_HEX32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX32((threshold), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_LESS_THAN_HEX32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX32((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_THAN_HEX64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX64((threshold), (actual), __LINE__, NULL)
|
||||||
|
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_INT(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_INT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_INT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_INT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_UINT(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_UINT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_UINT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_UINT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_HEX8(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_HEX16(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_HEX32(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, NULL)
|
||||||
|
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_INT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_INT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_INT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_INT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_INT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_UINT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_UINT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_UINT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_UINT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_UINT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_HEX8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_HEX16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_HEX32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_HEX64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, NULL)
|
||||||
|
|
||||||
/* Integer Ranges (of all sizes) */
|
/* Integer Ranges (of all sizes) */
|
||||||
#define TEST_ASSERT_INT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, NULL)
|
#define TEST_ASSERT_INT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, NULL)
|
||||||
@@ -186,8 +256,6 @@ void tearDown(void);
|
|||||||
#define TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY((expected), (actual), (num_elements), __LINE__, NULL)
|
#define TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY((expected), (actual), (num_elements), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((expected), (actual), (len), (num_elements), __LINE__, NULL)
|
#define TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((expected), (actual), (len), (num_elements), __LINE__, NULL)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Arrays Compared To Single Value */
|
/* Arrays Compared To Single Value */
|
||||||
#define TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT((expected), (actual), (num_elements), __LINE__, NULL)
|
#define TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT((expected), (actual), (num_elements), __LINE__, NULL)
|
||||||
#define TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT8((expected), (actual), (num_elements), __LINE__, NULL)
|
#define TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT8((expected), (actual), (num_elements), __LINE__, NULL)
|
||||||
@@ -278,28 +346,64 @@ void tearDown(void);
|
|||||||
#define TEST_ASSERT_GREATER_THAN_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT8((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_GREATER_THAN_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT8((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_GREATER_THAN_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT16((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_GREATER_THAN_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT16((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_GREATER_THAN_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT32((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_GREATER_THAN_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT32((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_THAN_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT64((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_GREATER_THAN_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_GREATER_THAN_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_GREATER_THAN_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT8((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_GREATER_THAN_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT8((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_GREATER_THAN_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT16((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_GREATER_THAN_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT16((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_GREATER_THAN_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT32((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_GREATER_THAN_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT32((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_THAN_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT64((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_GREATER_THAN_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX8((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_GREATER_THAN_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX8((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_GREATER_THAN_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX16((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_GREATER_THAN_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX16((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_GREATER_THAN_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX32((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_GREATER_THAN_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX32((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_THAN_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX64((threshold), (actual), __LINE__, (message))
|
||||||
|
|
||||||
#define TEST_ASSERT_LESS_THAN_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_LESS_THAN_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_LESS_THAN_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_LESS_THAN_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_LESS_THAN_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT8((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_LESS_THAN_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT8((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_LESS_THAN_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT16((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_LESS_THAN_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT16((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_LESS_THAN_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT32((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_LESS_THAN_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT32((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_THAN_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT64((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_LESS_THAN_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_LESS_THAN_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_LESS_THAN_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT8((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_LESS_THAN_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT8((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_LESS_THAN_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT16((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_LESS_THAN_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT16((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_LESS_THAN_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT32((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_LESS_THAN_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT32((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_THAN_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT64((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_LESS_THAN_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX8((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_LESS_THAN_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX8((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_LESS_THAN_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX16((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_LESS_THAN_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX16((threshold), (actual), __LINE__, (message))
|
||||||
#define TEST_ASSERT_LESS_THAN_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX32((threshold), (actual), __LINE__, (message))
|
#define TEST_ASSERT_LESS_THAN_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX32((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_THAN_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX64((threshold), (actual), __LINE__, (message))
|
||||||
|
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_GREATER_OR_EQUAL_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, (message))
|
||||||
|
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, (message))
|
||||||
|
#define TEST_ASSERT_LESS_OR_EQUAL_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, (message))
|
||||||
|
|
||||||
/* Integer Ranges (of all sizes) */
|
/* Integer Ranges (of all sizes) */
|
||||||
#define TEST_ASSERT_INT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, (message))
|
#define TEST_ASSERT_INT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, (message))
|
||||||
@@ -355,7 +459,7 @@ void tearDown(void);
|
|||||||
#define TEST_ASSERT_EACH_EQUAL_UINT16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT16((expected), (actual), (num_elements), __LINE__, (message))
|
#define TEST_ASSERT_EACH_EQUAL_UINT16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT16((expected), (actual), (num_elements), __LINE__, (message))
|
||||||
#define TEST_ASSERT_EACH_EQUAL_UINT32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT32((expected), (actual), (num_elements), __LINE__, (message))
|
#define TEST_ASSERT_EACH_EQUAL_UINT32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT32((expected), (actual), (num_elements), __LINE__, (message))
|
||||||
#define TEST_ASSERT_EACH_EQUAL_UINT64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT64((expected), (actual), (num_elements), __LINE__, (message))
|
#define TEST_ASSERT_EACH_EQUAL_UINT64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT64((expected), (actual), (num_elements), __LINE__, (message))
|
||||||
#define TEST_ASSERT_EACH_EQUAL_HEX32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, (message))
|
#define TEST_ASSERT_EACH_EQUAL_HEX_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, (message))
|
||||||
#define TEST_ASSERT_EACH_EQUAL_HEX8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX8((expected), (actual), (num_elements), __LINE__, (message))
|
#define TEST_ASSERT_EACH_EQUAL_HEX8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX8((expected), (actual), (num_elements), __LINE__, (message))
|
||||||
#define TEST_ASSERT_EACH_EQUAL_HEX16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX16((expected), (actual), (num_elements), __LINE__, (message))
|
#define TEST_ASSERT_EACH_EQUAL_HEX16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX16((expected), (actual), (num_elements), __LINE__, (message))
|
||||||
#define TEST_ASSERT_EACH_EQUAL_HEX32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, (message))
|
#define TEST_ASSERT_EACH_EQUAL_HEX32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, (message))
|
||||||
|
|||||||
+118
-70
@@ -245,30 +245,30 @@ typedef UNITY_FLOAT_TYPE UNITY_FLOAT;
|
|||||||
* Output Method: stdout (DEFAULT)
|
* Output Method: stdout (DEFAULT)
|
||||||
*-------------------------------------------------------*/
|
*-------------------------------------------------------*/
|
||||||
#ifndef UNITY_OUTPUT_CHAR
|
#ifndef UNITY_OUTPUT_CHAR
|
||||||
/* Default to using putchar, which is defined in stdio.h */
|
/* Default to using putchar, which is defined in stdio.h */
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#define UNITY_OUTPUT_CHAR(a) (void)putchar(a)
|
#define UNITY_OUTPUT_CHAR(a) (void)putchar(a)
|
||||||
#else
|
#else
|
||||||
/* If defined as something else, make sure we declare it here so it's ready for use */
|
/* If defined as something else, make sure we declare it here so it's ready for use */
|
||||||
#ifdef UNITY_OUTPUT_CHAR_HEADER_DECLARATION
|
#ifdef UNITY_OUTPUT_CHAR_HEADER_DECLARATION
|
||||||
extern void UNITY_OUTPUT_CHAR_HEADER_DECLARATION;
|
extern void UNITY_OUTPUT_CHAR_HEADER_DECLARATION;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef UNITY_OUTPUT_FLUSH
|
#ifndef UNITY_OUTPUT_FLUSH
|
||||||
#ifdef UNITY_USE_FLUSH_STDOUT
|
#ifdef UNITY_USE_FLUSH_STDOUT
|
||||||
/* We want to use the stdout flush utility */
|
/* We want to use the stdout flush utility */
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#define UNITY_OUTPUT_FLUSH() (void)fflush(stdout)
|
#define UNITY_OUTPUT_FLUSH() (void)fflush(stdout)
|
||||||
|
#else
|
||||||
|
/* We've specified nothing, therefore flush should just be ignored */
|
||||||
|
#define UNITY_OUTPUT_FLUSH()
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
/* We've specified nothing, therefore flush should just be ignored */
|
/* If defined as something else, make sure we declare it here so it's ready for use */
|
||||||
#define UNITY_OUTPUT_FLUSH()
|
#ifdef UNITY_OUTPUT_FLUSH_HEADER_DECLARATION
|
||||||
#endif
|
extern void UNITY_OUTPUT_FLUSH_HEADER_DECLARATION;
|
||||||
#else
|
#endif
|
||||||
/* We've defined flush as something else, so make sure we declare it here so it's ready for use */
|
|
||||||
#ifdef UNITY_OUTPUT_FLUSH_HEADER_DECLARATION
|
|
||||||
extern void UNITY_OMIT_OUTPUT_FLUSH_HEADER_DECLARATION;
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef UNITY_OUTPUT_FLUSH
|
#ifndef UNITY_OUTPUT_FLUSH
|
||||||
@@ -343,7 +343,7 @@ extern void UNITY_OMIT_OUTPUT_FLUSH_HEADER_DECLARATION;
|
|||||||
* Language Features Available
|
* Language Features Available
|
||||||
*-------------------------------------------------------*/
|
*-------------------------------------------------------*/
|
||||||
#if !defined(UNITY_WEAK_ATTRIBUTE) && !defined(UNITY_WEAK_PRAGMA)
|
#if !defined(UNITY_WEAK_ATTRIBUTE) && !defined(UNITY_WEAK_PRAGMA)
|
||||||
# ifdef __GNUC__ /* includes clang */
|
# if defined(__GNUC__) || defined(__ghs__) /* __GNUC__ includes clang */
|
||||||
# if !(defined(__WIN32__) && defined(__clang__)) && !defined(__TMS470__)
|
# if !(defined(__WIN32__) && defined(__clang__)) && !defined(__TMS470__)
|
||||||
# define UNITY_WEAK_ATTRIBUTE __attribute__((weak))
|
# define UNITY_WEAK_ATTRIBUTE __attribute__((weak))
|
||||||
# endif
|
# endif
|
||||||
@@ -394,6 +394,15 @@ UNITY_DISPLAY_STYLE_UINT = sizeof(unsigned) + UNITY_DISPLAY_RANGE_UINT,
|
|||||||
UNITY_DISPLAY_STYLE_UNKNOWN
|
UNITY_DISPLAY_STYLE_UNKNOWN
|
||||||
} UNITY_DISPLAY_STYLE_T;
|
} UNITY_DISPLAY_STYLE_T;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
UNITY_EQUAL_TO = 1,
|
||||||
|
UNITY_GREATER_THAN = 2,
|
||||||
|
UNITY_GREATER_OR_EQUAL = 2 + UNITY_EQUAL_TO,
|
||||||
|
UNITY_SMALLER_THAN = 4,
|
||||||
|
UNITY_SMALLER_OR_EQUAL = 4 + UNITY_EQUAL_TO
|
||||||
|
} UNITY_COMPARISON_T;
|
||||||
|
|
||||||
#ifndef UNITY_EXCLUDE_FLOAT
|
#ifndef UNITY_EXCLUDE_FLOAT
|
||||||
typedef enum UNITY_FLOAT_TRAIT
|
typedef enum UNITY_FLOAT_TRAIT
|
||||||
{
|
{
|
||||||
@@ -459,8 +468,8 @@ void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int
|
|||||||
#define UNITY_SET_DETAILS(d1,d2)
|
#define UNITY_SET_DETAILS(d1,d2)
|
||||||
#else
|
#else
|
||||||
#define UNITY_CLR_DETAILS() { Unity.CurrentDetail1 = 0; Unity.CurrentDetail2 = 0; }
|
#define UNITY_CLR_DETAILS() { Unity.CurrentDetail1 = 0; Unity.CurrentDetail2 = 0; }
|
||||||
#define UNITY_SET_DETAIL(d1) { Unity.CurrentDetail1 = d1; Unity.CurrentDetail2 = 0; }
|
#define UNITY_SET_DETAIL(d1) { Unity.CurrentDetail1 = (d1); Unity.CurrentDetail2 = 0; }
|
||||||
#define UNITY_SET_DETAILS(d1,d2) { Unity.CurrentDetail1 = d1; Unity.CurrentDetail2 = d2; }
|
#define UNITY_SET_DETAILS(d1,d2) { Unity.CurrentDetail1 = (d1); Unity.CurrentDetail2 = (d2); }
|
||||||
|
|
||||||
#ifndef UNITY_DETAIL1_NAME
|
#ifndef UNITY_DETAIL1_NAME
|
||||||
#define UNITY_DETAIL1_NAME "Function"
|
#define UNITY_DETAIL1_NAME "Function"
|
||||||
@@ -479,9 +488,9 @@ void UnityPrint(const char* string);
|
|||||||
void UnityPrintLen(const char* string, const UNITY_UINT32 length);
|
void UnityPrintLen(const char* string, const UNITY_UINT32 length);
|
||||||
void UnityPrintMask(const UNITY_UINT mask, const UNITY_UINT number);
|
void UnityPrintMask(const UNITY_UINT mask, const UNITY_UINT number);
|
||||||
void UnityPrintNumberByStyle(const UNITY_INT number, const UNITY_DISPLAY_STYLE_T style);
|
void UnityPrintNumberByStyle(const UNITY_INT number, const UNITY_DISPLAY_STYLE_T style);
|
||||||
void UnityPrintNumber(const UNITY_INT number);
|
void UnityPrintNumber(const UNITY_INT number_to_print);
|
||||||
void UnityPrintNumberUnsigned(const UNITY_UINT number);
|
void UnityPrintNumberUnsigned(const UNITY_UINT number);
|
||||||
void UnityPrintNumberHex(const UNITY_UINT number, const char nibbles);
|
void UnityPrintNumberHex(const UNITY_UINT number, const char nibbles_to_print);
|
||||||
|
|
||||||
#ifndef UNITY_EXCLUDE_FLOAT_PRINT
|
#ifndef UNITY_EXCLUDE_FLOAT_PRINT
|
||||||
void UnityPrintFloat(const UNITY_DOUBLE input_number);
|
void UnityPrintFloat(const UNITY_DOUBLE input_number);
|
||||||
@@ -501,17 +510,12 @@ void UnityAssertEqualNumber(const UNITY_INT expected,
|
|||||||
const UNITY_LINE_TYPE lineNumber,
|
const UNITY_LINE_TYPE lineNumber,
|
||||||
const UNITY_DISPLAY_STYLE_T style);
|
const UNITY_DISPLAY_STYLE_T style);
|
||||||
|
|
||||||
void UnityAssertGreaterNumber(const UNITY_INT threshold,
|
void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold,
|
||||||
const UNITY_INT actual,
|
const UNITY_INT actual,
|
||||||
const char* msg,
|
const UNITY_COMPARISON_T compare,
|
||||||
const UNITY_LINE_TYPE lineNumber,
|
const char *msg,
|
||||||
const UNITY_DISPLAY_STYLE_T style);
|
const UNITY_LINE_TYPE lineNumber,
|
||||||
|
const UNITY_DISPLAY_STYLE_T style);
|
||||||
void UnityAssertSmallerNumber(const UNITY_INT threshold,
|
|
||||||
const UNITY_INT actual,
|
|
||||||
const char* msg,
|
|
||||||
const UNITY_LINE_TYPE lineNumber,
|
|
||||||
const UNITY_DISPLAY_STYLE_T style);
|
|
||||||
|
|
||||||
void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected,
|
void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected,
|
||||||
UNITY_INTERNAL_PTR actual,
|
UNITY_INTERNAL_PTR actual,
|
||||||
@@ -560,9 +564,9 @@ void UnityAssertNumbersWithin(const UNITY_UINT delta,
|
|||||||
const UNITY_LINE_TYPE lineNumber,
|
const UNITY_LINE_TYPE lineNumber,
|
||||||
const UNITY_DISPLAY_STYLE_T style);
|
const UNITY_DISPLAY_STYLE_T style);
|
||||||
|
|
||||||
void UnityFail(const char* message, const UNITY_LINE_TYPE line);
|
void UnityFail(const char* msg, const UNITY_LINE_TYPE line);
|
||||||
|
|
||||||
void UnityIgnore(const char* message, const UNITY_LINE_TYPE line);
|
void UnityIgnore(const char* msg, const UNITY_LINE_TYPE line);
|
||||||
|
|
||||||
#ifndef UNITY_EXCLUDE_FLOAT
|
#ifndef UNITY_EXCLUDE_FLOAT
|
||||||
void UnityAssertFloatsWithin(const UNITY_FLOAT delta,
|
void UnityAssertFloatsWithin(const UNITY_FLOAT delta,
|
||||||
@@ -716,33 +720,53 @@ int UnityTestMatches(void);
|
|||||||
#define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32)
|
#define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32)
|
||||||
#define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((UNITY_INT)(mask), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line))
|
#define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((UNITY_INT)(mask), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line))
|
||||||
|
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32)
|
||||||
|
|
||||||
#define UNITY_TEST_ASSERT_GREATER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT)
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT)
|
||||||
#define UNITY_TEST_ASSERT_GREATER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8)
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8)
|
||||||
#define UNITY_TEST_ASSERT_GREATER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16)
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16)
|
||||||
#define UNITY_TEST_ASSERT_GREATER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32)
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32)
|
||||||
#define UNITY_TEST_ASSERT_GREATER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT)
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT)
|
||||||
#define UNITY_TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8)
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8)
|
||||||
#define UNITY_TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16)
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16)
|
||||||
#define UNITY_TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32)
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32)
|
||||||
#define UNITY_TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8)
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8)
|
||||||
#define UNITY_TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16)
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16)
|
||||||
#define UNITY_TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32)
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32)
|
||||||
|
|
||||||
|
|
||||||
#define UNITY_TEST_ASSERT_SMALLER_THAN_INT(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT)
|
|
||||||
#define UNITY_TEST_ASSERT_SMALLER_THAN_INT8(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8)
|
|
||||||
#define UNITY_TEST_ASSERT_SMALLER_THAN_INT16(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16)
|
|
||||||
#define UNITY_TEST_ASSERT_SMALLER_THAN_INT32(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32)
|
|
||||||
#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT)
|
|
||||||
#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT8(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8)
|
|
||||||
#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT16(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16)
|
|
||||||
#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT32(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32)
|
|
||||||
#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX8(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8)
|
|
||||||
#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX16(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16)
|
|
||||||
#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX32(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32)
|
|
||||||
|
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32)
|
||||||
|
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32)
|
||||||
|
|
||||||
#define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT)
|
#define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT)
|
||||||
#define UNITY_TEST_ASSERT_INT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8)
|
#define UNITY_TEST_ASSERT_INT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8)
|
||||||
@@ -776,18 +800,18 @@ int UnityTestMatches(void);
|
|||||||
#define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY)
|
#define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY)
|
||||||
#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY)
|
#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY)
|
||||||
|
|
||||||
#define UNITY_TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) expected, sizeof(int)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_VAL)
|
#define UNITY_TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), sizeof(int)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_VAL)
|
||||||
#define UNITY_TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )expected, 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_VAL)
|
#define UNITY_TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_VAL)
|
||||||
#define UNITY_TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )expected, 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_VAL)
|
#define UNITY_TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_VAL)
|
||||||
#define UNITY_TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )expected, 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_VAL)
|
#define UNITY_TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_VAL)
|
||||||
#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) expected, sizeof(unsigned int)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_VAL)
|
#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), sizeof(unsigned int)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_VAL)
|
||||||
#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT8 )expected, 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_VAL)
|
#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_VAL)
|
||||||
#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT16)expected, 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_VAL)
|
#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT16)(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_VAL)
|
||||||
#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT32)expected, 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_VAL)
|
#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT32)(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_VAL)
|
||||||
#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )expected, 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_VAL)
|
#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_VAL)
|
||||||
#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )expected, 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_VAL)
|
#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_VAL)
|
||||||
#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )expected, 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_VAL)
|
#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_VAL)
|
||||||
#define UNITY_TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_PTR_TO_INT) expected, sizeof(int*)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_VAL)
|
#define UNITY_TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_PTR_TO_INT) (expected), sizeof(int*)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_VAL)
|
||||||
#define UNITY_TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL)
|
#define UNITY_TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL)
|
||||||
#define UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL)
|
#define UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL)
|
||||||
|
|
||||||
@@ -804,6 +828,18 @@ int UnityTestMatches(void);
|
|||||||
#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64)
|
#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64)
|
||||||
#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64)
|
#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64)
|
||||||
#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64)
|
#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64)
|
||||||
#else
|
#else
|
||||||
#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
@@ -814,6 +850,18 @@ int UnityTestMatches(void);
|
|||||||
#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
|
#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
|
#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef UNITY_EXCLUDE_FLOAT
|
#ifdef UNITY_EXCLUDE_FLOAT
|
||||||
|
|||||||
+5
-1
@@ -15,7 +15,11 @@ CFLAGS += -Wbad-function-cast -Wcast-qual -Wold-style-definition -Wshadow -Wstri
|
|||||||
CFLAGS += $(DEBUG)
|
CFLAGS += $(DEBUG)
|
||||||
DEFINES = -D UNITY_OUTPUT_CHAR=putcharSpy
|
DEFINES = -D UNITY_OUTPUT_CHAR=putcharSpy
|
||||||
DEFINES += -D UNITY_OUTPUT_CHAR_HEADER_DECLARATION=putcharSpy\(int\)
|
DEFINES += -D UNITY_OUTPUT_CHAR_HEADER_DECLARATION=putcharSpy\(int\)
|
||||||
DEFINES += -D UNITY_SUPPORT_64 -D UNITY_INCLUDE_DOUBLE
|
DEFINES += -D UNITY_OUTPUT_FLUSH=flushSpy
|
||||||
|
DEFINES += -D UNITY_OUTPUT_FLUSH_HEADER_DECLARATION=flushSpy\(void\)
|
||||||
|
DEFINES += $(UNITY_SUPPORT_64) $(UNITY_INCLUDE_DOUBLE)
|
||||||
|
UNITY_SUPPORT_64 = -D UNITY_SUPPORT_64
|
||||||
|
UNITY_INCLUDE_DOUBLE = -D UNITY_INCLUDE_DOUBLE
|
||||||
SRC = ../src/unity.c tests/testunity.c build/testunityRunner.c
|
SRC = ../src/unity.c tests/testunity.c build/testunityRunner.c
|
||||||
INC_DIR = -I ../src
|
INC_DIR = -I ../src
|
||||||
COV_FLAGS = -fprofile-arcs -ftest-coverage -I ../../src
|
COV_FLAGS = -fprofile-arcs -ftest-coverage -I ../../src
|
||||||
|
|||||||
Vendored
+4
-1
@@ -21,7 +21,10 @@
|
|||||||
|
|
||||||
/* Support for Meta Test Rig */
|
/* Support for Meta Test Rig */
|
||||||
#define TEST_CASE(a)
|
#define TEST_CASE(a)
|
||||||
void putcharSpy(int c) { (void)putchar(c);} // include passthrough for linking tests
|
|
||||||
|
/* Include Passthroughs for Linking Tests */
|
||||||
|
void putcharSpy(int c) { (void)putchar(c);}
|
||||||
|
void flushSpy(void) {}
|
||||||
|
|
||||||
/* Global Variables Used During These Tests */
|
/* Global Variables Used During These Tests */
|
||||||
int CounterSetup = 0;
|
int CounterSetup = 0;
|
||||||
|
|||||||
+4
-1
@@ -13,7 +13,10 @@ TEST_FILE("some_file.c")
|
|||||||
|
|
||||||
/* Support for Meta Test Rig */
|
/* Support for Meta Test Rig */
|
||||||
#define TEST_CASE(a)
|
#define TEST_CASE(a)
|
||||||
void putcharSpy(int c) { (void)putchar(c);} // include passthrough for linking tests
|
|
||||||
|
/* Include Passthroughs for Linking Tests */
|
||||||
|
void putcharSpy(int c) { (void)putchar(c);}
|
||||||
|
void flushSpy(void) {}
|
||||||
|
|
||||||
/* Global Variables Used During These Tests */
|
/* Global Variables Used During These Tests */
|
||||||
int CounterSetup = 0;
|
int CounterSetup = 0;
|
||||||
|
|||||||
+4
-1
@@ -22,7 +22,10 @@
|
|||||||
|
|
||||||
/* Support for Meta Test Rig */
|
/* Support for Meta Test Rig */
|
||||||
#define TEST_CASE(a)
|
#define TEST_CASE(a)
|
||||||
void putcharSpy(int c) { (void)putchar(c);} // include passthrough for linking tests
|
|
||||||
|
/* Include Passthroughs for Linking Tests */
|
||||||
|
void putcharSpy(int c) { (void)putchar(c);}
|
||||||
|
void flushSpy(void) {}
|
||||||
|
|
||||||
/* Global Variables Used During These Tests */
|
/* Global Variables Used During These Tests */
|
||||||
int CounterSetup = 0;
|
int CounterSetup = 0;
|
||||||
|
|||||||
@@ -8,10 +8,13 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
|
|
||||||
void putcharSpy(int c) { (void)putchar(c);} // include passthrough for linking tests
|
/* Support for Meta Test Rig */
|
||||||
|
|
||||||
#define TEST_CASE(...)
|
#define TEST_CASE(...)
|
||||||
|
|
||||||
|
/* Include Passthroughs for Linking Tests */
|
||||||
|
void putcharSpy(int c) { (void)putchar(c);}
|
||||||
|
void flushSpy(void) {}
|
||||||
|
|
||||||
#define EXPECT_ABORT_BEGIN \
|
#define EXPECT_ABORT_BEGIN \
|
||||||
if (TEST_PROTECT()) \
|
if (TEST_PROTECT()) \
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -54,6 +54,10 @@ void startPutcharSpy(void);
|
|||||||
void endPutcharSpy(void);
|
void endPutcharSpy(void);
|
||||||
char* getBufferPutcharSpy(void);
|
char* getBufferPutcharSpy(void);
|
||||||
|
|
||||||
|
void startFlushSpy(void);
|
||||||
|
void endFlushSpy(void);
|
||||||
|
int getFlushSpyCalls(void);
|
||||||
|
|
||||||
static int SetToOneToFailInTearDown;
|
static int SetToOneToFailInTearDown;
|
||||||
static int SetToOneMeanWeAlreadyCheckedThisGuy;
|
static int SetToOneMeanWeAlreadyCheckedThisGuy;
|
||||||
|
|
||||||
@@ -3343,14 +3347,35 @@ void putcharSpy(int c)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This is for counting the calls to the flushSpy */
|
||||||
|
static int flushSpyEnabled;
|
||||||
|
static int flushSpyCalls = 0;
|
||||||
|
|
||||||
|
void startFlushSpy(void) { flushSpyCalls = 0; flushSpyEnabled = 1; }
|
||||||
|
void endFlushSpy(void) { flushSpyCalls = 0; flushSpyEnabled = 0; }
|
||||||
|
int getFlushSpyCalls(void) { return flushSpyCalls; }
|
||||||
|
|
||||||
|
void flushSpy(void)
|
||||||
|
{
|
||||||
|
if (flushSpyEnabled){ flushSpyCalls++; }
|
||||||
|
}
|
||||||
|
|
||||||
void testFailureCountIncrementsAndIsReturnedAtEnd(void)
|
void testFailureCountIncrementsAndIsReturnedAtEnd(void)
|
||||||
{
|
{
|
||||||
UNITY_UINT savedFailures = Unity.TestFailures;
|
UNITY_UINT savedFailures = Unity.TestFailures;
|
||||||
Unity.CurrentTestFailed = 1;
|
Unity.CurrentTestFailed = 1;
|
||||||
startPutcharSpy(); // Suppress output
|
startPutcharSpy(); // Suppress output
|
||||||
|
startFlushSpy();
|
||||||
|
TEST_ASSERT_EQUAL(0, getFlushSpyCalls());
|
||||||
UnityConcludeTest();
|
UnityConcludeTest();
|
||||||
endPutcharSpy();
|
endPutcharSpy();
|
||||||
TEST_ASSERT_EQUAL(savedFailures + 1, Unity.TestFailures);
|
TEST_ASSERT_EQUAL(savedFailures + 1, Unity.TestFailures);
|
||||||
|
#if defined(UNITY_OUTPUT_FLUSH) && defined(UNITY_OUTPUT_FLUSH_HEADER_DECLARATION)
|
||||||
|
TEST_ASSERT_EQUAL(1, getFlushSpyCalls());
|
||||||
|
#else
|
||||||
|
TEST_ASSERT_EQUAL(0, getFlushSpyCalls());
|
||||||
|
#endif
|
||||||
|
endFlushSpy();
|
||||||
|
|
||||||
startPutcharSpy(); // Suppress output
|
startPutcharSpy(); // Suppress output
|
||||||
int failures = UnityEnd();
|
int failures = UnityEnd();
|
||||||
@@ -3420,6 +3445,7 @@ void testPrintNumbersUnsigned32(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ===================== THESE TEST WILL RUN IF YOUR CONFIG INCLUDES 64 BIT SUPPORT ==================
|
// ===================== THESE TEST WILL RUN IF YOUR CONFIG INCLUDES 64 BIT SUPPORT ==================
|
||||||
|
|
||||||
void testPrintNumbersInt64(void)
|
void testPrintNumbersInt64(void)
|
||||||
|
|||||||
Reference in New Issue
Block a user