Enable emission of debugger-friendly bitcode
- Add "-g" flag to llvm-rs-cc in order to emit debug metadata
- Add optimization level parameter -O and tests
- Add lit based tests (use llvm-lit from libbcc/tests/debuginfo)
-- Add README file for lit-tests directory
Change-Id: I5e2f6f9b6f536fa7a10de008b54ac0878cf352a9
diff --git a/lit-tests/README b/lit-tests/README
new file mode 100644
index 0000000..78fea67
--- /dev/null
+++ b/lit-tests/README
@@ -0,0 +1,42 @@
+
+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.