]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
Updated unity ruby testRunner generator with mark's latest fixes. Modified tests...
authorDamir Tomic <viperus@ntp.org>
Wed, 22 Jul 2015 18:09:39 +0000 (20:09 +0200)
committerDamir Tomic <viperus@ntp.org>
Wed, 22 Jul 2015 18:09:39 +0000 (20:09 +0200)
bk: 55afdc636TZKp95qd7IKAckR1RiaHQ

68 files changed:
sntp/tests/Makefile.am
sntp/tests/crypto.c
sntp/tests/fileHandlingTest.c [new file with mode: 0644]
sntp/tests/fileHandlingTest.h.in
sntp/tests/keyFile.c
sntp/tests/run-crypto.c
sntp/tests/run-keyFile.c
sntp/tests/run-kodDatabase.c
sntp/tests/run-kodFile.c
sntp/tests/run-networking.c
sntp/tests/run-packetHandling.c
sntp/tests/run-packetProcessing.c
sntp/tests/run-utilities.c
sntp/tests/sntptest.c [new file with mode: 0644]
sntp/tests/sntptest.h
sntp/unity/auto/generate_test_runner.rb
sntp/unity/auto/parseOutput.rb [new file with mode: 0755]
sntp/unity/auto/type_sanitizer.rb [new file with mode: 0755]
sntp/unity/auto/unity_test_summary.py [new file with mode: 0755]
sntp/unity/auto/unity_test_summary.rb
tests/libntp/Makefile.am
tests/libntp/a_md5encrypt.c
tests/libntp/atoint.c
tests/libntp/atouint.c
tests/libntp/authkeys.c
tests/libntp/lfptest.c [new file with mode: 0644]
tests/libntp/lfptest.h
tests/libntp/run-a_md5encrypt.c
tests/libntp/run-atoint.c
tests/libntp/run-atouint.c
tests/libntp/run-authkeys.c
tests/libntp/run-buftvtots.c
tests/libntp/run-calendar.c
tests/libntp/run-caljulian.c
tests/libntp/run-caltontp.c
tests/libntp/run-calyearstart.c
tests/libntp/run-clocktime.c
tests/libntp/run-decodenetnum.c
tests/libntp/run-hextoint.c
tests/libntp/run-hextolfp.c
tests/libntp/run-humandate.c
tests/libntp/run-lfpfunc.c
tests/libntp/run-lfptostr.c
tests/libntp/run-modetoa.c
tests/libntp/run-msyslog.c
tests/libntp/run-netof.c
tests/libntp/run-numtoa.c
tests/libntp/run-numtohost.c
tests/libntp/run-octtoint.c
tests/libntp/run-prettydate.c
tests/libntp/run-recvbuff.c
tests/libntp/run-refidsmear.c
tests/libntp/run-refnumtoa.c
tests/libntp/run-sfptostr.c
tests/libntp/run-socktoa.c
tests/libntp/run-ssl_init.c
tests/libntp/run-statestr.c
tests/libntp/run-strtolfp.c
tests/libntp/run-timespecops.c
tests/libntp/run-timevalops.c
tests/libntp/run-tstotv.c
tests/libntp/run-tvtots.c
tests/libntp/run-uglydate.c
tests/libntp/run-vi64ops.c
tests/libntp/run-ymd2yd.c
tests/libntp/sockaddrtest.c [new file with mode: 0644]
tests/libntp/sockaddrtest.h
tests/libntp/uglydate.c

index 8cef4f47ac61dba8b8ae2eed7981eaaab3131590..f28f5da78bead5d8f8f5790b88e932ed02134907 100644 (file)
@@ -140,6 +140,7 @@ test_kodDatabase_SOURCES =          \
 test_keyFile_SOURCES =                 \
        keyFile.c                       \
        run-keyFile.c                   \
+       fileHandlingTest.c              \
        $(top_builddir)/version.c       \
        $(NULL)
 
@@ -147,16 +148,19 @@ test_kodFile_SOURCES =                    \
        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 =                  \
index 7781b81b8c5ec822939aac7f0728ad84104b1299..d679fdec7bdc780400f9f134be9bc4c16d3d09c2 100644 (file)
@@ -9,6 +9,8 @@
 #define SHA1_LENGTH 20
 
 
