summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/test/Metal/AVR/README.md6
-rw-r--r--llvm/test/Metal/AVR/basic.ll7
-rw-r--r--llvm/test/Metal/AVR/lit.local.cfg8
-rw-r--r--llvm/utils/lit/lit/TestingConfig.py2
4 files changed, 22 insertions, 1 deletions
diff --git a/llvm/test/Metal/AVR/README.md b/llvm/test/Metal/AVR/README.md
new file mode 100644
index 00000000000..4b762510408
--- /dev/null
+++ b/llvm/test/Metal/AVR/README.md
@@ -0,0 +1,6 @@
+# AVR on-target tests
+
+These tests are built using LLVM and executed on real AVR hardware.
+
+See [avrlit](https://github.com/avr-llvm/avrlit) for instructions on how
+to run them.
diff --git a/llvm/test/Metal/AVR/basic.ll b/llvm/test/Metal/AVR/basic.ll
new file mode 100644
index 00000000000..eb675765911
--- /dev/null
+++ b/llvm/test/Metal/AVR/basic.ll
@@ -0,0 +1,7 @@
+; RUN: avrlit %s
+
+; CHECK-LABEL: test
+define i16 @test() {
+ ; CHECK-NEXT: return 1357
+ ret i16 1357
+}
diff --git a/llvm/test/Metal/AVR/lit.local.cfg b/llvm/test/Metal/AVR/lit.local.cfg
new file mode 100644
index 00000000000..57427d74aea
--- /dev/null
+++ b/llvm/test/Metal/AVR/lit.local.cfg
@@ -0,0 +1,8 @@
+import os
+
+if not 'AVR' in config.root.targets:
+ config.unsupported = True
+
+# We can only run avrlit tests if we have a board set up.
+if not os.environ["AVRLIT_PORT"] or not os.environ["AVRLIT_BOARD"]:
+ config.unsupported = True
diff --git a/llvm/utils/lit/lit/TestingConfig.py b/llvm/utils/lit/lit/TestingConfig.py
index d2389dc0cfb..717b53c67fb 100644
--- a/llvm/utils/lit/lit/TestingConfig.py
+++ b/llvm/utils/lit/lit/TestingConfig.py
@@ -25,7 +25,7 @@ class TestingConfig:
'LD_PRELOAD', 'ASAN_OPTIONS', 'UBSAN_OPTIONS',
'LSAN_OPTIONS', 'ADB', 'ANDROID_SERIAL',
'SANITIZER_IGNORE_CVE_2016_2143', 'TMPDIR', 'TMP', 'TEMP',
- 'TEMPDIR']
+ 'TEMPDIR', 'AVRLIT_BOARD', 'AVRLIT_PORT']
for var in pass_vars:
val = os.environ.get(var, '')
# Check for empty string as some variables such as LD_PRELOAD cannot be empty
OpenPOWER on IntegriCloud