test_keyFile_SOURCES = \
keyFile.c \
run-keyFile.c \
+ fileHandlingTest.c \
$(top_builddir)/version.c \
$(NULL)
kodFile.c \
run-kodFile.c \
$(top_builddir)/version.c \
+ fileHandlingTest.c \
$(NULL)
test_packetProcessing_SOURCES = \
packetProcessing.c \
run-packetProcessing.c \
+ sntptest.c \
$(NULL)
test_utilities_SOURCES = \
utilities.c \
run-utilities.c \
+ fileHandlingTest.c \
$(NULL)
test_crypto_SOURCES = \
#define SHA1_LENGTH 20
+void test_MakeMd5Mac(void);
+
void
test_MakeMd5Mac(void) {
--- /dev/null
+
+#include "config.h"
+#include "stdlib.h"
+#include "sntptest.h"
+
+#include "fileHandlingTest.h" //required because of the h.in thingy
+
+#include <string.h>
+#include <unistd.h>
+
+/*
+enum DirectoryType {
+ INPUT_DIR = 0,
+ OUTPUT_DIR = 1
+};
+*/
+//extern const char srcdir[];
+
+const char *
+CreatePath(const char* filename, enum DirectoryType argument) {
+ const char srcdir[] = SRCDIR_DEF;//"@abs_srcdir@/data/";
+ char * path = malloc (sizeof (char) * (strlen(srcdir) + 256));
+
+ char cwd[1024];
+
+ strcpy(path, srcdir);
+ strcat(path, filename);
+
+ return path;
+}
+
+
+int
+GetFileSize(FILE *file) {
+ fseek(file, 0L, SEEK_END);
+ int length = ftell(file);
+ fseek(file, 0L, SEEK_SET);
+
+ return length;
+}
+
+
+bool
+CompareFileContent(FILE* expected, FILE* actual) {
+ int currentLine = 1;
+
+ char actualLine[1024];
+ char expectedLine[1024];
+ size_t lenAct = sizeof actualLine;
+ size_t lenExp = sizeof expectedLine;
+
+ while ( ( (fgets(actualLine, lenAct, actual)) != NULL)
+ && ( (fgets(expectedLine, lenExp, expected)) != NULL )
+ ) {
+
+
+ if( strcmp(actualLine,expectedLine) !=0 ){
+ printf("Comparision failed on line %d",currentLine);
+ return FALSE;
+ }
+
+ currentLine++;
+ }
+
+ return TRUE;
+}
+
+
+void
+ClearFile(const char * filename) {
+ if (!truncate(filename, 0))
+ exit(1);
+}
+
#ifndef FILE_HANDLING_TEST_H
#define FILE_HANDLING_TEST_H
+#include "config.h"
#include "stdlib.h"
#include "sntptest.h"
OUTPUT_DIR = 1
};
+#define SRCDIR_DEF "@abs_srcdir@/data/";
+//const char srcdir[] = "@abs_srcdir@/data/";
const char *
-CreatePath(const char* filename, enum DirectoryType argument) {
- const char srcdir[] = "@abs_srcdir@/data/";
- char * path = malloc (sizeof (char) * (strlen(srcdir) + 256));
-
- char cwd[1024];
-
- strcpy(path, srcdir);
- strcat(path, filename);
-
- return path;
-}
+CreatePath(const char* filename, enum DirectoryType argument);
int
-GetFileSize(FILE *file) {
- fseek(file, 0L, SEEK_END);
- int length = ftell(file);
- fseek(file, 0L, SEEK_SET);
-
- return length;
-}
+GetFileSize(FILE *file);
bool
-CompareFileContent(FILE* expected, FILE* actual) {
- int currentLine = 1;
-
- char actualLine[1024];
- char expectedLine[1024];
- size_t lenAct = sizeof actualLine;
- size_t lenExp = sizeof expectedLine;
-
- while ( ( (fgets(actualLine, lenAct, actual)) != NULL)
- && ( (fgets(expectedLine, lenExp, expected)) != NULL )
- ) {
-
-
- if( strcmp(actualLine,expectedLine) !=0 ){
- printf("Comparision failed on line %d",currentLine);
- return FALSE;
- }
-
- currentLine++;
- }
-
- return TRUE;
-}
-
+CompareFileContent(FILE* expected, FILE* actual);
void
-ClearFile(const char * filename) {
- if (!truncate(filename, 0))
- exit(1);
-}
+ClearFile(const char * filename) ;
#endif // FILE_HANDLING_TEST_H
#include "unity.h"
+bool CompareKeys(struct key expected, struct key actual);
+bool CompareKeysAlternative(int key_id,int key_len,const char* type,const char* key_seq,struct key actual);
+void test_ReadEmptyKeyFile(void);
+
bool
CompareKeys(struct key expected, struct key actual) {
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_types.h"
+#include "sntptest.h"
+#include "crypto.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_MakeMd5Mac(void);
extern void test_MakeSHA1Mac(void);
extern void test_VerifyCorrectMD5(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "crypto.c";
UnityBegin("crypto.c");
- RUN_TEST(test_MakeMd5Mac, 13);
- RUN_TEST(test_MakeSHA1Mac, 36);
- RUN_TEST(test_VerifyCorrectMD5, 63);
- RUN_TEST(test_VerifySHA1, 83);
- RUN_TEST(test_VerifyFailure, 106);
- RUN_TEST(test_PacketSizeNotMultipleOfFourBytes, 128);
+ RUN_TEST(test_MakeMd5Mac, 12);
+ RUN_TEST(test_MakeSHA1Mac, 38);
+ RUN_TEST(test_VerifyCorrectMD5, 65);
+ RUN_TEST(test_VerifySHA1, 85);
+ RUN_TEST(test_VerifyFailure, 108);
+ RUN_TEST(test_PacketSizeNotMultipleOfFourBytes, 130);
return (UnityEnd());
}
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "fileHandlingTest.h"
+#include "ntp_stdlib.h"
+#include "ntp_types.h"
+#include "crypto.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_ReadEmptyKeyFile(void);
extern void test_ReadASCIIKeys(void);
extern void test_ReadHexKeys(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "keyFile.c";
UnityBegin("keyFile.c");
- RUN_TEST(test_ReadEmptyKeyFile, 55);
- RUN_TEST(test_ReadASCIIKeys, 64);
- RUN_TEST(test_ReadHexKeys, 84);
- RUN_TEST(test_ReadKeyFileWithComments, 112);
- RUN_TEST(test_ReadKeyFileWithInvalidHex, 133);
+ RUN_TEST(test_ReadEmptyKeyFile, 12);
+ RUN_TEST(test_ReadASCIIKeys, 68);
+ RUN_TEST(test_ReadHexKeys, 88);
+ RUN_TEST(test_ReadKeyFileWithComments, 116);
+ RUN_TEST(test_ReadKeyFileWithInvalidHex, 137);
return (UnityEnd());
}
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_types.h"
+#include "sntptest.h"
+#include "ntp_stdlib.h"
+#include "sntp-opts.h"
+#include "kod_management.h"
+#include "ntp_io.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_SingleEntryHandling(void);
extern void test_MultipleEntryHandling(void);
extern void test_NoMatchInSearch(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "kodDatabase.c";
UnityBegin("kodDatabase.c");
RUN_TEST(test_SingleEntryHandling, 21);
RUN_TEST(test_MultipleEntryHandling, 36);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_types.h"
+#include "ntp_stdlib.h"
+#include "fileHandlingTest.h"
+#include "kod_management.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_ReadEmptyFile(void);
extern void test_ReadCorrectFile(void);
extern void test_ReadFileWithBlankLines(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "kodFile.c";
UnityBegin("kodFile.c");
RUN_TEST(test_ReadEmptyFile, 27);
RUN_TEST(test_ReadCorrectFile, 35);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "sntptest.h"
+#include "networking.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "networking.c";
UnityBegin("networking.c");
return (UnityEnd());
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_debug.h"
+#include "ntp_stdlib.h"
+#include "ntp_types.h"
+#include "sntptest.h"
+#include "kod_management.h"
+#include "main.h"
+#include "networking.h"
+#include "ntp.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_GenerateUnauthenticatedPacket(void);
extern void test_GenerateAuthenticatedPacket(void);
extern void test_OffsetCalculationPositiveOffset(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "packetHandling.c";
UnityBegin("packetHandling.c");
RUN_TEST(test_GenerateUnauthenticatedPacket, 32);
RUN_TEST(test_GenerateAuthenticatedPacket, 57);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "sntptest.h"
+#include "networking.h"
+#include "ntp_stdlib.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_TooShortLength(void);
extern void test_LengthNotMultipleOfFour(void);
extern void test_TooShortExtensionFieldLength(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "packetProcessing.c";
UnityBegin("packetProcessing.c");
RUN_TEST(test_TooShortLength, 91);
RUN_TEST(test_LengthNotMultipleOfFour, 102);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "sntptest.h"
+#include "fileHandlingTest.h"
+#include "main.h"
+#include "utilities.h"
+#include <math.h>
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_IPv4Address(void);
extern void test_IPv6Address(void);
extern void test_SetLiVnMode1(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "utilities.c";
UnityBegin("utilities.c");
RUN_TEST(test_IPv4Address, 74);
RUN_TEST(test_IPv6Address, 86);
--- /dev/null
+
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "sntp-opts.h"
+#include "sntptest.h"
+
+void
+sntptest(void) {
+ optionSaveState(&sntpOptions);
+}
+
+
+void
+sntptest_destroy(void) {
+ optionRestore(&sntpOptions);
+}
+
+
+void
+ActivateOption(const char* option, const char* argument) {
+
+ const int ARGV_SIZE = 4;
+
+ char* opts[ARGV_SIZE];
+
+ opts[0] = estrdup("sntpopts");
+ opts[1] = estrdup(option);
+ opts[2] = estrdup(argument);
+ opts[3] = estrdup("127.0.0.1");
+
+ optionProcess(&sntpOptions, ARGV_SIZE, opts);
+}
+
void sntptest_destroy(void);
void ActivateOption(const char* option, const char* argument);
-
-void
-sntptest(void) {
- optionSaveState(&sntpOptions);
-}
-
-
-void
-sntptest_destroy(void) {
- optionRestore(&sntpOptions);
-}
-
-
-void
-ActivateOption(const char* option, const char* argument) {
-
- const int ARGV_SIZE = 4;
-
- char* opts[ARGV_SIZE];
-
- opts[0] = estrdup("sntpopts");
- opts[1] = estrdup(option);
- opts[2] = estrdup(argument);
- opts[3] = estrdup("127.0.0.1");
-
- optionProcess(&sntpOptions, ARGV_SIZE, opts);
-}
-
-
#endif // SNTPTEST_H
# Unity Project - A Test Framework for C
# Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
# [Released under MIT License. Please refer to license.txt for details]
-# ==========================================
+# ==========================================
+$QUICK_RUBY_VERSION = RUBY_VERSION.split('.').inject(0){|vv,v| vv * 100 + v.to_i }
File.expand_path(File.join(File.dirname(__FILE__),'colour_prompt'))
class UnityTestRunnerGenerator
def initialize(options = nil)
- @options = { :includes => [], :plugins => [], :framework => :unity }
+ @options = UnityTestRunnerGenerator.default_options
+
case(options)
when NilClass then @options
when String then @options.merge!(UnityTestRunnerGenerator.grab_config(options))
when Hash then @options.merge!(options)
else raise "If you specify arguments, it should be a filename or a hash of options"
end
+ require "#{File.expand_path(File.dirname(__FILE__))}/type_sanitizer"
+ end
+
+ def self.default_options
+ {
+ :includes => [],
+ :plugins => [],
+ :framework => :unity,
+ :test_prefix => "test|spec|should",
+ :setup_name => "setUp",
+ :teardown_name => "tearDown",
+ }
end
-
+
+
def self.grab_config(config_file)
- options = { :includes => [], :plugins => [], :framework => :unity }
+ options = self.default_options
+
unless (config_file.nil? or config_file.empty?)
require 'yaml'
yaml_guts = YAML.load_file(config_file)
- options.merge!(yaml_guts[:unity] ? yaml_guts[:unity] : yaml_guts[:cmock])
+ options.merge!(yaml_guts[:unity] || yaml_guts[:cmock])
raise "No :unity or :cmock section found in #{config_file}" unless options
end
return(options)
def run(input_file, output_file, options=nil)
tests = []
- includes = []
+ testfile_includes = []
used_mocks = []
-
+
+
@options.merge!(options) unless options.nil?
module_name = File.basename(input_file)
-
+
+
#pull required data from source file
- File.open(input_file, 'r') do |input|
- tests = find_tests(input)
- includes = find_includes(input)
- used_mocks = find_mocks(includes)
- end
+ source = File.read(input_file)
+ source = source.force_encoding("ISO-8859-1").encode("utf-8", :replace => nil) if ($QUICK_RUBY_VERSION > 10900)
+ tests = find_tests(source)
+ headers = find_includes(source)
+ testfile_includes = headers[:local] + headers[:system]
+ used_mocks = find_mocks(testfile_includes)
+
#build runner file
+ generate(input_file, output_file, tests, used_mocks, testfile_includes)
+
+ #determine which files were used to return them
+ all_files_used = [input_file, output_file]
+ all_files_used += testfile_includes.map {|filename| filename + '.c'} unless testfile_includes.empty?
+ all_files_used += @options[:includes] unless @options[:includes].empty?
+ return all_files_used.uniq
+ end
+
+ def generate(input_file, output_file, tests, used_mocks, testfile_includes)
File.open(output_file, 'w') do |output|
- create_header(output, used_mocks)
+ create_header(output, used_mocks, testfile_includes)
create_externs(output, tests, used_mocks)
create_mock_management(output, used_mocks)
create_suite_setup_and_teardown(output)
create_reset(output, used_mocks)
- create_main(output, input_file, tests)
+ create_main(output, input_file, tests, used_mocks)
end
-
- all_files_used = [input_file, output_file]
- all_files_used += includes.map {|filename| filename + '.c'} unless includes.empty?
- all_files_used += @options[:includes] unless @options[:includes].empty?
- return all_files_used.uniq
+
+
+
+
+
end
-
- def find_tests(input_file)
- tests_raw = []
- tests_args = []
+
+
+ def find_tests(source)
+
+
tests_and_line_numbers = []
-
- input_file.rewind
- source_raw = input_file.read
- source_scrubbed = source_raw.gsub(/\/\/.*$/, '') # remove line comments
+
+
+
+
+ source_scrubbed = source.gsub(/\/\/.*$/, '') # remove line comments
source_scrubbed = source_scrubbed.gsub(/\/\*.*?\*\//m, '') # remove block comments
lines = source_scrubbed.split(/(^\s*\#.*$) # Treat preprocessor directives as a logical line
| (;|\{|\}) /x) # Match ;, {, and } as end of lines
lines.each_with_index do |line, index|
#find tests
- if line =~ /^((?:\s*TEST_CASE\s*\(.*?\)\s*)*)\s*void\s+(test.*?)\s*\(\s*(.*)\s*\)/
+ if line =~ /^((?:\s*TEST_CASE\s*\(.*?\)\s*)*)\s*void\s+((?:#{@options[:test_prefix]}).*)\s*\(\s*(.*)\s*\)/
+ arguments = $1
name = $2
call = $3
- args = (@options[:use_param_tests] and $1) ? ($1.gsub(/\s*TEST_CASE\s*\(\s*/,'').strip.split(/\s*\)/).compact) : nil
- tests_and_line_numbers << { :name => name, :args => args, :call => call, :line_number => 0 }
- tests_args = []
+ args = nil
+ if (@options[:use_param_tests] and !arguments.empty?)
+ args = []
+ arguments.scan(/\s*TEST_CASE\s*\((.*)\)\s*$/) {|a| args << a[0]}
+ end
+ tests_and_line_numbers << { :test => name, :args => args, :call => call, :line_number => 0 }
+
end
end
+ tests_and_line_numbers.uniq! {|v| v[:test] }
#determine line numbers and create tests to run
- source_lines = source_raw.split("\n")
+ source_lines = source.split("\n")
source_index = 0;
tests_and_line_numbers.size.times do |i|
source_lines[source_index..-1].each_with_index do |line, index|
- if (line =~ /#{tests_and_line_numbers[i][:name]}/)
+ if (line =~ /#{tests_and_line_numbers[i][:test]}/)
source_index += index
tests_and_line_numbers[i][:line_number] = source_index + 1
break
end
end
end
-
+
+
return tests_and_line_numbers
end
- def find_includes(input_file)
- input_file.rewind
- includes = []
- input_file.readlines.each do |line|
- scan_results = line.scan(/^\s*#include\s+\"\s*(.+)\.[hH]\s*\"/)
- includes << scan_results[0][0] if (scan_results.size > 0)
- end
+ def find_includes(source)
+
+ #remove comments (block and line, in three steps to ensure correct precedence)
+ source.gsub!(/\/\/(?:.+\/\*|\*(?:$|[^\/])).*$/, '') # remove line comments that comment out the start of blocks
+ source.gsub!(/\/\*.*?\*\//m, '') # remove block comments
+ source.gsub!(/\/\/.*$/, '') # remove line comments (all that remain)
+
+ #parse out includes
+
+ includes = {
+
+ :local => source.scan(/^\s*#include\s+\"\s*(.+)\.[hH]\s*\"/).flatten,
+ :system => source.scan(/^\s*#include\s+<\s*(.+)\s*>/).flatten.map { |inc| "<#{inc}>" }
+ }
+
+
return includes
end
-
+
+
def find_mocks(includes)
mock_headers = []
includes.each do |include_file|
mock_headers << File.basename(include_file) if (include_file =~ /^mock/i)
end
- return mock_headers
+ return mock_headers
end
-
- def create_header(output, mocks)
+
+
+ def create_header(output, mocks, testfile_includes=[])
output.puts('/* AUTOGENERATED FILE. DO NOT EDIT. */')
create_runtest(output, mocks)
output.puts("\n//=======Automagically Detected Files To Include=====")
output.puts("#include \"#{@options[:framework].to_s}.h\"")
output.puts('#include "cmock.h"') unless (mocks.empty?)
- @options[:includes].flatten.uniq.compact.each do |includes|
- output.puts("#include \"#{includes.gsub('.h','')}.h\"")
+ @options[:includes].flatten.uniq.compact.each do |inc|
+ output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h','')}.h\""}")
end
output.puts('#include <setjmp.h>')
output.puts('#include <stdio.h>')
output.puts('#include "CException.h"') if @options[:plugins].include?(:cexception)
+ testfile_includes.delete_if{|inc| inc =~ /(unity|cmock)/}
+ testrunner_includes = testfile_includes - mocks
+ testrunner_includes.each do |inc|
+ output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h','')}.h\""}")
+ end
mocks.each do |mock|
output.puts("#include \"#{mock.gsub('.h','')}.h\"")
end
if @options[:enforce_strict_ordering]
- output.puts('')
- output.puts('int GlobalExpectCount;')
- output.puts('int GlobalVerifyOrder;')
- output.puts('char* GlobalOrderError;')
+ output.puts('')
+ output.puts('int GlobalExpectCount;')
+ output.puts('int GlobalVerifyOrder;')
+ output.puts('char* GlobalOrderError;')
end
end
-
+
+
def create_externs(output, tests, mocks)
output.puts("\n//=======External Functions This Runner Calls=====")
- output.puts("extern void setUp(void);")
- output.puts("extern void tearDown(void);")
- output.puts("void resetTest(void);")
+ output.puts("extern void #{@options[:setup_name]}(void);")
+ output.puts("extern void #{@options[:teardown_name]}(void);")
+
tests.each do |test|
- output.puts("extern void #{test[:name]}(#{test[:call]});")
+ output.puts("extern void #{test[:test]}(#{test[:call] || 'void'});")
end
output.puts('')
end
-
+
+
def create_mock_management(output, mocks)
unless (mocks.empty?)
output.puts("\n//=======Mock Management=====")
output.puts("{")
if @options[:enforce_strict_ordering]
output.puts(" GlobalExpectCount = 0;")
- output.puts(" GlobalVerifyOrder = 0;")
- output.puts(" GlobalOrderError = NULL;")
+ output.puts(" GlobalVerifyOrder = 0;")
+ output.puts(" GlobalOrderError = NULL;")
end
mocks.each do |mock|
- output.puts(" #{mock}_Init();")
+ mock_clean = TypeSanitizer.sanitize_c_identifier(mock)
+ output.puts(" #{mock_clean}_Init();")
end
output.puts("}\n")
output.puts("static void CMock_Verify(void)")
output.puts("{")
mocks.each do |mock|
- output.puts(" #{mock}_Verify();")
+ mock_clean = TypeSanitizer.sanitize_c_identifier(mock)
+ output.puts(" #{mock_clean}_Verify();")
end
output.puts("}\n")
output.puts("static void CMock_Destroy(void)")
output.puts("{")
mocks.each do |mock|
- output.puts(" #{mock}_Destroy();")
+ mock_clean = TypeSanitizer.sanitize_c_identifier(mock)
+ output.puts(" #{mock_clean}_Destroy();")
end
output.puts("}\n")
end
end
-
+
+
def create_suite_setup_and_teardown(output)
unless (@options[:suite_setup].nil?)
output.puts("\n//=======Suite Setup=====")
output.puts("}")
end
end
-
+
+
def create_runtest(output, used_mocks)
cexception = @options[:plugins].include? :cexception
va_args1 = @options[:use_param_tests] ? ', ...' : ''
va_args2 = @options[:use_param_tests] ? '__VA_ARGS__' : ''
output.puts("\n//=======Test Runner Used To Run Each Test Below=====")
- output.puts("#define RUN_TEST_NO_ARGS") if @options[:use_param_tests]
+ output.puts("#define RUN_TEST_NO_ARGS") if @options[:use_param_tests]
output.puts("#define RUN_TEST(TestFunc, TestLineNum#{va_args1}) \\")
output.puts("{ \\")
output.puts(" Unity.CurrentTestName = #TestFunc#{va_args2.empty? ? '' : " \"(\" ##{va_args2} \")\""}; \\")
output.puts(" Unity.CurrentTestLineNumber = TestLineNum; \\")
output.puts(" Unity.NumberOfTests++; \\")
+ output.puts(" CMock_Init(); \\") unless (used_mocks.empty?)
output.puts(" if (TEST_PROTECT()) \\")
output.puts(" { \\")
output.puts(" CEXCEPTION_T e; \\") if cexception
output.puts(" Try { \\") if cexception
- output.puts(" CMock_Init(); \\") unless (used_mocks.empty?)
- output.puts(" setUp(); \\")
+ output.puts(" #{@options[:setup_name]}(); \\")
+
+
output.puts(" TestFunc(#{va_args2}); \\")
- output.puts(" CMock_Verify(); \\") unless (used_mocks.empty?)
+
output.puts(" } Catch(e) { TEST_ASSERT_EQUAL_HEX32_MESSAGE(CEXCEPTION_NONE, e, \"Unhandled Exception!\"); } \\") if cexception
output.puts(" } \\")
- output.puts(" CMock_Destroy(); \\") unless (used_mocks.empty?)
+
output.puts(" if (TEST_PROTECT() && !TEST_IS_IGNORED) \\")
output.puts(" { \\")
- output.puts(" tearDown(); \\")
+ output.puts(" #{@options[:teardown_name]}(); \\")
+ output.puts(" CMock_Verify(); \\") unless (used_mocks.empty?)
+
output.puts(" } \\")
+ output.puts(" CMock_Destroy(); \\") unless (used_mocks.empty?)
output.puts(" UnityConcludeTest(); \\")
output.puts("}\n")
end
-
+
+
def create_reset(output, used_mocks)
output.puts("\n//=======Test Reset Option=====")
- output.puts("void resetTest()")
+ output.puts("void resetTest(void);")
+ output.puts("void resetTest(void)")
+
output.puts("{")
output.puts(" CMock_Verify();") unless (used_mocks.empty?)
output.puts(" CMock_Destroy();") unless (used_mocks.empty?)
- output.puts(" tearDown();")
- output.puts(" CMock_Init();") unless (used_mocks.empty?)
- output.puts(" setUp();")
+ output.puts(" #{@options[:teardown_name]}();")
+
+ output.puts(" CMock_Init();") unless (used_mocks.empty?)
+ output.puts(" #{@options[:setup_name]}();")
+
output.puts("}")
end
-
- def create_main(output, filename, tests)
+
+
+ def create_main(output, filename, tests, used_mocks)
output.puts("\nchar *progname;\n")
output.puts("\n\n//=======MAIN=====")
-
+
output.puts("int main(int argc, char *argv[])")
output.puts("{")
- #new stuff added
- #output.puts("\nu_long current_time = 4; // needed by authkeys. Used only in to calculate lifetime.\n");
-
- output.puts(" progname = argv[0];\n")
- #not necessary after all
- #output.puts(" init_lib();\n")
- #output.puts(" init_auth();\n")
+ output.puts(" progname = argv[0];\n")
+
+
+
+
+
+
output.puts(" suite_setup();") unless @options[:suite_setup].nil?
- output.puts(" Unity.TestFile = \"#{filename}\";")
+
output.puts(" UnityBegin(\"#{filename}\");")
if (@options[:use_param_tests])
tests.each do |test|
if ((test[:args].nil?) or (test[:args].empty?))
- output.puts(" RUN_TEST(#{test[:name]}, #{test[:line_number]}, RUN_TEST_NO_ARGS);")
+ output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]}, RUN_TEST_NO_ARGS);")
else
- test[:args].each {|args| output.puts(" RUN_TEST(#{test[:name]}, #{test[:line_number]}, #{args});")}
+ test[:args].each {|args| output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]}, #{args});")}
end
end
else
- tests.each { |test| output.puts(" RUN_TEST(#{test[:name]}, #{test[:line_number]});") }
+ tests.each { |test| output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]});") }
end
output.puts()
+ output.puts(" CMock_Guts_MemFreeFinal();") unless used_mocks.empty?
output.puts(" return #{@options[:suite_teardown].nil? ? "" : "suite_teardown"}(UnityEnd());")
output.puts("}")
end
if ($0 == __FILE__)
options = { :includes => [] }
yaml_file = nil
-
- #parse out all the options first
- ARGV.reject! do |arg|
+
+
+ #parse out all the options first (these will all be removed as we go)
+ ARGV.reject! do |arg|
case(arg)
- when '-cexception'
+ when '-cexception'
options[:plugins] = [:cexception]; true
- when /\w+\.yml/
+ when /\.*\.ya?ml/
+
options = UnityTestRunnerGenerator.grab_config(arg); true
+ when /\.*\.h/
+ options[:includes] << arg; true
+ when /--(\w+)=\"?(.*)\"?/
+ options[$1.to_sym] = $2; true
else false
end
- end
-
+ end
+
+
#make sure there is at least one parameter left (the input file)
if !ARGV[0]
- puts ["usage: ruby #{__FILE__} (yaml) (options) input_test_file output_test_runner (includes)",
- " blah.yml - will use config options in the yml file (see docs)",
- " -cexception - include cexception support"].join("\n")
+ puts ["\nusage: ruby #{__FILE__} (files) (options) input_test_file (output)",
+ "\n input_test_file - this is the C file you want to create a runner for",
+ " output - this is the name of the runner file to generate",
+ " defaults to (input_test_file)_Runner",
+ " files:",
+ " *.yml / *.yaml - loads configuration from here in :unity or :cmock",
+ " *.h - header files are added as #includes in runner",
+ " options:",
+
+ " -cexception - include cexception support",
+ " --setup_name=\"\" - redefine setUp func name to something else",
+ " --teardown_name=\"\" - redefine tearDown func name to something else",
+ " --test_prefix=\"\" - redefine test prefix from default test|spec|should",
+ " --suite_setup=\"\" - code to execute for setup of entire suite",
+ " --suite_teardown=\"\" - code to execute for teardown of entire suite",
+ " --use_param_tests=1 - enable parameterized tests (disabled by default)",
+ ].join("\n")
exit 1
end
-
+
+
#create the default test runner name if not specified
ARGV[1] = ARGV[0].gsub(".c","_Runner.c") if (!ARGV[1])
-
- #everything else is an include file
- options[:includes] = (ARGV.slice(2..-1).flatten.compact) if (ARGV.size > 2)
-
+
+
+
+
+
+
UnityTestRunnerGenerator.new(options).run(ARGV[0], ARGV[1])
end
+
--- /dev/null
+#============================================================
+# Author: John Theofanopoulos
+# A simple parser. Takes the output files generated during the build process and
+# extracts information relating to the tests.
+#
+# Notes:
+# To capture an output file under VS builds use the following:
+# devenv [build instructions] > Output.txt & type Output.txt
+#
+# To capture an output file under GCC/Linux builds use the following:
+# make | tee Output.txt
+#
+# To use this parser use the following command
+# ruby parseOutput.rb [options] [file]
+# options: -xml : produce a JUnit compatible XML file
+# file : file to scan for results
+#============================================================
+
+
+class ParseOutput
+# The following flag is set to true when a test is found or false otherwise.
+ @testFlag
+ @xmlOut
+ @arrayList
+ @totalTests
+ @classIndex
+
+# Set the flag to indicate if there will be an XML output file or not
+ def setXmlOutput()
+ @xmlOut = true
+ end
+
+# if write our output to XML
+ def writeXmlOuput()
+ output = File.open("report.xml", "w")
+ output << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ @arrayList.each do |item|
+ output << item << "\n"
+ end
+ output << "</testsuite>\n"
+ end
+
+# This function will try and determine when the suite is changed. This is
+# is the name that gets added to the classname parameter.
+ def testSuiteVerify(testSuiteName)
+ if @testFlag == false
+ @testFlag = true;
+ # Split the path name
+ testName = testSuiteName.split("/")
+ # Remove the extension
+ baseName = testName[testName.size - 1].split(".")
+ @testSuite = "test." + baseName[0]
+ printf "New Test: %s\n", @testSuite
+ end
+ end
+
+
+# Test was flagged as having passed so format the output
+ def testPassed(array)
+ lastItem = array.length - 1
+ testName = array[lastItem - 1]
+ testSuiteVerify(array[@className])
+ printf "%-40s PASS\n", testName
+ if @xmlOut == true
+ @arrayList.push " <testcase classname=\"" + @testSuite + "\" name=\"" + testName + "\"/>"
+ end
+ end
+
+# Test was flagged as being ingored so format the output
+ def testIgnored(array)
+ lastItem = array.length - 1
+ testName = array[lastItem - 2]
+ reason = array[lastItem].chomp
+ testSuiteVerify(array[@className])
+ printf "%-40s IGNORED\n", testName
+ if @xmlOut == true
+ @arrayList.push " <testcase classname=\"" + @testSuite + "\" name=\"" + testName + "\">"
+ @arrayList.push " <skipped type=\"TEST IGNORED\"> " + reason + " </skipped>"
+ @arrayList.push " </testcase>"
+ end
+ end
+
+# Test was flagged as having failed so format the line
+ def testFailed(array)
+ lastItem = array.length - 1
+ testName = array[lastItem - 2]
+ reason = array[lastItem].chomp + " at line: " + array[lastItem - 3]
+ testSuiteVerify(array[@className])
+ printf "%-40s FAILED\n", testName
+ if @xmlOut == true
+ @arrayList.push " <testcase classname=\"" + @testSuite + "\" name=\"" + testName + "\">"
+ @arrayList.push " <failure type=\"ASSERT FAILED\"> " + reason + " </failure>"
+ @arrayList.push " </testcase>"
+ end
+ end
+
+
+# Figure out what OS we are running on. For now we are assuming if it's not Windows it must
+# be Unix based.
+ def detectOS()
+ myOS = RUBY_PLATFORM.split("-")
+ if myOS.size == 2
+ if myOS[1] == "mingw32"
+ @className = 1
+ else
+ @className = 0
+ end
+ else
+ @className = 0
+ end
+
+ end
+
+# Main function used to parse the file that was captured.
+ def process(name)
+ @testFlag = false
+ @arrayList = Array.new
+
+ detectOS()
+
+ puts "Parsing file: " + name
+
+
+ testPass = 0
+ testFail = 0
+ testIgnore = 0
+ puts ""
+ puts "=================== RESULTS ====================="
+ puts ""
+ File.open(name).each do |line|
+ # Typical test lines look like this:
+ # <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:115:test_tc5100_initCanVoidPtrs:PASS
+ #
+ # where path is different on Unix vs Windows devices (Windows leads with a drive letter)
+ lineArray = line.split(":")
+ lineSize = lineArray.size
+ # 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.
+ if lineSize >= 4
+ # Determine if this test passed
+ if line.include? ":PASS"
+ testPassed(lineArray)
+ testPass += 1
+ elsif line.include? ":FAIL:"
+ testFailed(lineArray)
+ testFail += 1
+ elsif line.include? ":IGNORE:"
+ testIgnored(lineArray)
+ testIgnore += 1
+ # If none of the keywords are found there are no more tests for this suite so clear
+ # the test flag
+ else
+ @testFlag = false
+ end
+ else
+ @testFlag = false
+ end
+ end
+ puts ""
+ puts "=================== SUMMARY ====================="
+ puts ""
+ puts "Tests Passed : " + testPass.to_s
+ puts "Tests Failed : " + testFail.to_s
+ puts "Tests Ignored : " + testIgnore.to_s
+ @totalTests = testPass + testFail + testIgnore
+ if @xmlOut == true
+ heading = "<testsuite tests=\"" + @totalTests.to_s + "\" failures=\"" + testFail.to_s + "\"" + " skips=\"" + testIgnore.to_s + "\">"
+ @arrayList.insert(0, heading)
+ writeXmlOuput()
+ end
+
+ # return result
+ end
+
+ end
+
+# If the command line has no values in, used a default value of Output.txt
+parseMyFile = ParseOutput.new
+
+if ARGV.size >= 1
+ ARGV.each do |a|
+ if a == "-xml"
+ parseMyFile.setXmlOutput();
+ else
+ parseMyFile.process(a)
+ break
+ end
+ end
+end
--- /dev/null
+module TypeSanitizer
+
+ def self.sanitize_c_identifier(unsanitized)
+ # convert filename to valid C identifier by replacing invalid chars with '_'
+ return unsanitized.gsub(/[-\/\\\.\,\s]/, "_")
+ end
+
+end
--- /dev/null
+#! python3
+# ==========================================
+# Unity Project - A Test Framework for C
+# Copyright (c) 2015 Alexander Mueller / XelaRellum@web.de
+# [Released under MIT License. Please refer to license.txt for details]
+# Based on the ruby script by Mike Karlesky, Mark VanderVoord, Greg Williams
+# ==========================================
+import sys
+import os
+import re
+from glob import glob
+
+class UnityTestSummary:
+ def __init__(self):
+ self.report = ''
+ self.total_tests = 0
+ self.failures = 0
+ self.ignored = 0
+
+ def run(self):
+ # Clean up result file names
+ results = []
+ for target in self.targets:
+ results.append(target.replace('\\', '/'))
+
+ # Dig through each result file, looking for details on pass/fail:
+ failure_output = []
+ ignore_output = []
+
+ for result_file in results:
+ lines = list(map(lambda line: line.rstrip(), open(result_file, "r").read().split('\n')))
+ if len(lines) == 0:
+ raise Exception("Empty test result file: %s" % result_file)
+
+ details = self.get_details(result_file, lines)
+ failures = details['failures']
+ ignores = details['ignores']
+ if len(failures) > 0: failure_output.append('\n'.join(failures))
+ if len(ignores) > 0: ignore_output.append('n'.join(ignores))
+ tests,failures,ignored = self.parse_test_summary('\n'.join(lines))
+ self.total_tests += tests
+ self.failures += failures
+ self.ignored += ignored
+
+ if self.ignored > 0:
+ self.report += "\n"
+ self.report += "--------------------------\n"
+ self.report += "UNITY IGNORED TEST SUMMARY\n"
+ self.report += "--------------------------\n"
+ self.report += "\n".join(ignore_output)
+
+ if self.failures > 0:
+ self.report += "\n"
+ self.report += "--------------------------\n"
+ self.report += "UNITY FAILED TEST SUMMARY\n"
+ self.report += "--------------------------\n"
+ self.report += '\n'.join(failure_output)
+
+ self.report += "\n"
+ self.report += "--------------------------\n"
+ self.report += "OVERALL UNITY TEST SUMMARY\n"
+ self.report += "--------------------------\n"
+ self.report += "{total_tests} TOTAL TESTS {failures} TOTAL FAILURES {ignored} IGNORED\n".format(total_tests = self.total_tests, failures=self.failures, ignored=self.ignored)
+ self.report += "\n"
+
+ return self.report
+
+ def set_targets(self, target_array):
+ self.targets = target_array
+
+ def set_root_path(self, path):
+ self.root = path
+
+ def usage(self, err_msg=None):
+ print("\nERROR: ")
+ if err_msg:
+ print(err_msg)
+ print("\nUsage: unity_test_summary.rb result_file_directory/ root_path/")
+ print(" result_file_directory - The location of your results files.")
+ print(" Defaults to current directory if not specified.")
+ print(" Should end in / if specified.")
+ print(" root_path - Helpful for producing more verbose output if using relative paths.")
+ sys.exit(1)
+
+ def get_details(self, result_file, lines):
+ results = { 'failures': [], 'ignores': [], 'successes': [] }
+ for line in lines:
+ parts = line.split(':')
+ if len(parts) != 5:
+ continue
+ src_file,src_line,test_name,status,msg = parts
+ if len(self.root) > 0:
+ line_out = "%s%s" % (self.root, line)
+ else:
+ line_out = line
+ if status == 'IGNORE':
+ results['ignores'].append(line_out)
+ elif status == 'FAIL':
+ results['failures'].append(line_out)
+ elif status == 'PASS':
+ results['successes'].append(line_out)
+ return results
+
+ def parse_test_summary(self, summary):
+ m = re.search(r"([0-9]+) Tests ([0-9]+) Failures ([0-9]+) Ignored", summary)
+ if not m:
+ raise Exception("Couldn't parse test results: %s" % summary)
+
+ return int(m.group(1)), int(m.group(2)), int(m.group(3))
+
+
+if __name__ == '__main__':
+ uts = UnityTestSummary()
+ try:
+ #look in the specified or current directory for result files
+ if len(sys.argv) > 1:
+ targets_dir = sys.argv[1]
+ else:
+ targets_dir = './'
+ targets = list(map(lambda x: x.replace('\\', '/'), glob(targets_dir + '*.test*')))
+ if len(targets) == 0:
+ raise Exception("No *.testpass or *.testfail files found in '%s'" % targets_dir)
+ uts.set_targets(targets)
+
+ #set the root path
+ if len(sys.argv) > 2:
+ root_path = sys.argv[2]
+ else:
+ root_path = os.path.split(__file__)[0]
+ uts.set_root_path(root_path)
+
+ #run the summarizer
+ print(uts.run())
+ except Exception as e:
+ uts.usage(e)
# Unity Project - A Test Framework for C
# Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
# [Released under MIT License. Please refer to license.txt for details]
-# ==========================================
+# ==========================================
#!/usr/bin/ruby
#
include FileUtils::Verbose
attr_reader :report, :total_tests, :failures, :ignored
-
- def initialize
+
+ def initialize(opts = {})
@report = ''
@total_tests = 0
@failures = 0
@ignored = 0
+
+
end
-
+
def run
# Clean up result file names
results = @targets.map {|target| target.gsub(/\\/,'/')}
-
- # Dig through each result file, looking for details on pass/fail:
+
+ # Dig through each result file, looking for details on pass/fail:
failure_output = []
ignore_output = []
-
+
results.each do |result_file|
lines = File.readlines(result_file).map { |line| line.chomp }
if lines.length == 0
@ignored += ignored
end
end
-
+
if @ignored > 0
@report += "\n"
@report += "--------------------------\n"
@report += "--------------------------\n"
@report += ignore_output.flatten.join("\n")
end
-
+
if @failures > 0
@report += "\n"
@report += "--------------------------\n"
@report += "--------------------------\n"
@report += failure_output.flatten.join("\n")
end
-
+
@report += "\n"
@report += "--------------------------\n"
@report += "OVERALL UNITY TEST SUMMARY\n"
@report += "#{@total_tests} TOTAL TESTS #{@failures} TOTAL FAILURES #{@ignored} IGNORED\n"
@report += "\n"
end
-
+
def set_targets(target_array)
@targets = target_array
end
-
+
def set_root_path(path)
@root = path
end
def usage(err_msg=nil)
+ puts "\nERROR: "
puts err_msg if err_msg
- puts "Usage: unity_test_summary.rb"
+ puts "\nUsage: unity_test_summary.rb result_file_directory/ root_path/"
+ puts " result_file_directory - The location of your results files."
+ puts " Defaults to current directory if not specified."
+ puts " Should end in / if specified."
+ puts " root_path - Helpful for producing more verbose output if using relative paths."
exit 1
end
-
+
protected
-
- @@targets=nil
- @@path=nil
- @@root=nil
def get_details(result_file, lines)
results = { :failures => [], :ignores => [], :successes => [] }
lines.each do |line|
src_file,src_line,test_name,status,msg = line.split(/:/)
- line_out = ((@root and (@root != 0)) ? "#{@root}#{line}" : line ).gsub(/\//, "\\")
+ line_out = ((@root && (@root != 0)) ? "#{@root}#{line}" : line ).gsub(/\//, "\\")
case(status)
when 'IGNORE' then results[:ignores] << line_out
when 'FAIL' then results[:failures] << line_out
end
return results
end
-
+
def parse_test_summary(summary)
- if summary[-3..-1].join("\n") =~ /(\d+) Tests (\d+) Failures (\d+) Ignored/
+ if summary.find { |v| v =~ /(\d+) Tests (\d+) Failures (\d+) Ignored/ }
[$1.to_i,$2.to_i,$3.to_i]
else
raise "Couldn't parse test results: #{summary}"
end
def here; File.expand_path(File.dirname(__FILE__)); end
-
+
end
if $0 == __FILE__
- script = UnityTestSummary.new
+
+ #parse out the command options
+ opts, args = ARGV.partition {|v| v =~ /^--\w+/}
+ opts.map! {|v| v[2..-1].to_sym }
+
+ #create an instance to work with
+ uts = UnityTestSummary.new(opts)
+
begin
- script.run
+ #look in the specified or current directory for result files
+ args[0] ||= './'
+ targets = "#{ARGV[0].gsub(/\\/, '/')}**/*.test*"
+ results = Dir[targets]
+ raise "No *.testpass, *.testfail, or *.testresults files found in '#{targets}'" if results.empty?
+ uts.set_targets(results)
+
+ #set the root path
+ args[1] ||= Dir.pwd + '/'
+ uts.set_root_path(ARGV[1])
+
+ #run the summarizer
+ puts uts.run
rescue Exception => e
- script.usage e.message
+ uts.usage e.message
end
end
+
test_buftvtots_SOURCES = \
buftvtots.c \
run-buftvtots.c \
+ lfptest.c \
$(NULL)
$(srcdir)/run-buftvtots.c: $(srcdir)/buftvtots.c $(std_unity_list)
test_decodenetnum_SOURCES = \
decodenetnum.c \
run-decodenetnum.c \
+ sockaddrtest.c \
$(NULL)
$(srcdir)/run-decodenetnum.c: $(srcdir)/decodenetnum.c $(std_unity_list)
test_hextolfp_SOURCES = \
hextolfp.c \
run-hextolfp.c \
+ lfptest.c \
$(NULL)
$(srcdir)/run-hextolfp.c: $(srcdir)/hextolfp.c $(std_unity_list)
test_netof_SOURCES = \
netof.c \
run-netof.c \
+ sockaddrtest.c \
$(NULL)
$(srcdir)/run-netof.c: $(srcdir)/netof.c $(std_unity_list)
test_socktoa_SOURCES = \
socktoa.c \
run-socktoa.c \
+ sockaddrtest.c \
$(NULL)
$(srcdir)/run-socktoa.c: $(srcdir)/socktoa.c $(std_unity_list)
test_strtolfp_SOURCES = \
strtolfp.c \
run-strtolfp.c \
+ lfptest.c \
$(NULL)
$(srcdir)/run-strtolfp.c: $(srcdir)/strtolfp.c $(std_unity_list)
test_tvtots_SOURCES = \
tvtots.c \
run-tvtots.c \
+ lfptest.c \
$(NULL)
$(srcdir)/run-tvtots.c: $(srcdir)/tvtots.c $(std_unity_list)
const int totalLength = packetLength + keyIdLength + digestLength;
const char *expectedPacket = "ijklmnopqrstuvwx\0\0\0\0\x0c\x0e\x84\xcf\x0b\xb7\xa8\x68\x8e\x52\x38\xdb\xbc\x1c\x39\x53";
+
+void test_Encrypt(void);
+void test_DecryptValid(void);
+void test_DecryptInvalid(void);
+void test_IPv4AddressToRefId(void);
+void test_IPv6AddressToRefId(void);
+
+
void
test_Encrypt(void) {
char *packetPtr;
#include "ntp_calendar.h"
#include "unity.h"
+void test_RegularPositive(void);
+void test_RegularNegative(void);
+void test_PositiveOverflowBoundary(void);
+void test_NegativeOverflowBoundary(void);
+void test_PositiveOverflowBig(void);
+void test_IllegalCharacter(void);
+
+
+
void test_RegularPositive(void) {
const char *str = "17";
long val;
#include "unity.h"
+void test_RegularPositive(void);
+void test_PositiveOverflowBoundary(void);
+void test_PositiveOverflowBig(void);
+void test_Negative(void);
+void test_IllegalChar(void);
+
+
+
void test_RegularPositive(void) {
const char *str = "305";
u_long actual;
u_long current_time = 4;
int counter = 0;
+void setUp(void);
+void tearDown(void);
+void AddTrustedKey(keyid_t keyno);
+void AddUntrustedKey(keyid_t keyno);
+void test_AddTrustedKeys(void);
+void test_AddUntrustedKey(void);
+void test_HaveKeyCorrect(void);
+void test_HaveKeyIncorrect(void);
+void test_AddWithAuthUseKey(void);
+void test_EmptyKey(void);
+
void
setUp(void)
}
void
-test_AddTrustedKeys() {
+test_AddTrustedKeys(void) {
const keyid_t KEYNO1 = 5;
const keyid_t KEYNO2 = 8;
}
void
-test_AddUntrustedKey() {
+test_AddUntrustedKey(void) {
const keyid_t KEYNO = 3;
AddUntrustedKey(KEYNO);
}
void
-test_HaveKeyCorrect() {
+test_HaveKeyCorrect(void) {
const keyid_t KEYNO = 3;
AddTrustedKey(KEYNO);
}
void
-test_HaveKeyIncorrect() {
+test_HaveKeyIncorrect(void) {
const keyid_t KEYNO = 2;
TEST_ASSERT_FALSE(auth_havekey(KEYNO));
}
void
-test_AddWithAuthUseKey() {
+test_AddWithAuthUseKey(void) {
const keyid_t KEYNO = 5;
const char* KEY = "52a";
}
void
-test_EmptyKey() {
+test_EmptyKey(void) {
const keyid_t KEYNO = 3;
const char* KEY = "";
--- /dev/null
+#include "config.h"
+#include "ntp_fp.h"
+
+int IsEqual(const l_fp expected, const l_fp actual) {
+ if (L_ISEQU(&expected, &actual)) {
+ return TRUE;
+ } else {
+ return FALSE;
+ }
+}
#ifndef NTP_TESTS_LFPTEST_H
#define NTP_TESTS_LFPTEST_H
+#include "config.h"
#include "ntp_fp.h"
static const int32 QUARTER = 1073741824L;
static const int32 QUARTER_PROMILLE_APPRX = 1073742L;
-int
-IsEqual(const l_fp expected, const l_fp actual) {
- if (L_ISEQU(&expected, &actual)) {
- return TRUE;
- } else {
- return FALSE;
- }
-}
+int IsEqual(const l_fp expected, const l_fp actual);
#endif
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp.h"
+#include "ntp_stdlib.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_Encrypt(void);
extern void test_DecryptValid(void);
extern void test_DecryptInvalid(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "a_md5encrypt.c";
UnityBegin("a_md5encrypt.c");
RUN_TEST(test_Encrypt, 29);
- RUN_TEST(test_DecryptValid, 51);
- RUN_TEST(test_DecryptInvalid, 58);
- RUN_TEST(test_IPv4AddressToRefId, 67);
- RUN_TEST(test_IPv6AddressToRefId, 81);
+ RUN_TEST(test_DecryptValid, 30);
+ RUN_TEST(test_DecryptInvalid, 31);
+ RUN_TEST(test_IPv4AddressToRefId, 32);
+ RUN_TEST(test_IPv6AddressToRefId, 33);
return (UnityEnd());
}
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp_calendar.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "atoint.c";
UnityBegin("atoint.c");
RUN_TEST(test_RegularPositive, 7);
- RUN_TEST(test_RegularNegative, 15);
- RUN_TEST(test_PositiveOverflowBoundary, 23);
- RUN_TEST(test_NegativeOverflowBoundary, 30);
- RUN_TEST(test_PositiveOverflowBig, 37);
- RUN_TEST(test_IllegalCharacter, 44);
+ RUN_TEST(test_RegularNegative, 8);
+ RUN_TEST(test_PositiveOverflowBoundary, 9);
+ RUN_TEST(test_NegativeOverflowBoundary, 10);
+ RUN_TEST(test_PositiveOverflowBig, 11);
+ RUN_TEST(test_IllegalCharacter, 12);
return (UnityEnd());
}
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp_calendar.h"
+#include "ntp_fp.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_RegularPositive(void);
extern void test_PositiveOverflowBoundary(void);
extern void test_PositiveOverflowBig(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "atouint.c";
UnityBegin("atouint.c");
RUN_TEST(test_RegularPositive, 9);
- RUN_TEST(test_PositiveOverflowBoundary, 17);
- RUN_TEST(test_PositiveOverflowBig, 24);
- RUN_TEST(test_Negative, 31);
- RUN_TEST(test_IllegalChar, 38);
+ RUN_TEST(test_PositiveOverflowBoundary, 10);
+ RUN_TEST(test_PositiveOverflowBig, 11);
+ RUN_TEST(test_Negative, 12);
+ RUN_TEST(test_IllegalChar, 13);
return (UnityEnd());
}
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp.h"
+#include "ntp_stdlib.h"
+#include "ntp_calendar.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_AddTrustedKeys(void);
extern void test_AddUntrustedKey(void);
extern void test_HaveKeyCorrect(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "authkeys.c";
UnityBegin("authkeys.c");
- RUN_TEST(test_AddTrustedKeys, 70);
- RUN_TEST(test_AddUntrustedKey, 82);
- RUN_TEST(test_HaveKeyCorrect, 91);
- RUN_TEST(test_HaveKeyIncorrect, 101);
- RUN_TEST(test_AddWithAuthUseKey, 109);
- RUN_TEST(test_EmptyKey, 117);
+ RUN_TEST(test_AddTrustedKeys, 24);
+ RUN_TEST(test_AddUntrustedKey, 25);
+ RUN_TEST(test_HaveKeyCorrect, 26);
+ RUN_TEST(test_HaveKeyIncorrect, 27);
+ RUN_TEST(test_AddWithAuthUseKey, 28);
+ RUN_TEST(test_EmptyKey, 29);
return (UnityEnd());
}
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+//#include "config.h"
+//#include "ntp_types.h"
+//#include "ntp_stdlib.h"
+//#include "lfptest.h"
+//#include "ntp_unixtime.h"
+//#include <math.h>
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_ZeroBuffer(void);
extern void test_IntegerAndFractionalBuffer(void);
extern void test_IllegalMicroseconds(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "buftvtots.c";
UnityBegin("buftvtots.c");
RUN_TEST(test_ZeroBuffer, 17);
RUN_TEST(test_IntegerAndFractionalBuffer, 32);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp_calendar.h"
+#include <string.h>
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_DaySplitMerge(void);
extern void test_SplitYearDays1(void);
extern void test_SplitYearDays2(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "calendar.c";
UnityBegin("calendar.c");
RUN_TEST(test_DaySplitMerge, 228);
RUN_TEST(test_SplitYearDays1, 258);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_calendar.h"
+#include "ntp_stdlib.h"
+#include "test-libntp.h"
+#include <string.h>
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_RegularTime(void);
extern void test_LeapYear(void);
extern void test_uLongBoundary(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "caljulian.c";
UnityBegin("caljulian.c");
RUN_TEST(test_RegularTime, 73);
RUN_TEST(test_LeapYear, 85);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_calendar.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_DateGivenMonthDay(void);
extern void test_DateGivenYearDay(void);
extern void test_DateLeapYear(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "caltontp.c";
UnityBegin("caltontp.c");
RUN_TEST(test_DateGivenMonthDay, 6);
RUN_TEST(test_DateGivenYearDay, 16);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp_calendar.h"
+#include "test-libntp.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_NoWrapInDateRange(void);
extern void test_NoWrapInDateRangeLeapYear(void);
extern void test_WrapInDateRange(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "calyearstart.c";
UnityBegin("calyearstart.c");
RUN_TEST(test_NoWrapInDateRange, 22);
RUN_TEST(test_NoWrapInDateRangeLeapYear, 30);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_calendar.h"
+#include "ntp_stdlib.h"
+#include "test-libntp.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_CurrentYear(void);
extern void test_CurrentYearFuzz(void);
extern void test_TimeZoneOffset(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "clocktime.c";
UnityBegin("clocktime.c");
RUN_TEST(test_CurrentYear, 35);
RUN_TEST(test_CurrentYearFuzz, 51);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "sockaddrtest.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_IPv4AddressOnly(void);
extern void test_IPv4AddressWithPort(void);
extern void test_IPv6AddressOnly(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "decodenetnum.c";
UnityBegin("decodenetnum.c");
RUN_TEST(test_IPv4AddressOnly, 9);
RUN_TEST(test_IPv4AddressWithPort, 23);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp_calendar.h"
+#include "ntp_fp.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "hextoint.c";
UnityBegin("hextoint.c");
RUN_TEST(test_SingleDigit, 10);
RUN_TEST(test_MultipleDigits, 18);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp_calendar.h"
+#include "lfptest.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_PositiveInteger(void);
extern void test_NegativeInteger(void);
extern void test_PositiveFraction(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "hextolfp.c";
UnityBegin("hextolfp.c");
RUN_TEST(test_PositiveInteger, 11);
RUN_TEST(test_NegativeInteger, 22);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_calendar.h"
+#include "ntp_stdlib.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_RegularTime(void);
extern void test_CurrentTime(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "humandate.c";
UnityBegin("humandate.c");
RUN_TEST(test_RegularTime, 9);
RUN_TEST(test_CurrentTime, 24);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp_fp.h"
+#include <float.h>
+#include <math.h>
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_AdditionLR(void);
extern void test_AdditionRL(void);
extern void test_SubtractionLR(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "lfpfunc.c";
UnityBegin("lfpfunc.c");
RUN_TEST(test_AdditionLR, 251);
RUN_TEST(test_AdditionRL, 265);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp_fp.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_PositiveInteger(void);
extern void test_NegativeInteger(void);
extern void test_PositiveIntegerWithFraction(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "lfptostr.c";
UnityBegin("lfptostr.c");
RUN_TEST(test_PositiveInteger, 23);
RUN_TEST(test_NegativeInteger, 31);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_KnownMode(void);
extern void test_UnknownMode(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "modetoa.c";
UnityBegin("modetoa.c");
RUN_TEST(test_KnownMode, 9);
RUN_TEST(test_UnknownMode, 16);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_msnprintf(void);
extern void test_msnprintfLiteralPercentm(void);
extern void test_msnprintfBackslashLiteralPercentm(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "msyslog.c";
UnityBegin("msyslog.c");
RUN_TEST(test_msnprintf, 14);
RUN_TEST(test_msnprintfLiteralPercentm, 31);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp_calendar.h"
+#include "sockaddrtest.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_ClassBAddress(void);
extern void test_ClassCAddress(void);
extern void test_ClassAAddress(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "netof.c";
UnityBegin("netof.c");
RUN_TEST(test_ClassBAddress, 10);
RUN_TEST(test_ClassCAddress, 20);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp_fp.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_Address(void);
extern void test_Netmask(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "numtoa.c";
UnityBegin("numtoa.c");
RUN_TEST(test_Address, 10);
RUN_TEST(test_Netmask, 17);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp_fp.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_LoopbackNetNonResolve(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "numtohost.c";
UnityBegin("numtohost.c");
RUN_TEST(test_LoopbackNetNonResolve, 9);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "octtoint.c";
UnityBegin("octtoint.c");
RUN_TEST(test_SingleDigit, 7);
RUN_TEST(test_MultipleDigits, 15);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp_calendar.h"
+#include "ntp_fp.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "prettydate.c";
UnityBegin("prettydate.c");
RUN_TEST(test_ConstantDate, 10);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "recvbuff.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "recvbuff.c";
UnityBegin("recvbuff.c");
RUN_TEST(test_Initialization, 15);
RUN_TEST(test_GetAndFree, 23);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include <ntp.h>
+#include <ntp_fp.h>
+#include <refidsmear.h>
+#include <stdio.h>
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_refidsmear(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "refidsmear.c";
UnityBegin("refidsmear.c");
RUN_TEST(test_refidsmear, 101);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_net.h"
+#include "ntp_refclock.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_LocalClock(void);
extern void test_UnknownId(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "refnumtoa.c";
UnityBegin("refnumtoa.c");
RUN_TEST(test_LocalClock, 13);
RUN_TEST(test_UnknownId, 40);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_fp.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_PositiveInteger(void);
extern void test_NegativeInteger(void);
extern void test_PositiveIntegerPositiveFraction(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "sfptostr.c";
UnityBegin("sfptostr.c");
RUN_TEST(test_PositiveInteger, 11);
RUN_TEST(test_NegativeInteger, 19);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp_calendar.h"
+#include "sockaddrtest.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "socktoa.c";
UnityBegin("socktoa.c");
RUN_TEST(test_IPv4AddressWithPort, 11);
RUN_TEST(test_IPv6AddressWithPort, 18);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_MD5KeyTypeWithoutDigestLength(void);
extern void test_MD5KeyTypeWithDigestLength(void);
extern void test_SHA1KeyTypeWithDigestLength(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "ssl_init.c";
UnityBegin("ssl_init.c");
RUN_TEST(test_MD5KeyTypeWithoutDigestLength, 20);
RUN_TEST(test_MD5KeyTypeWithDigestLength, 25);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp.h"
+#include "ntp_control.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_PeerRestart(void);
extern void test_SysUnspecified(void);
extern void test_ClockCodeExists(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "statestr.c";
UnityBegin("statestr.c");
RUN_TEST(test_PeerRestart, 12);
RUN_TEST(test_SysUnspecified, 18);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp_calendar.h"
+#include "lfptest.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "strtolfp.c";
UnityBegin("strtolfp.c");
RUN_TEST(test_PositiveInteger, 11);
RUN_TEST(test_NegativeInteger, 25);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_types.h"
+#include "ntp_fp.h"
+#include "timespecops.h"
+#include <math.h>
+#include <string.h>
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_Helpers1(void);
extern void test_Normalise(void);
extern void test_SignNoFrac(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "timespecops.c";
UnityBegin("timespecops.c");
RUN_TEST(test_Helpers1, 153);
RUN_TEST(test_Normalise, 174);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_types.h"
+#include "ntp_fp.h"
+#include "timevalops.h"
+#include <math.h>
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_Helpers1(void);
extern void test_Normalise(void);
extern void test_SignNoFrac(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "timevalops.c";
UnityBegin("timevalops.c");
RUN_TEST(test_Helpers1, 157);
RUN_TEST(test_Normalise, 178);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_fp.h"
+#include "timevalops.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "tstotv.c";
UnityBegin("tstotv.c");
RUN_TEST(test_Seconds, 9);
RUN_TEST(test_MicrosecondsExact, 21);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "lfptest.h"
+#include "timevalops.h"
+#include <math.h>
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_Seconds(void);
extern void test_MicrosecondsRounded(void);
extern void test_MicrosecondsExact(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "tvtots.c";
UnityBegin("tvtots.c");
RUN_TEST(test_Seconds, 12);
RUN_TEST(test_MicrosecondsRounded, 25);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "ntp_fp.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_ConstantDateTime(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "uglydate.c";
UnityBegin("uglydate.c");
- RUN_TEST(test_ConstantDateTime, 10);
+ RUN_TEST(test_ConstantDateTime, 8);
return (UnityEnd());
}
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
+#include "vint64ops.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_ParseVUI64_pos(void);
extern void test_ParseVUI64_neg(void);
extern void test_ParseVUI64_case(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "vi64ops.c";
UnityBegin("vi64ops.c");
RUN_TEST(test_ParseVUI64_pos, 33);
RUN_TEST(test_ParseVUI64_neg, 49);
#include "unity.h"
#include <setjmp.h>
#include <stdio.h>
+#include "config.h"
+#include "ntp_stdlib.h"
//=======External Functions This Runner Calls=====
extern void setUp(void);
extern void tearDown(void);
-void resetTest(void);
extern void test_NonLeapYearFebruary(void);
extern void test_NonLeapYearJune(void);
extern void test_LeapYearFebruary(void);
//=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
{
tearDown();
setUp();
int main(int argc, char *argv[])
{
progname = argv[0];
- Unity.TestFile = "ymd2yd.c";
UnityBegin("ymd2yd.c");
RUN_TEST(test_NonLeapYearFebruary, 9);
RUN_TEST(test_NonLeapYearJune, 15);
--- /dev/null
+
+#include "config.h"
+#include "ntp.h"
+#include "ntp_stdlib.h"
+
+sockaddr_u
+CreateSockaddr4(const char* address, unsigned int port) {
+ sockaddr_u s;
+ s.sa4.sin_family = AF_INET;
+ s.sa4.sin_addr.s_addr = inet_addr(address);
+ SET_PORT(&s, port);
+
+ return s;
+}
+
+
+int
+IsEqual(const sockaddr_u expected, const sockaddr_u actual) {
+ struct in_addr in;
+ struct in6_addr in6;
+
+ if (expected.sa.sa_family != actual.sa.sa_family) {
+ printf("Expected sa_family: %d but got: %d", expected.sa.sa_family, actual.sa.sa_family);
+ return FALSE;
+ }
+
+ if (actual.sa.sa_family == AF_INET) { // IPv4
+ if (expected.sa4.sin_port == actual.sa4.sin_port &&
+ memcmp(&expected.sa4.sin_addr, &actual.sa4.sin_addr,
+ sizeof( in )) == 0) {
+ return TRUE;
+ } else {
+ printf("IPv4 comparision failed, expected: %s(%s) but was: %s(%s)",inet_ntoa(expected.sa4.sin_addr), socktoa(&expected), inet_ntoa(actual.sa4.sin_addr),socktoa(&actual));
+ return FALSE;
+ }
+ } else if (actual.sa.sa_family == AF_INET6) { //IPv6
+ if (expected.sa6.sin6_port == actual.sa6.sin6_port &&
+ memcmp(&expected.sa6.sin6_addr, &actual.sa6.sin6_addr,
+ sizeof(in6)) == 0) {
+ return TRUE;
+ } else {
+ printf("IPv6 comparision failed");
+ return FALSE;
+ }
+ } else { // Unknown family
+ printf("Unknown sa_family: %d",actual.sa.sa_family);
+ return FALSE;
+ }
+}
+
#ifndef TESTS_SOCKADDRTEST_H
#define TESTS_SOCKADDRTEST_H
+#include "config.h"
#include "ntp.h"
#include "ntp_stdlib.h"
-sockaddr_u
-CreateSockaddr4(const char* address, unsigned int port) {
- sockaddr_u s;
- s.sa4.sin_family = AF_INET;
- s.sa4.sin_addr.s_addr = inet_addr(address);
- SET_PORT(&s, port);
-
- return s;
-}
-
-
-int
-IsEqual(const sockaddr_u expected, const sockaddr_u actual) {
- struct in_addr in;
- struct in6_addr in6;
-
- if (expected.sa.sa_family != actual.sa.sa_family) {
- printf("Expected sa_family: %d but got: %d", expected.sa.sa_family, actual.sa.sa_family);
- return FALSE;
- }
-
- if (actual.sa.sa_family == AF_INET) { // IPv4
- if (expected.sa4.sin_port == actual.sa4.sin_port &&
- memcmp(&expected.sa4.sin_addr, &actual.sa4.sin_addr,
- sizeof( in )) == 0) {
- return TRUE;
- } else {
- printf("IPv4 comparision failed, expected: %s(%s) but was: %s(%s)",inet_ntoa(expected.sa4.sin_addr), socktoa(&expected), inet_ntoa(actual.sa4.sin_addr),socktoa(&actual));
- return FALSE;
- }
- } else if (actual.sa.sa_family == AF_INET6) { //IPv6
- if (expected.sa6.sin6_port == actual.sa6.sin6_port &&
- memcmp(&expected.sa6.sin6_addr, &actual.sa6.sin6_addr,
- sizeof(in6)) == 0) {
- return TRUE;
- } else {
- printf("IPv6 comparision failed");
- return FALSE;
- }
- } else { // Unknown family
- printf("Unknown sa_family: %d",actual.sa.sa_family);
- return FALSE;
- }
-}
+sockaddr_u CreateSockaddr4(const char* address, unsigned int port);
+int IsEqual(const sockaddr_u expected, const sockaddr_u actual);
#endif // TESTS_SOCKADDRTEST_H
#include "unity.h"
+void test_ConstantDateTime(void);
void
test_ConstantDateTime(void) {