unplugged-vendor/frameworks/compile/slang/lit-tests
2025-10-06 13:59:42 +00:00
..
bitcode_wrapper Initial commit: AOSP 12 vendor with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
debug Initial commit: AOSP 12 vendor with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
opt Initial commit: AOSP 12 vendor with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
P_alloc_in_struct Initial commit: AOSP 12 vendor with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
P_array_init Initial commit: AOSP 12 vendor with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
P_compute Initial commit: AOSP 12 vendor with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
P_ref_count Initial commit: AOSP 12 vendor with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
padding Initial commit: AOSP 12 vendor with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
lit.cfg Initial commit: AOSP 12 vendor with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
README Initial commit: AOSP 12 vendor with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
rs-filecheck-wrapper.sh Initial commit: AOSP 12 vendor with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
run-lit-tests.sh Initial commit: AOSP 12 vendor with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
scriptc-filecheck-wrapper.sh Initial commit: AOSP 12 vendor with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00

Summary
=======
This directory contains tests for Slang that use the 'llvm-lit' testing tool.
Each testcase is a separate .rs file, and comments inside the testcase are
used to verify certain strings are present in the output bitcode files.

Prerequisites
=============
To run the tests, you must have the android build environment variables
set (i.e. source build/envsetup.sh; lunch). You must also have on your path:
- Android version of llvm-lit (currently in libbcc/tests/debuginfo)
- FileCheck (utility from llvm)
- llvm-rs-cc (slang frontend compiler)

If you are unable to run the tests, try using the "--debug" option to llvm-lit.

When debugging failures, the "-v" option will print to stdout the details of
the failure. Note that tests marked as "Expected Fail" (XFAIL) will not print
failure information, even with -v.

Customizing
===========
The tools lit and FileCheck are fairly flexible, and could be used to validate
more than just emitted bitcode. For example, with some changes to the testcases
and the helper shell-script rs-filecheck-wrapper.sh, it should be possible to
write tests that verify the emitted Java code.

Running
=======
To execute all the tests from this directory, use the Android llvm-lit tool
from libbcc:
$ ../../libbcc/tests/debuginfo/llvm-lit .

The tool can be run from any directory.
-j controls the number of parallel test executions
-v enables additional verbosity (useful when examining unexpected failures)

Adding new tests
================
To add new tests, just add .rs files to a test directory with similar
RUN/CHECK directives in comments as the existing tests.