Ejemplo n.º 1
0
def parse_tests(request: KunitParseRequest) -> KunitResult:
    parse_start = time.time()

    test_result = kunit_parser.TestResult(kunit_parser.TestStatus.SUCCESS, [],
                                          'Tests not Parsed.')

    if request.raw_output:
        kunit_parser.raw_output(request.input_data)
    else:
        test_result = kunit_parser.parse_run_tests(request.input_data)
    parse_end = time.time()

    if request.json:
        json_obj = kunit_json.get_json_result(test_result=test_result,
                                              def_config='kunit_defconfig',
                                              build_dir=request.build_dir,
                                              json_path=request.json)
        if request.json == 'stdout':
            print(json_obj)

    if test_result.status != kunit_parser.TestStatus.SUCCESS:
        return KunitResult(KunitStatus.TEST_FAILURE, test_result,
                           parse_end - parse_start)

    return KunitResult(KunitStatus.SUCCESS, test_result,
                       parse_end - parse_start)
Ejemplo n.º 2
0
def parse_tests(request: KunitParseRequest) -> KunitResult:
    parse_start = time.time()

    test_result = kunit_parser.TestResult(kunit_parser.TestStatus.SUCCESS, [],
                                          'Tests not Parsed.')
    if request.raw_output:
        kunit_parser.raw_output(request.input_data)
    else:
        test_result = kunit_parser.parse_run_tests(request.input_data)
    parse_end = time.time()

    if test_result.status != kunit_parser.TestStatus.SUCCESS:
        return KunitResult(KunitStatus.TEST_FAILURE, test_result,
                           parse_end - parse_start)

    return KunitResult(KunitStatus.SUCCESS, test_result,
                       parse_end - parse_start)
Ejemplo n.º 3
0
def run_tests(linux: kunit_kernel.LinuxSourceTree,
              request: KunitRequest) -> KunitResult:
    if request.defconfig:
        create_default_kunitconfig()

    config_start = time.time()
    success = linux.build_reconfig(request.build_dir)
    config_end = time.time()
    if not success:
        return KunitResult(KunitStatus.CONFIG_FAILURE,
                           'could not configure kernel')

    kunit_parser.print_with_timestamp('Building KUnit Kernel ...')

    build_start = time.time()
    success = linux.build_um_kernel(request.jobs, request.build_dir)
    build_end = time.time()
    if not success:
        return KunitResult(KunitStatus.BUILD_FAILURE, 'could not build kernel')

    kunit_parser.print_with_timestamp('Starting KUnit Kernel ...')
    test_start = time.time()

    test_result = kunit_parser.TestResult(kunit_parser.TestStatus.SUCCESS, [],
                                          'Tests not Parsed.')
    if request.raw_output:
        kunit_parser.raw_output(
            linux.run_kernel(timeout=request.timeout,
                             build_dir=request.build_dir))
    else:
        kunit_output = linux.run_kernel(timeout=request.timeout,
                                        build_dir=request.build_dir)
        test_result = kunit_parser.parse_run_tests(kunit_output)
    test_end = time.time()

    kunit_parser.print_with_timestamp(
        ('Elapsed time: %.3fs total, %.3fs configuring, %.3fs ' +
         'building, %.3fs running\n') %
        (test_end - config_start, config_end - config_start,
         build_end - build_start, test_end - test_start))

    if test_result.status != kunit_parser.TestStatus.SUCCESS:
        return KunitResult(KunitStatus.TEST_FAILURE, test_result)
    else:
        return KunitResult(KunitStatus.SUCCESS, test_result)
Ejemplo n.º 4
0
def run_tests(linux: kunit_kernel.LinuxSourceTree,
              request: KunitRequest) -> KunitResult:
    config_start = time.time()
    linux.make_external_config(request.external_config)  # TODO
    config_result = linux.build_reconfig()
    config_end = time.time()
    if config_result.status != kunit_kernel.ConfigStatus.SUCCESS:
        return KunitResult(KunitStatus.CONFIG_FAILURE, config_result)

    print(kunit_parser.timestamp('Building KUnit Kernel ...'))

    build_start = time.time()
    build_result = linux.build_um_kernel(request.jobs)
    build_end = time.time()
    if build_result.status != kunit_kernel.BuildStatus.SUCCESS:
        return KunitResult(KunitStatus.BUILD_FAILURE, build_result)

    print(kunit_parser.timestamp('Starting KUnit Kernel ...'))
    test_start = time.time()

    test_result = kunit_parser.TestResult(kunit_parser.TestStatus.SUCCESS, [],
                                          'Tests not Parsed.')
    if request.raw_output:
        kunit_parser.raw_output(linux.run_kernel(timeout=request.timeout))
    else:
        test_result = kunit_parser.parse_run_tests(
            kunit_parser.isolate_kunit_output(
                linux.run_kernel(timeout=request.timeout)))
    test_end = time.time()
    test_result.print_pretty_log()

    print(
        kunit_parser.timestamp(
            ('Elapsed time: %.3fs total, %.3fs configuring, %.3fs ' +
             'building, %.3fs running.\n') %
            (test_end - config_start, config_end - config_start,
             build_end - build_start, test_end - test_start)))

    if test_result.status != kunit_parser.TestStatus.SUCCESS:
        return KunitResult(KunitStatus.TEST_FAILURE, test_result)
    else:
        return KunitResult(KunitStatus.SUCCESS, test_result)
