summaryrefslogtreecommitdiff
path: root/tests/clar.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/clar.c')
-rw-r--r--tests/clar.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/tests/clar.c b/tests/clar.c
index 7c308dd34..ead13f46a 100644
--- a/tests/clar.c
+++ b/tests/clar.c
@@ -145,7 +145,7 @@ static struct {
int report_suite_names;
int write_summary;
- const char *summary_filename;
+ char *summary_filename;
struct clar_summary *summary;
struct clar_explicit *explicit;
@@ -474,8 +474,8 @@ clar_parse_args(int argc, char **argv)
case 'r':
_clar.write_summary = 1;
- _clar.summary_filename = *(argument + 2) ? (argument + 2) :
- "summary.xml";
+ free(_clar.summary_filename);
+ _clar.summary_filename = strdup(*(argument + 2) ? (argument + 2) : "summary.xml");
break;
default:
@@ -493,6 +493,11 @@ clar_test_init(int argc, char **argv)
""
);
+ if ((_clar.summary_filename = getenv("CLAR_SUMMARY")) != NULL) {
+ _clar.write_summary = 1;
+ _clar.summary_filename = strdup(_clar.summary_filename);
+ }
+
if (argc > 1)
clar_parse_args(argc, argv);
@@ -553,6 +558,8 @@ clar_test_shutdown(void)
report_next = report->next;
free(report);
}
+
+ free(_clar.summary_filename);
}
int