blob: 00132477fa515adbbd33913bd15c6cbc92c7366e [file] [log] [blame]
# Lint as: python3
# Copyright 2020 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import glob
import os
# Relative to .star root (in autotest/files).
OUTPUT_FILE = "metadata/tests.star"
HEADER = """# Copyright 2020 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
TESTS = []
def _append_tests(tests):
for t in tests:
TESTS.append(t)
"""
TEMPLATE = """
load("//{path}", {unique_name} = "TESTS")
_append_tests({unique_name})
"""
def main():
"""Main entry point of this script."""
root_dir = os.path.realpath(
os.path.join(os.path.realpath(__file__), "../../.."))
os.chdir(root_dir)
output = HEADER
for test_type in ["client", "server"]:
for path in glob.iglob(test_type + "/site_tests/*/*.star"):
head, file_name = os.path.split(path)
head, test_folder = os.path.split(head)
unique_name = "_".join(
[test_type, test_folder, file_name[:-len(".star")]])
output += TEMPLATE.format(path=path, unique_name=unique_name)
with open(OUTPUT_FILE, 'w') as fh:
fh.write(output)
print("Wrote output to", OUTPUT_FILE)
if __name__ == '__main__':
main()