summaryrefslogtreecommitdiff
path: root/lib/torture
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2014-12-13 22:11:06 +0000
committerAndrew Bartlett <abartlet@samba.org>2015-03-06 04:41:47 +0100
commit1341e6477277dd8f21f419aa79d9517bba4caf0c (patch)
treed004b88164ec4b03c9a33982efd75e4a4906982c /lib/torture
parentee0b548e9d84fb9cf206fcaa94c97ebd60225908 (diff)
downloadsamba-1341e6477277dd8f21f419aa79d9517bba4caf0c.tar.gz
Inline outputting of subunit in libtorture.
Change-Id: I2c7045c530183a6961cb253540579312c2767330 Signed-off-by: Jelmer Vernooij <jelmer@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'lib/torture')
-rw-r--r--lib/torture/subunit.c29
-rw-r--r--lib/torture/wscript_build2
2 files changed, 24 insertions, 7 deletions
diff --git a/lib/torture/subunit.c b/lib/torture/subunit.c
index a190975a083..46f1b65053d 100644
--- a/lib/torture/subunit.c
+++ b/lib/torture/subunit.c
@@ -19,7 +19,22 @@
#include "includes.h"
#include "lib/torture/torture.h"
-#include <subunit/child.h>
+
+static void subunit_send_event(char const * const event,
+ char const * const name,
+ char const * const details)
+{
+ if (NULL == details) {
+ printf("%s: %s\n", event, name);
+ } else {
+ printf("%s: %s [\n", event, name);
+ printf("%s", details);
+ if (details[strlen(details) - 1] != '\n')
+ puts("");
+ puts("]");
+ }
+ fflush(stdout);
+}
static void torture_subunit_suite_start(struct torture_context *ctx,
struct torture_suite *suite)
@@ -66,7 +81,7 @@ static void torture_subunit_test_start(struct torture_context *context,
struct torture_test *test)
{
char *fullname = torture_subunit_test_name(context, context->active_tcase, context->active_test);
- subunit_test_start(fullname);
+ subunit_send_event("test", fullname, NULL);
torture_subunit_report_time(context);
talloc_free(fullname);
}
@@ -75,21 +90,23 @@ static void torture_subunit_test_result(struct torture_context *context,
enum torture_result res, const char *reason)
{
char *fullname = torture_subunit_test_name(context, context->active_tcase, context->active_test);
+ const char *result_str = "unknown";
torture_subunit_report_time(context);
switch (res) {
case TORTURE_OK:
- subunit_test_pass(fullname);
+ result_str = "success";
break;
case TORTURE_FAIL:
- subunit_test_fail(fullname, reason);
+ result_str = "failure";
break;
case TORTURE_ERROR:
- subunit_test_error(fullname, reason);
+ result_str = "error";
break;
case TORTURE_SKIP:
- subunit_test_skip(fullname, reason);
+ result_str = "skip";
break;
}
+ subunit_send_event(result_str, fullname, reason);
talloc_free(fullname);
}
diff --git a/lib/torture/wscript_build b/lib/torture/wscript_build
index 732e24a8228..ad047e211fc 100644
--- a/lib/torture/wscript_build
+++ b/lib/torture/wscript_build
@@ -4,6 +4,6 @@ bld.SAMBA_LIBRARY('torture',
source='torture.c subunit.c simple.c',
vnum='0.0.1',
pc_files='torture.pc',
- public_deps='samba-hostconfig samba-util errors talloc tevent subunit',
+ public_deps='samba-hostconfig samba-util errors talloc tevent',
public_headers='torture.h'
)