static int do_test_file(const char *testfile)
{
    BIO *in;
    char buf[10240];
    EVP_TEST t;
    current_test_file = testfile;
    if (!TEST_ptr(in = BIO_new_file(testfile, "rb")))
        return 0;
    memset(&t, 0, sizeof(t));
    t.start_line = -1;
    t.in = in;
    t.err = NULL;
    while (BIO_gets(in, buf, sizeof(buf))) {
        t.line++;
        if (!TEST_true(parse_test_line(&t, buf)))
            return 0;
    }
    if (!run_and_get_next(&t, NULL))
        return 0;
    TEST_info("Completed %d tests with %d errors and %d skipped",
              t.ntests, t.errors, t.nskip);
    free_key_list(public_keys);
    free_key_list(private_keys);
    BIO_free(t.key);
    BIO_free(in);
    return t.errors == 0;
}
['static int do_test_file(const char *testfile)\n{\n    BIO *in;\n    char buf[10240];\n    EVP_TEST t;\n    current_test_file = testfile;\n    if (!TEST_ptr(in = BIO_new_file(testfile, "rb")))\n        return 0;\n    memset(&t, 0, sizeof(t));\n    t.start_line = -1;\n    t.in = in;\n    t.err = NULL;\n    while (BIO_gets(in, buf, sizeof(buf))) {\n        t.line++;\n        if (!TEST_true(parse_test_line(&t, buf)))\n            return 0;\n    }\n    if (!run_and_get_next(&t, NULL))\n        return 0;\n    TEST_info("Completed %d tests with %d errors and %d skipped",\n              t.ntests, t.errors, t.nskip);\n    free_key_list(public_keys);\n    free_key_list(private_keys);\n    BIO_free(t.key);\n    BIO_free(in);\n    return t.errors == 0;\n}']