+void test_MakeMd5Mac(void);
+
 void
 test_MakeMd5Mac(void) {
 
diff --git a/sntp/tests/fileHandlingTest.c b/sntp/tests/fileHandlingTest.c
new file mode 100644 (file)
index 0000000..a328f47
--- /dev/null
@@ -0,0 +1,74 @@
+
+#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);
+}
+
index 5e37c326eaeec08f8e2e70eec8c31bf2e56a95cc..e7d99ee403dfb79c3a9acb39526d8b28bf88fd8d 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef FILE_HANDLING_TEST_H
 #define FILE_HANDLING_TEST_H
 
+#include "config.h"
 #include "stdlib.h"
 #include "sntptest.h"
 
@@ -13,62 +14,22 @@ enum DirectoryType {
        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
index d7b290ec6465b37f377745f51a87ce1006432d96..f4d639f1db9e8d6ecf962002c7392f2049cde6f0 100644 (file)
@@ -7,6 +7,10 @@
 
 #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) {
index ed9114bc87afb61a108ac24ce68f04e6ff1ddaa1..603c6d5d8397d384a2dd439d3c6fc9e8c376ab2f 100644 (file)
 #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);
@@ -36,7 +39,8 @@ extern void test_PacketSizeNotMultipleOfFourBytes(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -49,14 +53,13 @@ char *progname;
 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());
 }
index f908d5930ecb0b3c46c937fc04ad02b890224db4..e08b614edd654f957376fc928d9dc1d919338500 100644 (file)
 #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);
@@ -35,7 +39,8 @@ extern void test_ReadKeyFileWithInvalidHex(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -48,13 +53,12 @@ char *progname;
 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());
 }
index faa32f74c8a340bf749dabd4996541bff81323f9..b10a56d253a301694d8f8331dbfcfe7c679a38f4 100644 (file)
 #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);
@@ -35,7 +41,8 @@ extern void test_DeleteEntry(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -48,7 +55,6 @@ char *progname;
 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);
index da4835a4406a76332a1e0fe8b68cd95c65ef584b..0f29096a03c07f8bcc3124cb12736e6263e34558 100644 (file)
 #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);
@@ -36,7 +40,8 @@ extern void test_WriteFileWithMultipleEntries(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -49,7 +54,6 @@ char *progname;
 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);
index d5e822c719ebc53ee304ec6cf3a95c1087d31b1c..ae21349af204588bcd0eac5315fba1c64de1af22 100644 (file)
@@ -22,6 +22,9 @@
 #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);
