if (strcmp(target, "samba3") == 0) {
lp_set_cmdline("target:samba3", "true");
+ lp_set_cmdline("torture:knownfail", "samba3-knownfail");
} else if (strcmp(target, "samba4") == 0) {
lp_set_cmdline("target:samba4", "true");
+ lp_set_cmdline("torture:knownfail", "samba4-knownfail");
}
if (max_runtime) {
exit(1);
}
- torture = torture_context_init(talloc_autofree_context(), "KNOWN_FAILURES",
- ui_ops);
+ torture = torture_context_init(talloc_autofree_context(),
+ lp_parm_string(-1, "torture", "knownfail"), ui_ops);
if (argc_new == 0) {
printf("You must specify a test to run, or 'ALL'\n");
}
}
- talloc_free(torture);
-
- if (correct) {
+ if (torture->results.returncode) {
return(0);
} else {
return(1);
context->active_testname = talloc_strdup(context, suite->name);
if (suite->path)
- torture_subunit_run_suite(context, suite);
+ ret &= torture_subunit_run_suite(context, suite);
for (tcase = suite->testcases; tcase; tcase = tcase->next) {
ret &= torture_run_tcase(context, tcase);
context->results.unexpected_errors,
talloc_reference(context, context->active_testname));
context->results.errors++;
+ context->results.returncode = false;
} else if (result == TORTURE_FAIL) {
if (0 == str_list_match(context->active_testname,
context->expected_failures)) {
context->results.unexpected_failures = str_list_add(
context->results.unexpected_failures,
talloc_reference(context, context->active_testname));
+ context->results.returncode = false;
}
context->results.failed++;
}
const char **unexpected_failures;
const char **unexpected_successes;
const char **unexpected_errors;
+
+ bool returncode;
} results;
bool quiet; /* Whether tests should avoid writing output to stdout */