aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan R Abrahams-Whitehead <ajordanr@google.com>2023-07-06 23:09:23 +0000
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-07-10 20:37:37 +0000
commit57137104fec59d99d27e02f4bb3975190ab6a9a8 (patch)
treec0c6fbbc559ac21043bc2a0a60212754a58b3e8b
parent0797298a9a6a62bd9bdffd29faf3daa2f49525ca (diff)
downloadtoolchain-utils-57137104fec59d99d27e02f4bb3975190ab6a9a8.tar.gz
toolchain-utils: Remove buildbot_test_llvm.py
As far as I can tell, this file is no longer used by anything internally or externally. The program doesn't seem to work either, and hasn't had a functional update since 2019. It uses command_executor, and we're trying to clean up uses of that wherever possible. BUG=b:289058911 TEST=./run_tests_for.py cros_utils/*test* Change-Id: Iad14fb9076dd56e4a08c0486ad478aad18ea4f6c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/4672449 Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
-rwxr-xr-xbuildbot_test_llvm.py218
1 files changed, 0 insertions, 218 deletions
diff --git a/buildbot_test_llvm.py b/buildbot_test_llvm.py
deleted file mode 100755
index 57f029c7..00000000
--- a/buildbot_test_llvm.py
+++ /dev/null
@@ -1,218 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-#
-# Copyright 2017 The ChromiumOS Authors
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Script for running llvm validation tests on ChromeOS.
-
-This script launches a buildbot to build ChromeOS with the llvm on
-a particular board; then it finds and downloads the trybot image and the
-corresponding official image, and runs test for correctness.
-It then generates a report, emails it to the c-compiler-chrome, as
-well as copying the result into a directory.
-"""
-
-# Script to test different toolchains against ChromeOS benchmarks.
-
-
-import argparse
-import datetime
-import os
-import sys
-import time
-
-from cros_utils import buildbot_utils
-from cros_utils import command_executer
-from cros_utils import logger
-
-
-CROSTC_ROOT = "/usr/local/google/crostc"
-ROLE_ACCOUNT = "mobiletc-prebuild"
-TOOLCHAIN_DIR = os.path.dirname(os.path.realpath(__file__))
-MAIL_PROGRAM = "~/var/bin/mail-detective"
-VALIDATION_RESULT_DIR = os.path.join(CROSTC_ROOT, "validation_result")
-START_DATE = datetime.date(2016, 1, 1)
-TEST_PER_DAY = 4
-DATA_DIR = "/google/data/rw/users/mo/mobiletc-prebuild/waterfall-report-data/"
-
-# Information about Rotating Boards
-# Board Arch Reference Platform Kernel
-# Board Version
-# ------------ ------- ------------ ------------- -------
-# atlas x86_64 poppy kabylake-y 4.4.*
-# cave x86_64 glados skylake-y 3.18
-# coral x86_64 reef apollo lake 4.4.*
-# cyan x86_64 strago braswell 3.18
-# elm aarch64 oak mediatek-8173 3.18 arm32 userspace
-# eve x86_64 poppy kabylake-u/r 4.4.*
-# gale armv7 3.18
-# grunt x86_64 grunt stoney ridge 4.14.*
-# fizz-moblab x86_64 4.4
-# kevin aarch64 gru rockchip-3399 4.4.* arm32 userspace
-# kevin64 aarch64 gru rockchip-3399 4.4.* arm64 userspace
-# lakitu x86_64 4.4.*
-# nyan_kitty armv7 nyan tegra 3.10.18
-# octopus x86_64 octopus GLK 4.14.*
-# sentry x86_64 kunimitsu skylake-u 3.18
-# tidus x86_64 auron broadwell 3.14
-# veyron_mighty armv7 veyron-pinky rockchip-3288 3.14
-# whirlwind armv7 3.14
-# winky x86_64 rambi baytrail 4.4.*
-
-TEST_BOARD = [
- "atlas",
- "cave",
- "coral",
- "cyan",
- "elm",
- # 'eve', tested by amd64-llvm-next-toolchain builder.
- "gale",
- "grunt",
- "fizz-moblab",
- # 'kevin', tested by arm64-llvm-next-toolchain builder.
- "kevin64",
- "lakitu",
- "nyan_kitty",
- "octopus",
- "sentry",
- "tidus",
- # 'veyron_mighty', tested by arm-llvm-next-toolchain builder.
- "whirlwind",
- "winky",
-]
-
-
-class ToolchainVerifier(object):
- """Class for the toolchain verifier."""
-
- def __init__(self, board, chromeos_root, weekday, patches, compiler):
- self._board = board
- self._chromeos_root = chromeos_root
- self._base_dir = os.getcwd()
- self._ce = command_executer.GetCommandExecuter()
- self._l = logger.GetLogger()
- self._compiler = compiler
- self._build = "%s-%s-toolchain-tryjob" % (board, compiler)
- self._patches = patches.split(",") if patches else []
- self._patches_string = "_".join(str(p) for p in self._patches)
-
- if not weekday:
- self._weekday = time.strftime("%a")
- else:
- self._weekday = weekday
- self._reports = os.path.join(VALIDATION_RESULT_DIR, compiler, board)
-
- def DoAll(self):
- """Main function inside ToolchainComparator class.
-
- Launch trybot, get image names, create crosperf experiment file, run
- crosperf, and copy images into seven-day report directories.
- """
- buildbucket_id, _ = buildbot_utils.GetTrybotImage(
- self._chromeos_root,
- self._build,
- self._patches,
- tryjob_flags=["--hwtest"],
- asynchronous=True,
- )
-
- return buildbucket_id
-
-
-def WriteRotatingReportsData(results_dict, date):
- """Write data for waterfall report."""
- fname = "%d-%02d-%02d.builds" % (date.year, date.month, date.day)
- filename = os.path.join(DATA_DIR, "rotating-builders", fname)
- with open(filename, "w", encoding="utf-8") as out_file:
- for board in results_dict.keys():
- buildbucket_id = results_dict[board]
- out_file.write("%s,%s\n" % (buildbucket_id, board))
-
-
-def Main(argv):
- """The main function."""
-
- # Common initializations
- command_executer.InitCommandExecuter()
- parser = argparse.ArgumentParser()
- parser.add_argument(
- "--chromeos_root",
- dest="chromeos_root",
- help="The chromeos root from which to run tests.",
- )
- parser.add_argument(
- "--weekday",
- default="",
- dest="weekday",
- help="The day of the week for which to run tests.",
- )
- parser.add_argument(
- "--board", default="", dest="board", help="The board to test."
- )
- parser.add_argument(
- "--patch",
- dest="patches",
- default="",
- help="The patches to use for the testing, "
- "seprate the patch numbers with ',' "
- "for more than one patches.",
- )
- parser.add_argument(
- "--compiler",
- dest="compiler",
- help="Which compiler (llvm, llvm-next or gcc) to use for " "testing.",
- )
-
- options = parser.parse_args(argv[1:])
- if not options.chromeos_root:
- print("Please specify the ChromeOS root directory.")
- return 1
- if not options.compiler:
- print(
- "Please specify which compiler to test (gcc, llvm, or llvm-next)."
- )
- return 1
-
- if options.board:
- fv = ToolchainVerifier(
- options.board,
- options.chromeos_root,
- options.weekday,
- options.patches,
- options.compiler,
- )
- return fv.DoAll()
-
- today = datetime.date.today()
- delta = today - START_DATE
- days = delta.days
-
- start_board = (days * TEST_PER_DAY) % len(TEST_BOARD)
- results_dict = dict()
- for i in range(TEST_PER_DAY):
- try:
- board = TEST_BOARD[(start_board + i) % len(TEST_BOARD)]
- fv = ToolchainVerifier(
- board,
- options.chromeos_root,
- options.weekday,
- options.patches,
- options.compiler,
- )
- buildbucket_id = fv.DoAll()
- if buildbucket_id:
- results_dict[board] = buildbucket_id
- except SystemExit:
- logfile = os.path.join(
- VALIDATION_RESULT_DIR, options.compiler, board
- )
- with open(logfile, "w", encoding="utf-8") as f:
- f.write("Verifier got an exception, please check the log.\n")
- WriteRotatingReportsData(results_dict, today)
-
-
-if __name__ == "__main__":
- retval = Main(sys.argv)
- sys.exit(retval)