Files
TheRock/compiler/amd-llvm/openmp/runtime/test/affinity/format/check.py
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

92 lines
2.9 KiB
Python

import os
import sys
import argparse
import re
class Checks(object):
class CheckError(Exception):
pass
def __init__(self, filename, prefix):
self.checks = []
self.lines = []
self.check_no_output = False
self.filename = filename
self.prefix = prefix
def readStdin(self):
self.lines = [l.rstrip("\r\n") for l in sys.stdin.readlines()]
def readChecks(self):
with open(self.filename) as f:
for line in f:
match = re.search("{}: NO_OUTPUT".format(self.prefix), line)
if match is not None:
self.check_no_output = True
return
match = re.search(
"{}: num_threads=([0-9]+) (.*)$".format(self.prefix), line
)
if match is not None:
num_threads = int(match.group(1))
for i in range(num_threads):
self.checks.append(match.group(2))
continue
def check(self):
# If no checks at all, then nothing to do
if len(self.checks) == 0 and not self.check_no_output:
print("Nothing to check for")
return
# Check if we are expecting no output
if self.check_no_output:
if len(self.lines) == 0:
return
else:
raise Checks.CheckError(
"{}: Output was found when expecting none.".format(self.prefix)
)
# Run through each check line and see if it exists in the output
# If it does, then delete the line from output and look for the
# next check line.
# If you don't find the line then raise Checks.CheckError
# If there are extra lines of output then raise Checks.CheckError
for c in self.checks:
found = False
index = -1
for idx, line in enumerate(self.lines):
if re.search(c, line) is not None:
found = True
index = idx
break
if not found:
raise Checks.CheckError("{}: Did not find: {}".format(self.prefix, c))
else:
del self.lines[index]
if len(self.lines) != 0:
raise Checks.CheckError(
"{}: Extra output: {}".format(self.prefix, self.lines)
)
# Setup argument parsing
parser = argparse.ArgumentParser(
description="""This script checks output of
a program against "CHECK" lines in filename"""
)
parser.add_argument("filename", default=None, help="filename to check against")
parser.add_argument(
"-c",
"--check-prefix",
dest="prefix",
default="CHECK",
help="check prefix token default: %(default)s",
)
command_args = parser.parse_args()
# Do the checking
checks = Checks(command_args.filename, command_args.prefix)
checks.readStdin()
checks.readChecks()
checks.check()