Introduce a test runner script to simplify invocation
... And to use a standard, highly amusing trick for making
coloured output work.
[ROCm/hip commit: 80120aed22]
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
// RUN: hipify "%s" -o=%t -- %cuda_args && cat %t | sed -Ee 's|//.+|// |g' | FileCheck %s
|
||||
// RUN: %run_test hipify "%s" "%t" %cuda_args
|
||||
|
||||
#include <iostream>
|
||||
|
||||
|
||||
@@ -48,3 +48,4 @@ config.substitutions.append(("hipify", obj_root+"/hipify-clang"))
|
||||
|
||||
# Clang args for CUDA...
|
||||
config.substitutions.append(("%cuda_args", "-x cuda --cuda-path=%s --cuda-gpu-arch=sm_30" % config.cuda_root))
|
||||
config.substitutions.append(("%run_test", config.test_source_root + "/run_test.sh"))
|
||||
|
||||
Executable
+28
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -o errexit
|
||||
|
||||
# Run a single LIT test file in a magical way that preserves colour output, to work around
|
||||
# a known flaw in lit.
|
||||
|
||||
# Capture lit substitutions
|
||||
HIPIFY=$1
|
||||
IN_FILE=$2
|
||||
TMP_FILE=$3
|
||||
shift 3
|
||||
|
||||
# Remaining args are the ones to forward to clang proper.
|
||||
|
||||
# Time for the classic insane little trick for making colour output work.
|
||||
# A self-deleting shell-script that does the thing we want to do...
|
||||
TMP_SCRIPT=$(mktemp)
|
||||
cat << EOF > $TMP_SCRIPT
|
||||
set -o errexit
|
||||
set -o xtrace
|
||||
rm $TMP_SCRIPT
|
||||
$HIPIFY -o=$TMP_FILE $IN_FILE -- $@ && cat $TMP_FILE | sed -Ee 's|//.+|// |g' | FileCheck $IN_FILE
|
||||
EOF
|
||||
chmod a+x $TMP_SCRIPT
|
||||
|
||||
# Run the script via socat, spawning a virtual terminal and propagating exit code, and hence failure.
|
||||
socat -du EXEC:$TMP_SCRIPT,pty,stderr STDOUT
|
||||
Reference in New Issue
Block a user