Exemple #1
0
static void test_analyze_results(struct test *test, int *stdo, int *stde)
{
    scanstate scanner;
    char scanbuf[BUFSIZ];

    *stdo = *stde = -1;

    if(was_aborted(test->status)) {
        test_failures++;
        return;
    }

    if(was_disabled(test->status)) {
        return;
    }

    if(test->status == test_has_failed) {
        test_failures++;
        return;
    }

    if(!was_started(test->status)) {
        test_failures++;
        return;
    }

    test->stdout_match = match_unknown;
    test->stderr_match = match_unknown;

    scanstate_init(&scanner, scanbuf, sizeof(scanbuf));
    scan_sections(test, &test->testscanner, parse_section_compare, &scanner);

    assert(test->stdout_match != match_inprogress);
    assert(test->stderr_match != match_inprogress);

    if(test->stdout_match == match_unknown) {
        test->stdout_match = (fd_has_data(test, test->outfd) ? match_no : match_yes);
    }
    if(test->stderr_match == match_unknown) {
        test->stderr_match = (fd_has_data(test, test->errfd) ? match_no : match_yes);
    }

    *stdo = (test->stdout_match != match_yes);
    *stde = (test->stderr_match != match_yes);

    if(!*stdo && !*stde && !test->exitsignal) {
        test_successes++;
    } else {
        test_failures++;
    }
}
Exemple #2
0
static bool can_dump_netlink_sk(int lfd)
{
	int ret;

	ret = fd_has_data(lfd);
	if (ret == 1)
		pr_err("The socket has data to read\n");

	return ret == 0;
}
Exemple #3
0
void dump_results(struct test *test)
{
    int tempref = 0;

    if(was_aborted(test->status)) {
        dump_reason(test, "was aborted");
        return;
    }

    if(was_disabled(test->status)) {
        dump_reason(test, "is disabled");
        return;

    }

    if(!was_started(test->status)) {
        fprintf(stderr, "Error: %s was not started due to errors in %s.\n",
                convert_testfile_name(test->testfile), test->last_file_processed);
        test_failures++;
        return;
    }

    // The command section has already been dumped.  We just
    // need to dump the STDERR and STDOUT results.

    test->stdout_match = match_unknown;
    test->stderr_match = match_unknown;

    scan_sections(test, &test->testscanner, parse_section_output, &tempref);

    // if any sections haven't been output, but they differ from
    // the default, then they need to be output here at the end.
    if(test->stderr_match == match_unknown && fd_has_data(test, test->errfd)) {
        write_strconst(test->rewritefd, "STDERR:\n");
        write_file(test, test->rewritefd, test->errfd, NULL);
    }
    if(test->stdout_match == match_unknown && fd_has_data(test, test->outfd)) {
        write_strconst(test->rewritefd, "STDOUT:\n");
        write_file(test, test->rewritefd, test->outfd, NULL);
    }
}