brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 7dcccb5 Raw
52 lines · plain
1import os2import sys3 4if len(sys.argv) == 3 and sys.argv[1] == "--gtest_list_tests":5    if sys.argv[2] != '--gtest_filter=-*DISABLED_*':6        raise ValueError("unexpected argument: %s" % (sys.argv[2]))7    print("""\8FirstTest.9  subTestA""")10    sys.exit(0)11elif len(sys.argv) != 1:12    # sharding and json output are specified using environment variables13    raise ValueError("unexpected argument: %r" % (' '.join(sys.argv[1:])))14 15for e in ['GTEST_TOTAL_SHARDS', 'GTEST_SHARD_INDEX', 'GTEST_OUTPUT']:16    if e not in os.environ:17        raise ValueError("missing environment variables: " + e)18 19if not os.environ['GTEST_OUTPUT'].startswith('json:'):20    raise ValueError("must emit json output: " + os.environ['GTEST_OUTPUT'])21 22output = """\23{24"testsuites": [25    {26        "name": "FirstTest",27        "testsuite": [28            {29                "name": "subTestA",30                "result": "COMPLETED",31                "time": "0.001s"32            }33        ]34    }35]36}"""37 38dummy_output = """\39{40"testsuites": [41]42}"""43 44json_filename = os.environ['GTEST_OUTPUT'].split(':', 1)[1]45with open(json_filename, 'w', encoding='utf-8') as f:46    if os.environ['GTEST_SHARD_INDEX'] == '0':47        f.write(output)48    else:49        f.write(dummy_output)50 51sys.exit(0)52