@@ -29,7 +32,8 @@ extern void tearDown(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -42,7 +46,6 @@ char *progname;
 int main(int argc, char *argv[])
 {
   progname = argv[0];
-  Unity.TestFile = "networking.c";
   UnityBegin("networking.c");
 
   return (UnityEnd());
index e8ae331af6f52d5fd5c9ea4a7bef560aa6132c05..f2086e209cb30d5fbfb871571ad0241ea7d94807 100644 (file)
 #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);
@@ -40,7 +48,8 @@ extern void test_HandleCorrectPacket(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -53,7 +62,6 @@ char *progname;
 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);
index c8fcd21aef129d395667f3bf664664e9e0aa866b..041d16fcc2522e9349eea5a5b32889f020daba82 100644 (file)
 #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);
@@ -48,7 +51,8 @@ extern void test_CorrectAuthenticatedPacketSHA1(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -61,7 +65,6 @@ char *progname;
 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);
index 89cb9649318b97410eaccfdd55d50ad1d9f3a3d1..e196c8a92bae90d02502cd0fe39778e594d1a5af 100644 (file)
 #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);
@@ -37,7 +42,8 @@ extern void test_LfpOutputDecimalFormat(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -50,7 +56,6 @@ char *progname;
 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);
diff --git a/sntp/tests/sntptest.c b/sntp/tests/sntptest.c
new file mode 100644 (file)
index 0000000..73c1ad2
--- /dev/null
@@ -0,0 +1,33 @@
+
+#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);
+}
+
index 2559d2cf680cd2536a38edbf4a2bbc3ccfe64f88..82e2562dd290c47e02a88857892343ed72ed7323 100644 (file)
@@ -8,33 +8,4 @@ void sntptest(void);
 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
index c115fadccfee9a7f34bffe1dba5867edc1de2aca..90096c2fb40388695753350b4d142d69394b0eff 100644 (file)
@@ -2,28 +2,44 @@
 #   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)
@@ -31,126 +47,167 @@ class UnityTestRunnerGenerator
 
   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=====")
@@ -158,30 +215,34 @@ class UnityTestRunnerGenerator
       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=====")
@@ -198,78 +259,91 @@ class UnityTestRunnerGenerator
       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
@@ -279,31 +353,56 @@ 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
+
diff --git a/sntp/unity/auto/parseOutput.rb b/sntp/unity/auto/parseOutput.rb
new file mode 100755 (executable)
index 0000000..7ea180f
--- /dev/null
@@ -0,0 +1,191 @@
+#============================================================
+#  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
diff --git a/sntp/unity/auto/type_sanitizer.rb b/sntp/unity/auto/type_sanitizer.rb
new file mode 100755 (executable)
index 0000000..7c2c0ac
--- /dev/null
@@ -0,0 +1,8 @@
+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
diff --git a/sntp/unity/auto/unity_test_summary.py b/sntp/unity/auto/unity_test_summary.py
new file mode 100755 (executable)
index 0000000..c64f6c5
--- /dev/null
@@ -0,0 +1,135 @@
+#! 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)
index 69ec2e8d95880f0ac532229428dc0fcc03b1d903..78d727efe652da12c2ebf964bbd9ca6baebbd07b 100644 (file)
@@ -2,7 +2,7 @@
 #   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
 #
@@ -15,22 +15,24 @@ class UnityTestSummary
   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
@@ -45,7 +47,7 @@ class UnityTestSummary
         @ignored += ignored
       end
     end
-    
+
     if @ignored > 0
       @report += "\n"
       @report += "--------------------------\n"
@@ -53,7 +55,7 @@ class UnityTestSummary
       @report += "--------------------------\n"
       @report += ignore_output.flatten.join("\n")
     end
-    
+
     if @failures > 0
       @report += "\n"
       @report += "--------------------------\n"
@@ -61,7 +63,7 @@ class UnityTestSummary
       @report += "--------------------------\n"
       @report += failure_output.flatten.join("\n")
     end
-  
+
     @report += "\n"
     @report += "--------------------------\n"
     @report += "OVERALL UNITY TEST SUMMARY\n"
@@ -69,32 +71,33 @@ class UnityTestSummary
     @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
@@ -103,9 +106,9 @@ class UnityTestSummary
     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}"
@@ -113,14 +116,34 @@ class UnityTestSummary
   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
+
index c0177f3e50d9e73b83b71d89e33e797dc7f02647..95dfcce17f448e5a775eed121c4a30123d339598 100644 (file)
@@ -219,6 +219,7 @@ $(srcdir)/run-authkeys.c: $(srcdir)/authkeys.c $(std_unity_list)
 test_buftvtots_SOURCES =               \
        buftvtots.c                     \
        run-buftvtots.c                 \
+       lfptest.c                       \
        $(NULL)
 
 $(srcdir)/run-buftvtots.c: $(srcdir)/buftvtots.c $(std_unity_list)
@@ -298,6 +299,7 @@ test_decodenetnum_LDADD =   \
 test_decodenetnum_SOURCES =    \
        decodenetnum.c          \
        run-decodenetnum.c      \
+       sockaddrtest.c          \
        $(NULL)
 
 $(srcdir)/run-decodenetnum.c: $(srcdir)/decodenetnum.c $(std_unity_list)
@@ -318,6 +320,7 @@ $(srcdir)/run-hextoint.c: $(srcdir)/hextoint.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)
@@ -378,6 +381,7 @@ $(srcdir)/run-msyslog.c: $(srcdir)/msyslog.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)
@@ -468,6 +472,7 @@ $(srcdir)/run-sfptostr.c: $(srcdir)/sfptostr.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)
@@ -503,6 +508,7 @@ test_strtolfp_LDADD =               \
 test_strtolfp_SOURCES =                \
        strtolfp.c              \
        run-strtolfp.c          \