Ejemplo n.º 5
0
def run_tests(linux: kunit_kernel.LinuxSourceTree,
              request: KunitRequest) -> KunitResult:
    kunit_parser.print_with_timestamp('Starting KUnit Kernel ...')
    test_start = time.time()

    test_result = kunit_parser.TestResult(kunit_parser.TestStatus.SUCCESS, [],
                                          'Tests not Parsed.')
    if request.raw_output:
        kunit_parser.raw_output(
            linux.run_kernel(timeout=request.timeout,
                             build_dir=request.build_dir))
    else:
        kunit_output = linux.run_kernel(timeout=request.timeout,
                                        build_dir=request.build_dir)
        test_result = kunit_parser.parse_run_tests(kunit_output)
    test_end = time.time()

    kunit_parser.print_with_timestamp(
        ('Elapsed time: %.3fs running\n') % (test_end - test_start))

    if test_result.status != kunit_parser.TestStatus.SUCCESS:
        return KunitResult(KunitStatus.TEST_FAILURE, test_result)
    else:
        return KunitResult(KunitStatus.SUCCESS, test_result)
Ejemplo n.º 6
0
def run_tests(linux: kunit_kernel.LinuxSourceTree,
              request: KunitRequest) -> KunitResult:
    config_start = time.time()
    success = linux.build_reconfig(request.build_dir, request.make_options)
    config_end = time.time()
    if not success:
        return KunitResult(KunitStatus.CONFIG_FAILURE,
                           'could not configure kernel')

    kunit_parser.print_with_timestamp('Building KUnit Kernel ...')

    build_start = time.time()
    success = linux.build_um_kernel(request.alltests, request.jobs,
                                    request.build_dir, request.make_options)
    build_end = time.time()
    if not success:
        return KunitResult(KunitStatus.BUILD_FAILURE, 'could not build kernel')

    kunit_parser.print_with_timestamp('Starting KUnit Kernel ...')
    test_start = time.time()
    kunit_output = linux.run_kernel(
        timeout=None if request.alltests else request.timeout,
        build_dir=request.build_dir)
    if request.raw_output:
        raw_output = kunit_parser.raw_output(kunit_output)
        isolated = list(kunit_parser.isolate_kunit_output(raw_output))
        test_result = kunit_parser.parse_test_result(isolated)
    else:
        test_result = kunit_parser.parse_run_tests(kunit_output)
    test_end = time.time()

    kunit_parser.print_with_timestamp(
        ('Elapsed time: %.3fs total, %.3fs configuring, %.3fs ' +
         'building, %.3fs running\n') %
        (test_end - config_start, config_end - config_start,
         build_end - build_start, test_end - test_start))

    if test_result.status != kunit_parser.TestStatus.SUCCESS:
        return KunitResult(KunitStatus.TEST_FAILURE, test_result)
    else:
        return KunitResult(KunitStatus.SUCCESS, test_result)
Ejemplo n.º 7
0
config_start = time.time()
success = linux.build_reconfig()
config_end = time.time()
if not success:
	quit()

kunit_parser.print_with_timestamp('Building KUnit Kernel ...')

build_start = time.time()
success = linux.build_um_kernel()
build_end = time.time()
if not success:
	quit()

kunit_parser.print_with_timestamp('Starting KUnit Kernel ...')
test_start = time.time()

if cli_args.raw_output:
	kunit_parser.raw_output(linux.run_kernel(timeout=cli_args.timeout))
else:
	kunit_parser.parse_run_tests(linux.run_kernel(timeout=cli_args.timeout))

test_end = time.time()

kunit_parser.print_with_timestamp((
	"Elapsed time: %.3fs total, %.3fs configuring, %.3fs " +
	"building, %.3fs running.\n") % (test_end - config_start,
	config_end - config_start, build_end - build_start,
	test_end - test_start))