#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)
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);
}
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);
}
echo "Updating subunit..."
git clone git://github.com/testing-cabal/subunit "$WORKDIR/subunit"
rm -rf "$WORKDIR/subunit/.git"
-# Preserve wscript file
-cp "$LIBDIR/subunit/c/wscript" "$WORKDIR/subunit/c/wscript"
rsync -avz --delete "$WORKDIR/subunit/" "$LIBDIR/subunit/"
echo "Updating testtools..."
bld.RECURSE('libcli/smb')
bld.RECURSE('libcli/util')
bld.RECURSE('libcli/cldap')
-bld.RECURSE('lib/subunit/c')
bld.RECURSE('lib/smbconf')
bld.RECURSE('lib/async_req')
bld.RECURSE('lib/dbwrap')