+       lfptest.c               \
        $(NULL)
 
 $(srcdir)/run-strtolfp.c: $(srcdir)/strtolfp.c $(std_unity_list)
@@ -543,6 +549,7 @@ $(srcdir)/run-tstotv.c: $(srcdir)/tstotv.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)
index 70a872174be4cd66728119e641d8eabab5348110..89f8cb8dd753d1fd0b2515e708e880f480cfc816 100644 (file)
@@ -25,6 +25,14 @@ const char *packet = "ijklmnopqrstuvwx";
 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;
index aca6ef5966555e88e4af448cdc674fa0bad4c68e..e640c36d0fb93a2523149a56decb3ea5a3da2500 100644 (file)
@@ -4,6 +4,15 @@
 #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;
index f312794af88c011da3cb5a76afb3b5dace24474d..460bf1caf5540d0f81d5fb9675f242dbbf645a38 100644 (file)
@@ -6,6 +6,14 @@
 
 #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;
index 40fb0c576e2ffa2922edb79bb587c8849f04b3f1..6a10c01c5c66d02df13163a67aed724029f66e24 100644 (file)
 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)
@@ -67,7 +78,7 @@ AddUntrustedKey(keyid_t keyno) {
 }
 
 void
-test_AddTrustedKeys() {
+test_AddTrustedKeys(void) {
        const keyid_t KEYNO1 = 5;
        const keyid_t KEYNO2 = 8;
 
@@ -79,7 +90,7 @@ test_AddTrustedKeys() {
 }
 
 void
-test_AddUntrustedKey() {
+test_AddUntrustedKey(void) {
        const keyid_t KEYNO = 3;
    
        AddUntrustedKey(KEYNO);
@@ -88,7 +99,7 @@ test_AddUntrustedKey() {
 }
 
 void
-test_HaveKeyCorrect() {
+test_HaveKeyCorrect(void) {
        const keyid_t KEYNO = 3;
 
        AddTrustedKey(KEYNO);
@@ -98,7 +109,7 @@ test_HaveKeyCorrect() {
 }
 
 void
-test_HaveKeyIncorrect() {
+test_HaveKeyIncorrect(void) {
        const keyid_t KEYNO = 2;
 
        TEST_ASSERT_FALSE(auth_havekey(KEYNO));
@@ -106,7 +117,7 @@ test_HaveKeyIncorrect() {
 }
 
 void
-test_AddWithAuthUseKey() {
+test_AddWithAuthUseKey(void) {
        const keyid_t KEYNO = 5;
        const char* KEY = "52a";
 
@@ -114,7 +125,7 @@ test_AddWithAuthUseKey() {
 }
 
 void
-test_EmptyKey() {
+test_EmptyKey(void) {
        const keyid_t KEYNO = 3;
        const char* KEY = "";
 
diff --git a/tests/libntp/lfptest.c b/tests/libntp/lfptest.c
new file mode 100644 (file)
index 0000000..b9546b2
--- /dev/null
@@ -0,0 +1,10 @@
+#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;
+       }
+}
index 46c87385378e68590a39b4b0ea0d1323622c68f0..30a85f5b3f56596b17cb27036df082f68aacca26 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef NTP_TESTS_LFPTEST_H
 #define NTP_TESTS_LFPTEST_H
 
+#include "config.h"
 #include "ntp_fp.h"
 
 
@@ -10,13 +11,6 @@ static const int32 HALF_PROMILLE_DOWN = 2147483; // slightly less than 0.0005
 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
index 95678d4063c3ceb3ac2396285ddb46a345cd3b49..ef7c47a97bd489fde3897ed055729840888e8270 100644 (file)
 #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);
@@ -35,7 +37,8 @@ extern void test_IPv6AddressToRefId(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -48,13 +51,12 @@ char *progname;
 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());
 }
index 2764c9a47706971901eae3a75fa7b19a5bf7f90c..0bfb4274320661da94f7db6d1d4f3b7345545c29 100644 (file)
@@ -22,6 +22,9 @@
 #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);
@@ -35,7 +38,8 @@ extern void test_IllegalCharacter(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -48,14 +52,13 @@ char *progname;
 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());
 }
index 7185031e57e89ca4e36d9ce73f427bf08255c8da..8bad127726cd2485921ad090a36c0327f056f0dc 100644 (file)
 #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);
@@ -35,7 +38,8 @@ extern void test_IllegalChar(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -48,13 +52,12 @@ char *progname;
 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());
 }
index 20c7e24ea4f301c7328a56b14922fa1e386ab228..96ff37773fdcb15b6dec71266035ef8ea7944caa 100644 (file)
 #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);
@@ -36,7 +39,8 @@ extern void test_EmptyKey(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -49,14 +53,13 @@ char *progname;
 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());
 }
index c23a3a56ed986f12a6bef2586850161af0028ac9..dbf22a677da8d458b08b132c9bd7b9e816cb0e08 100644 (file)
 #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);
@@ -34,7 +39,8 @@ extern void test_AlwaysFalseOnWindows(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -47,7 +53,6 @@ char *progname;
 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);
index 3edb84b95b1ca6e6cf65ad54939e4c31209d7b7c..5acf249d2dc65319a1779a8fd53fcc4c9d167538 100644 (file)
 #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);
@@ -41,7 +44,8 @@ extern void test_RoundTripDayStart(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -54,7 +58,6 @@ char *progname;
 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);
index 8049d1b9a898c3b1af7e24f479ff8e8b31fc708a..723322a5a75ac2cb888aa5e4d1b00fafd780fc12 100644 (file)
 #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);
@@ -34,7 +38,8 @@ extern void test_uLongWrapped(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -47,7 +52,6 @@ char *progname;
 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);
index b5c9863eba625357de05c4cf53df5fe7891ea34c..aa9f9b5d79556bf4be184b26c62dc747cae258f6 100644 (file)
 #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);
@@ -34,7 +35,8 @@ extern void test_WraparoundDateIn2036(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -47,7 +49,6 @@ char *progname;
 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);
index 3522673821f6e89b0b35f1e86e6524ebde09bde8..b81ab35e4d88b28a2d594a0c38d7a366a8b5ab7f 100644 (file)
 #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();
@@ -46,7 +50,6 @@ char *progname;
 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);
index 58e1725b9b10a0a7daf0c5a4dd272cb184c50f98..956dc65c589d9d5eaacef692c0d76923a562752a 100644 (file)
 #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);
@@ -38,7 +41,8 @@ extern void test_AlwaysInLimit(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -51,7 +55,6 @@ char *progname;
 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);
index 4f9c5d5702c7ec0b885cd5a52adffcdf2f9006fe..d9d80e7e8d4a5965bb391e74f9e55e6f988a8a2f 100644 (file)
 #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);
@@ -36,7 +38,8 @@ extern void test_IllegalCharInPort(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -49,7 +52,6 @@ char *progname;
 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);
index a697921771164e5ff55b2bbc08ee9b1dac725546..1ffb062ebf73ff56ba33230c2857a98c2cdd466c 100644 (file)
 #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);
@@ -34,7 +38,8 @@ extern void test_IllegalChar(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -47,7 +52,6 @@ char *progname;
 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);
index abc775853086c0315d75b8e43cf27d3319c182d8..c11992b5eada4c9dd52d1ce7f62d8847fb16efee 100644 (file)
 #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);
@@ -36,7 +39,8 @@ extern void test_IllegalChar(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -49,7 +53,6 @@ char *progname;
 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);
index 4336bd9961630cd34a95372fbc01beffb294ac86..acb1e5223cb6b3bb5cababcc5542f32758dedeaa 100644 (file)
 #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();
@@ -45,7 +48,6 @@ char *progname;
 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);
index 22402623383053eb94144dd1aa8a1f010f07781d..d01c2708e8d0b6bfe44cb2aac89f00e8da946b49 100644 (file)
 #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);
@@ -39,7 +43,8 @@ extern void test_UnsignedRelOps(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -52,7 +57,6 @@ char *progname;
 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);
index 8a541711bf69039dba20d0e94a7157b0b774c4df..20dc878aa3c660ed22d920439af067f857785593 100644 (file)
 #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);
@@ -41,7 +43,8 @@ extern void test_UnsignedInteger(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -54,7 +57,6 @@ char *progname;
 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);
index 0fdef7a26c5db04571d9350fdf147fe4230d9786..f43d863338c73e6e98db955d5b1b95c805597ad4 100644 (file)
 #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();
@@ -45,7 +47,6 @@ char *progname;
 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);
index e21e76080948412d642ff83ce34b17f71667689d..6f117bb03aa59f20dc6d10dc2b6660b35c1c87e0 100644 (file)
 #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);
@@ -38,7 +39,8 @@ extern void test_msnprintfTruncate(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -51,7 +53,6 @@ char *progname;
 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);
index 401192d26d6744cad9edd4ed210fe7699f263038..46b18261f14dd5f72f00dfcd79ac2268de225f1a 100644 (file)
 #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);
@@ -34,7 +37,8 @@ extern void test_IPv6Address(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -47,7 +51,6 @@ char *progname;
 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);
index 4f71aa1f4d8e3346fbcc6b4cd462a9bd699cf26d..9a10e63699004cec4cac007c077c384af753e40a 100644 (file)
 #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();
@@ -45,7 +48,6 @@ char *progname;
 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);
index 8b92408a833bb78c34e2a8c9602eca0eae4181a1..f294a45ab8723887d06232bff1013239bd3a4ae0 100644 (file)
 #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();
@@ -44,7 +47,6 @@ char *progname;
 int main(int argc, char *argv[])
 {
   progname = argv[0];
-  Unity.TestFile = "numtohost.c";
   UnityBegin("numtohost.c");
   RUN_TEST(test_LoopbackNetNonResolve, 9);
 
index dc2bed566e17a4c7251f66ae0729e97d92944d62..6c18f53231a299d59ab8892f0eb805c7bb701900 100644 (file)
@@ -22,6 +22,8 @@
 #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);
@@ -36,7 +38,8 @@ extern void test_IllegalDigit(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -49,7 +52,6 @@ char *progname;
 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);
index 2067b13c5e76ad60118dc9f3e7364c4c32ec84b3..f89abd5a623636cb1eb7bf778b811c14aa9d96ae 100644 (file)
 #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);
@@ -30,7 +34,8 @@ extern void test_ConstantDate(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -43,7 +48,6 @@ char *progname;
 int main(int argc, char *argv[])
 {
   progname = argv[0];
-  Unity.TestFile = "prettydate.c";
   UnityBegin("prettydate.c");
   RUN_TEST(test_ConstantDate, 10);
 
index 8060105e316d7d23a1cdf0cd1be12250056a4a29..87b85bdeec1b2f4401410524977f1ab33545197a 100644 (file)
@@ -22,6 +22,8 @@
 #include "unity.h"
 #include <setjmp.h>
 #include <stdio.h>
+#include "config.h"
+#include "recvbuff.h"
 
 //=======External Functions This Runner Calls=====
 extern void setUp(void);
@@ -32,7 +34,8 @@ extern void test_GetAndFill(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -45,7 +48,6 @@ char *progname;
 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);
index 9eabcdb53a8cecaa786e5b8a3867eb8d646ec66a..9e74f6d3465922ea364f9f332ddeb7a36529b660 100644 (file)
 #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();
@@ -44,7 +49,6 @@ char *progname;
 int main(int argc, char *argv[])
 {
   progname = argv[0];
-  Unity.TestFile = "refidsmear.c";
   UnityBegin("refidsmear.c");
   RUN_TEST(test_refidsmear, 101);
 
index 8aad9239dea900bc67239ca0ff4bdb795609ed96..54ee99207f545f21773821e90a6d48f119bca7a5 100644 (file)
 #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();
@@ -45,7 +48,6 @@ char *progname;
 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);
index 1c28fe8c57ff0d0a27d8de0738548ec1f56cd4f8..e420ee9b92671ce285775a0436eaa345d2e44964 100644 (file)
 #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);
@@ -38,7 +39,8 @@ extern void test_SingleDecimalRounding(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -51,7 +53,6 @@ char *progname;
 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);
index a6fa778341214f09e66487d13404bfe7da4f6efa..730821b272729f5fef45f44950f1c77139af6cb4 100644 (file)
 #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);
@@ -35,7 +39,8 @@ extern void test_IgnoreIPv6Fields(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -48,7 +53,6 @@ char *progname;
 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);
index c224644c63b331e560e5691d3a3b5d803eef1a8d..0e1648af77fdc8d1fbfbd797f89e74b7e7130939 100644 (file)
 #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);
@@ -35,7 +36,8 @@ extern void test_SHA1KeyName(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -48,7 +50,6 @@ char *progname;
 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);
index 6679f5fa6fa71778d29262f39a57e0935d50f2d1..5687faad222e9675673f223ef73b76058a1fb8d6 100644 (file)
 #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);
@@ -34,7 +37,8 @@ extern void test_ClockCodeUnknown(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -47,7 +51,6 @@ char *progname;
 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);
index 0a2912bee0cb166cecc8b90e92cbdf7721bcf55e..670a9bcf095340959379589002ffec0bd08fe4fc 100644 (file)
 #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);
@@ -36,7 +40,8 @@ extern void test_InvalidChars(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -49,7 +54,6 @@ char *progname;
 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);
index e10a28b4516432f9db8acd4ff53f3184724d0e06..671b3df1577978c15c6e520f2d089f3fb984bc45 100644 (file)
 #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);
@@ -58,7 +63,8 @@ extern void test_ToString(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -71,7 +77,6 @@ char *progname;
 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);
index c0089bbb0bce0e253356acb089ee92e5b47b256d..fd3fb19256e708101b7b323e4819ba7d9486c21c 100644 (file)
 #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);
@@ -58,7 +62,8 @@ extern void test_ToString(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -71,7 +76,6 @@ char *progname;
 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);
index cf7dd1794a66cd7630e03d78b7cce0ec1e33c4b1..8baf95f1d35ff09835a748ba37899f679b29a15c 100644 (file)
@@ -22,6 +22,9 @@
 #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);
@@ -32,7 +35,8 @@ extern void test_MicrosecondsRounding(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -45,7 +49,6 @@ char *progname;
 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);
index f224199f2520e7515f6945c3b508b60efabd3045..471fb174a0a5c9e37ffdbf2a1cfe6b33e21efb02 100644 (file)
 #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();
@@ -46,7 +50,6 @@ char *progname;
 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);
index 620092b67b74c416c4cb8eabcb35c2ef65bbc11c..a6d63f52fcda114addba22717b26779af5493a14 100644 (file)
 #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();
@@ -44,9 +47,8 @@ char *progname;
 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());
 }
index 1594692f4c9d721fbba53f02d21980f43e1b3cf9..e5626b4beec1d4c772119827df129db7af1ae432 100644 (file)
 #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();
@@ -46,7 +49,6 @@ char *progname;
 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);
index 42b2aaa58b1e26f6418463bdfdf9e4e4e1bd2b51..7952e8bee241f37c19a8dccbd50f415f4803ae49 100644 (file)
 #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);
@@ -34,7 +35,8 @@ extern void test_LeapYearDecember(void);
 
 
 //=======Test Reset Option=====
-void resetTest()
+void resetTest(void);
+void resetTest(void)
 {
   tearDown();
   setUp();
@@ -47,7 +49,6 @@ char *progname;
 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);
diff --git a/tests/libntp/sockaddrtest.c b/tests/libntp/sockaddrtest.c
new file mode 100644 (file)
index 0000000..d68beae
--- /dev/null
@@ -0,0 +1,50 @@
+
+#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;
+       }
+}
+
index 14d880d0e78a80e8473dfed57e1d6eecc2f7198b..8450fb6b2c91216c38cf3aba44d114cb9365419c 100644 (file)
@@ -1,54 +1,13 @@
 #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
index fe50b85b807269f039c7cd272487864cdebf4ea5..4b08f2b156bb6355f9154eb6eff680054ca0e41e 100644 (file)
@@ -5,6 +5,7 @@
 
 #include "unity.h"
 
+void test_ConstantDateTime(void);
 
 void
 test_ConstantDateTime(void) {