示例#1
0
def main():
    """
    The main function.

    Returns:
        int: The process return code.
    """
    # Parse command lines
    args = parse_command_line()

    testSetCount = 0
    worstResult = trs.Result.NOTRUN

    for quality in args.testQual:
        for imageSet in args.testSets:
            for encoderName in args.encoders:
                (encoder, name, outDir, refName) = \
                    get_encoder_params(encoderName, args.reference, imageSet)

                testDir = "Test/Images/%s" % imageSet
                testRes = "%s/astc_%s_%s_results.csv" % (outDir, name, quality)

                testRef = None
                if refName:
                    dat = (testDir, refName, quality)
                    testRefPath = "%s/astc_%s_%s_results.csv" % dat
                    testRef = trs.ResultSet(imageSet)
                    testRef.load_from_file(testRefPath)

                testSetCount += 1
                testSet = tts.TestSet(imageSet, testDir, args.profiles,
                                      args.formats, args.testImage)

                # The fast and fastest presets are now sufficiently fast that
                # the results are noisy without more repeats
                testRepeats = args.testRepeats
                if quality == "fast" and testRepeats > 1:
                    testRepeats *= 2
                elif quality == "fastest" and testRepeats > 1:
                    testRepeats *= 4

                resultSet = run_test_set(encoder, testRef, testSet, quality,
                                         args.blockSizes, testRepeats,
                                         args.keepOutput)

                resultSet.save_to_file(testRes)

                if refName:
                    summary = resultSet.get_results_summary()
                    worstResult = max(summary.get_worst_result(), worstResult)
                    print(summary)

        if (testSetCount > 1) and (worstResult != trs.Result.NOTRUN):
            print("OVERALL STATUS: %s" % worstResult.name)

    if worstResult == trs.Result.FAIL:
        return 1

    return 0
示例#2
0
def main():
    """
    The main function.

    Returns:
        int: The process return code.
    """
    # Parse command lines
    args = parse_command_line()

    testSetCount = 0
    worstResult = trs.Result.NOTRUN

    for imageSet in args.testSets:
        for encoderName in args.encoders:
            (encoder, name, outDir, refName) = \
                get_encoder_params(encoderName, imageSet)

            testDir = "Test/Images/%s" % imageSet
            testRes = "%s/astc_%s_results.csv" % (outDir, name)

            testRef = None
            if refName:
                testRefPath = "%s/astc_%s_results.csv" % (testDir, refName)
                testRef = trs.ResultSet(imageSet)
                testRef.load_from_file(testRefPath)

            testSetCount += 1
            testSet = tts.TestSet(imageSet, testDir, args.profiles,
                                  args.formats)

            resultSet = run_test_set(encoder, testRef, testSet,
                                     args.blockSizes, args.testRepeats)

            resultSet.save_to_file(testRes)

            if refName:
                summary = resultSet.get_results_summary()
                worstResult = max(summary.get_worst_result(), worstResult)
                print(summary)

    if (testSetCount > 1) and (worstResult != trs.Result.NOTRUN):
        print("OVERALL STATUS: %s" % worstResult.name)

    if worstResult == trs.Result.FAIL:
        return 1

    return 0