소스 검색

Unit test: add some comments for mcomments for test main

bel2125 7 년 전
부모
커밋
490ed60d35
3개의 변경된 파일22개의 추가작업 그리고 10개의 파일을 삭제
  1. 2 2
      .travis.yml
  2. 8 2
      appveyor.yml
  3. 12 6
      unittest/main.c

+ 2 - 2
.travis.yml

@@ -106,8 +106,8 @@ script:
   - pwd
   - ls -la unittest
   - echo "Show all test logs:"
-  - for f in unittest/test-*.log; do echo $f; cat $f; done
-  - for f in unittest/test-*.xml; do echo $f; cat $f; done
+  - for f in unittest/test-*.log; do printf "\n$f:\n"; cat $f; done
+  - for f in unittest/test-*.xml; do printf "\n$f:\n"; cat $f; done
   - echo "Build and test script DONE"
 
 # Coveralls options: https://github.com/eddyxu/cpp-coveralls/blob/master/README.md

+ 8 - 2
appveyor.yml

@@ -366,8 +366,14 @@ test_script:
   - echo "Test returned %test_ret%"
   - dir "%source_path%\output\build\unittest\"
   - echo "Show all test logs:"
-  - for /r %%i in ("%source_path%\output\build\unittest\test-*.log") do (echo %%i & type %%i)
-  - for /r %%i in ("%source_path%\output\build\unittest\test-*.xml") do (echo %%i & type %%i)
+  - for /r %%i in ("%source_path%\output\build\unittest\test-*.log") do (
+      echo %%i
+      type %%i
+    )
+  - for /r %%i in ("%source_path%\output\build\unittest\test-*.xml") do (
+      echo %%i
+      type %%i
+    )
   - cd "%source_path%"
   - set "output_path=%source_path%\output"
   - set "build_path=%output_path%\build"

+ 12 - 6
unittest/main.c

@@ -51,11 +51,9 @@
 int
 main(const int argc, char *argv[])
 {
-	/* Determine what tests to run */
-	const char *suite = NULL;
+	/* Supported command line arguments */
 	const char *const suite_arg = "--suite=";
 	const size_t suite_arg_size = strlen(suite_arg);
-	const char *test_case = NULL;
 	const char *const test_case_arg = "--test-case=";
 	const size_t test_case_arg_size = strlen(test_case_arg);
 	const char *const test_dir_arg = "--test-dir=";
@@ -64,6 +62,9 @@ main(const int argc, char *argv[])
 	const size_t test_log_arg_size = strlen(test_log_arg);
 	const char *const help_arg = "--help";
 
+	/* Test variables */
+	const char *suite = NULL;
+	const char *test_case = NULL;
 	SRunner *srunner;
 	int number_run = 0;
 	int number_failed = 0;
@@ -73,6 +74,7 @@ main(const int argc, char *argv[])
 
 	int i;
 
+	/* Check command line parameters for tests */
 	for (i = 1; i < argc; ++i) {
 		if (0 == strncmp(suite_arg, argv[i], suite_arg_size)
 		    && (strlen(argv[i]) > suite_arg_size)) {
@@ -118,14 +120,18 @@ main(const int argc, char *argv[])
 		/* Find the next free log name */
 		FILE *f;
 		for (i = 1;; i++) {
+			/* enumerate all log files (8.3 filename using 3 digits) */
 			sprintf(test_log_name, "test-%03i.log", i);
 			f = fopen(test_log_name, "r");
 			if (f) {
-				/* already exists */
+				/* file already exists */
 				fclose(f);
+				/* try next name */
 				continue;
 			}
+			/* file does not exist - use this name */
 			srunner_set_log(srunner, test_log_name);
+			/* use the same index for xml as for log */
 			sprintf(test_xml_name, "test-%03i.xml", i);
 			srunner_set_xml(srunner, test_xml_name);
 			break;
@@ -147,6 +153,6 @@ main(const int argc, char *argv[])
 	number_run = srunner_ntests_run(srunner);
 	number_failed = srunner_ntests_failed(srunner);
 	srunner_free(srunner);
-	return (number_failed == 0) && (number_run != 0) ? EXIT_SUCCESS
-	                                                 : EXIT_FAILURE;
+	return ((number_failed == 0) && (number_run != 0)) ? EXIT_SUCCESS
+	                                                   : EXIT_FAILURE;
 }