Explorar el Código

Unit test: print multiple log files

bel2125 hace 7 años
padre
commit
d649b4fe4b
Se han modificado 3 ficheros con 12 adiciones y 50 borrados
  1. 1 3
      .travis.yml
  2. 1 40
      appveyor.yml
  3. 10 7
      unittest/main.c

+ 1 - 3
.travis.yml

@@ -100,14 +100,12 @@ script:
   - if [ "${MACOSX_PACKAGE}" == "1" ]; then
       cd "${TRAVIS_BUILD_DIR}";
       make -f Makefile.osx package;
-      cat unittest/test-*.log;
-      cat unittest/test-*.xml;
     else
       CTEST_OUTPUT_ON_FAILURE=1 make all test;
     fi
   - pwd
   - ls -la unittest
-  - if [ "${MACOSX_PACKAGE}" == "1" ]; then
+  - if [ "${MACOSX_PACKAGE}" != "1" ]; then
       cat unittest/test-*.log;
       cat unittest/test-*.xml;
     fi

+ 1 - 40
appveyor.yml

@@ -365,46 +365,7 @@ test_script:
   - cmd /c "%test%" & set "test_ret=%ERRORLEVEL%"
   - echo "Test returned %test_ret%"
   - dir "%source_path%\output\build\unittest\"
-  - type "%source_path%\output\build\unittest\test-1.log"
-  - type "%source_path%\output\build\unittest\test-1.xml"
-  - type "%source_path%\output\build\unittest\test-2.log"
-  - type "%source_path%\output\build\unittest\test-2.xml"
-  - type "%source_path%\output\build\unittest\test-3.log"
-  - type "%source_path%\output\build\unittest\test-3.xml"
-  - type "%source_path%\output\build\unittest\test-4.log"
-  - type "%source_path%\output\build\unittest\test-4.xml"
-  - type "%source_path%\output\build\unittest\test-5.log"
-  - type "%source_path%\output\build\unittest\test-5.xml"
-  - type "%source_path%\output\build\unittest\test-6.log"
-  - type "%source_path%\output\build\unittest\test-6.xml"
-  - type "%source_path%\output\build\unittest\test-7.log"
-  - type "%source_path%\output\build\unittest\test-7.xml"
-  - type "%source_path%\output\build\unittest\test-8.log"
-  - type "%source_path%\output\build\unittest\test-8.xml"
-  - type "%source_path%\output\build\unittest\test-9.log"
-  - type "%source_path%\output\build\unittest\test-9.xml"
-  - type "%source_path%\output\build\unittest\test-10.log"
-  - type "%source_path%\output\build\unittest\test-10.xml"
-  - type "%source_path%\output\build\unittest\test-11.log"
-  - type "%source_path%\output\build\unittest\test-11.xml"
-  - type "%source_path%\output\build\unittest\test-12.log"
-  - type "%source_path%\output\build\unittest\test-12.xml"
-  - type "%source_path%\output\build\unittest\test-13.log"
-  - type "%source_path%\output\build\unittest\test-13.xml"
-  - type "%source_path%\output\build\unittest\test-14.log"
-  - type "%source_path%\output\build\unittest\test-14.xml"
-  - type "%source_path%\output\build\unittest\test-15.log"
-  - type "%source_path%\output\build\unittest\test-15.xml"
-  - type "%source_path%\output\build\unittest\test-16.log"
-  - type "%source_path%\output\build\unittest\test-16.xml"
-  - type "%source_path%\output\build\unittest\test-17.log"
-  - type "%source_path%\output\build\unittest\test-17.xml"
-  - type "%source_path%\output\build\unittest\test-18.log"
-  - type "%source_path%\output\build\unittest\test-18.xml"
-  - type "%source_path%\output\build\unittest\test-19.log"
-  - type "%source_path%\output\build\unittest\test-19.xml"
-  - type "%source_path%\output\build\unittest\test-20.log"
-  - type "%source_path%\output\build\unittest\test-20.xml"
+  - for /r %%i in ("%source_path%\output\build\unittest\test-*") do (type %%i)
   - cd "%source_path%"
   - set "output_path=%source_path%\output"
   - set "build_path=%output_path%\build"

+ 10 - 7
unittest/main.c

@@ -46,6 +46,8 @@
  * https://github.com/libcheck/check
  */
 
+#define FILENAME_LEN (128)
+
 int
 main(const int argc, char *argv[])
 {
@@ -66,7 +68,8 @@ main(const int argc, char *argv[])
 	int number_run = 0;
 	int number_failed = 0;
 	const char *test_log_prefix = NULL;
-	char test_log_name[128];
+	char test_log_name[FILENAME_LEN];
+	char test_xml_name[FILENAME_LEN];
 
 	int i;
 
@@ -83,7 +86,7 @@ main(const int argc, char *argv[])
 		} else if (0 == strncmp(test_log_arg, argv[i], test_log_arg_size)
 		           && (strlen(argv[i]) > test_log_arg_size)) {
 			test_log_prefix = &argv[i][test_log_arg_size];
-			if (strlen(test_log_prefix) > (sizeof(test_log_name) - 16)) {
+			if ((strlen(test_log_prefix) + 16) > FILENAME_LEN) {
 				fprintf(stderr, "Argument too long: %s\n", argv[i]);
 				exit(EXIT_FAILURE);
 			}
@@ -115,7 +118,7 @@ main(const int argc, char *argv[])
 		/* Find the next free log name */
 		FILE *f;
 		for (i = 1;; i++) {
-			sprintf(test_log_name, "log-%i.log", i);
+			sprintf(test_log_name, "test-%i.log", i);
 			f = fopen(test_log_name, "r");
 			if (f) {
 				/* already exists */
@@ -123,16 +126,16 @@ main(const int argc, char *argv[])
 				continue;
 			}
 			srunner_set_log(srunner, test_log_name);
-			sprintf(test_log_name, "log-%i.xml", i);
-			srunner_set_xml(srunner, test_log_name);
+			sprintf(test_xml_name, "test-%i.xml", i);
+			srunner_set_xml(srunner, test_xml_name);
 			break;
 		}
 	} else {
 		/* We got a test log name from the command line */
 		sprintf(test_log_name, "%s.log", test_log_prefix);
 		srunner_set_log(srunner, test_log_name);
-		sprintf(test_log_name, "%s.xml", test_log_prefix);
-		srunner_set_xml(srunner, test_log_name);
+		sprintf(test_xml_name, "%s.xml", test_log_prefix);
+		srunner_set_xml(srunner, test_xml_name);
 	}
 
 	/* Run tests, using log level CK_VERBOSE, since CK_NORMAL