mirror of
https://github.com/samba-team/samba.git
synced 2025-03-27 22:50:26 +03:00
smbtorture: Report times.
This commit is contained in:
parent
a15a33a9a8
commit
136aa0d5ac
@ -37,12 +37,37 @@ static char *torture_subunit_test_name(struct torture_context *ctx,
|
||||
}
|
||||
}
|
||||
|
||||
static void torture_subunit_test_start(struct torture_context *ctx,
|
||||
static void torture_subunit_report_time(struct torture_context *tctx)
|
||||
{
|
||||
struct timespec tp;
|
||||
struct tm *tmp;
|
||||
char timestr[200];
|
||||
if (clock_gettime(CLOCK_REALTIME, &tp) != 0) {
|
||||
perror("clock_gettime");
|
||||
return;
|
||||
}
|
||||
|
||||
tmp = localtime(&tp.tv_sec);
|
||||
if (!tmp) {
|
||||
perror("localtime");
|
||||
return;
|
||||
}
|
||||
|
||||
if (strftime(timestr, sizeof(timestr), "%Y-%m-%d %H:%M:%S", tmp) <= 0) {
|
||||
perror("strftime");
|
||||
return;
|
||||
}
|
||||
|
||||
printf("time: %s.%06ld\n", timestr, tp.tv_nsec / 1000);
|
||||
}
|
||||
|
||||
static void torture_subunit_test_start(struct torture_context *context,
|
||||
struct torture_tcase *tcase,
|
||||
struct torture_test *test)
|
||||
{
|
||||
char *fullname = torture_subunit_test_name(ctx, ctx->active_tcase, ctx->active_test);
|
||||
char *fullname = torture_subunit_test_name(context, context->active_tcase, context->active_test);
|
||||
subunit_test_start(fullname);
|
||||
torture_subunit_report_time(context);
|
||||
talloc_free(fullname);
|
||||
}
|
||||
|
||||
@ -50,6 +75,7 @@ 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);
|
||||
torture_subunit_report_time(context);
|
||||
switch (res) {
|
||||
case TORTURE_OK:
|
||||
subunit_test_pass(fullname);
|
||||
@ -107,4 +133,5 @@ const struct torture_ui_ops torture_subunit_ui_ops = {
|
||||
.test_result = torture_subunit_test_result,
|
||||
.suite_start = torture_subunit_suite_start,
|
||||
.progress = torture_subunit_progress,
|
||||
.report_time = torture_subunit_report_time,
|
||||
};
|
||||
|
@ -277,7 +277,6 @@ bool torture_run_suite_restricted(struct torture_context *context,
|
||||
bool ret = true;
|
||||
struct torture_tcase *tcase;
|
||||
struct torture_suite *tsuite;
|
||||
char *old_testname;
|
||||
|
||||
if (context->results->ui_ops->suite_start)
|
||||
context->results->ui_ops->suite_start(context, suite);
|
||||
@ -346,7 +345,7 @@ static bool internal_torture_run_test(struct torture_context *context,
|
||||
if (tcase == NULL || strcmp(test->name, tcase->name) != 0) {
|
||||
subunit_testname = talloc_asprintf(context, "%s.%s", tcase->name, test->name);
|
||||
} else {
|
||||
subunit_testname = test->name;
|
||||
subunit_testname = talloc_strdup(context, test->name);
|
||||
}
|
||||
|
||||
if (!test_needs_running(subunit_testname, restricted))
|
||||
@ -410,7 +409,6 @@ bool torture_run_tcase_restricted(struct torture_context *context,
|
||||
struct torture_tcase *tcase, const char **restricted)
|
||||
{
|
||||
bool ret = true;
|
||||
char *old_testname;
|
||||
struct torture_test *test;
|
||||
bool setup_succeeded = true;
|
||||
const char * setup_reason = "Setup failed";
|
||||
@ -684,3 +682,9 @@ struct torture_test *torture_tcase_add_simple_test(struct torture_tcase *tcase,
|
||||
|
||||
return test;
|
||||
}
|
||||
|
||||
void torture_ui_report_time(struct torture_context *context)
|
||||
{
|
||||
if (context->results->ui_ops->report_time)
|
||||
context->results->ui_ops->report_time(context);
|
||||
}
|
||||
|
@ -60,6 +60,7 @@ struct torture_ui_ops
|
||||
void (*test_result) (struct torture_context *,
|
||||
enum torture_result, const char *reason);
|
||||
void (*progress) (struct torture_context *, int offset, enum torture_progress_whence whence);
|
||||
void (*report_time) (struct torture_context *);
|
||||
};
|
||||
|
||||
void torture_ui_test_start(struct torture_context *context,
|
||||
@ -70,6 +71,8 @@ void torture_ui_test_result(struct torture_context *context,
|
||||
enum torture_result result,
|
||||
const char *comment);
|
||||
|
||||
void torture_ui_report_time(struct torture_context *context);
|
||||
|
||||
/*
|
||||
* Holds information about a specific run of the testsuite.
|
||||
* The data in this structure should be considered private to
|
||||
|
@ -98,6 +98,8 @@ bool torture_run_named_tests(struct torture_context *torture, const char *name,
|
||||
bool matched = false;
|
||||
struct torture_suite *o;
|
||||
|
||||
torture_ui_report_time(torture);
|
||||
|
||||
if (strequal(name, "ALL")) {
|
||||
if (restricted != NULL) {
|
||||
printf("--load-list and ALL are incompatible\n");
|
||||
|
Loading…
x
Reference in New Issue
Block a user