summaryrefslogtreecommitdiffstats
path: root/llvm/utils/lit
Commit message (Collapse)AuthorAgeFilesLines
* [lit] Allow disabling an entire gtest suite, as is done in tsanReid Kleckner2015-04-071-1/+2
| | | | llvm-svn: 234336
* [lit] Skip gtest names starting with DISABLED_Reid Kleckner2015-04-061-0/+4
| | | | | | | | | | | The sanitizer test suite uses this idiom to disable a test. Now that we actually check if a test ran after invoking it, we see that zero tests ran, and complain. Instead, ignore tests starting with DISABLED_ completely. Fixes the sanitizer test suite failures on Windows. llvm-svn: 234247
* [lit] Fix running gtest type-parameterized tests on WindowsReid Kleckner2015-04-061-4/+11
| | | | | | | | | | | | | | The '/' character in the test name of a type-parameterized test is not a path separator, and should not be '\' on Windows. We were passing a test name to --gtest_filter which found no tests, so the exit code was zero, indicating a passed test. This bug has been here since r84387 in 2009, when Jeff Yasskin added the original lit support for type-paratermized tests. Somewhere along the line some of the ValueMapTests started failing, but we can fix those separately. llvm-svn: 234242
* lit: Add 'cd' support to the internal shell and port some testsReid Kleckner2015-03-021-13/+39
| | | | | | | | | | | The internal shell was already threading around a 'cwd' parameter. We just have to make it mutable so that we can update it as the test script executes. If the shell ever grows support for environment variable substitution, we could also implement support for export. llvm-svn: 231017
* Don't warn or note if bash is missingReid Kleckner2015-02-041-2/+0
| | | | | | | | | We haven't needed bash on Windows to run the test suite for a long time now. Patch by Michael Edwards! llvm-svn: 228221
* Fix some bashims. More information on https://wiki.ubuntu.com/DashAsBinSh. ↵Sylvestre Ledru2015-02-011-1/+1
| | | | | | Reported initially on https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=772302 & https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=772301 llvm-svn: 227744
* [lit] Format JSONMetricValue strings better.Eric Fiselier2015-01-211-1/+2
| | | | llvm-svn: 226672
* Don't set LD_PRELOAD to ''. It doesn't work on OpenBSD.Rafael Espindola2015-01-141-1/+5
| | | | | | Patch by Brad Smith. llvm-svn: 225890
* [LIT] Remove string decoding in gtest discovery code. lit.util.capture now ↵Eric Fiselier2015-01-121-1/+0
| | | | | | does decoding. llvm-svn: 225693
* [LIT] Decode string result in lit.util.captureEric Fiselier2015-01-121-9/+9
| | | | | | | | | | | | | | Summary: I think this is probably a bug, but I'm putting this up for review just to be sure. I think that `lit.util.capture` should decode the resulting string in the same way `lit.util.executeCommand` does. Reviewers: ddunbar, EricWF Reviewed By: EricWF Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6769 llvm-svn: 225681
* Pass LSAN_OPTIONS down so that it is possible to add suppressions.Rafael Espindola2014-12-231-1/+2
| | | | llvm-svn: 224777
* Split executeShTest into two parts so that it can be better leveraged by libc++Eric Fiselier2014-12-201-13/+18
| | | | llvm-svn: 224672
* [LIT] Add JSONMetricValue type to wrap types supported by the json encoder.Eric Fiselier2014-12-191-0/+36
| | | | | | | | | | | | | | | | | | | | | | Summary: The following types can be encoded and decoded by the json library: `dict`, `list`, `tuple`, `str`, `unicode`, `int`, `long`, `float`, `bool`, `NoneType`. `JSONMetricValue` can be constructed with any of these types, and used as part of Test.Result. This patch also adds a toMetricValue function that converts a value into a MetricValue. Reviewers: ddunbar, EricWF Reviewed By: EricWF Subscribers: cfe-commits, llvm-commits Differential Revision: http://reviews.llvm.org/D6576 llvm-svn: 224628
* Now that we require a newer python, use the new exception syntax.Rafael Espindola2014-12-121-1/+1
| | | | llvm-svn: 224130
* Require python 2.7.Rafael Espindola2014-12-121-2/+0
| | | | | | | | | | | | | We were already requiring 2.5, which meant that people on old linux distros had to upgrade anyway. Requiring python 2.6 will make supporting 3.X easier as we can use the 3.X exception syntax. According to the discussion on llvmdev, there is not much value is requiring just 2.6, we may as well just require 2.7. llvm-svn: 224129
* [LIT] Add support for `UNSUPPORTED` tag to ↵Eric Fiselier2014-12-102-19/+29
| | | | | | | | | | | | | | | | | | | | | | | `TestRunner.parseIntegratedTestScript` Summary: This patch gives me just enough to leverage the existing functionality in `TestRunner` for use in `libc++` and `libc++abi` . It does the following: * Adds the `UNSUPPORTED` tag to `TestRunner.parseIntegratedTestScript`. * Allows `parseIntegratedTestScript` to return an empty script if a script is not required by the caller. Reviewers: ddunbar, EricWF Reviewed By: EricWF Subscribers: cfe-commits, llvm-commits Differential Revision: http://reviews.llvm.org/D6589 llvm-svn: 223915
* lit: Don't use python 2.6 featuresDavid Majnemer2014-12-081-1/+1
| | | | | | LLVM supports python 2.5, this fixes a (somewhat) recent regression. llvm-svn: 223626
* Fix for xunit output to work around issue in Jenkins when tests are at the ↵Chris Matthews2014-12-061-1/+1
| | | | | | root level llvm-svn: 223562
* Fix corner cases in lit xunit for paths with dotsChris Matthews2014-12-061-2/+9
| | | | llvm-svn: 223549
* Add a test-case for lit xunit outputChris Matthews2014-12-031-0/+10
| | | | llvm-svn: 223307
* Don't allow test-suite names with . in them in xml outputChris Matthews2014-12-032-6/+8
| | | | llvm-svn: 223305
* Give lit a --xunit-xml-output option for saving results in xunit formatChris Matthews2014-12-022-7/+55
| | | | | | | | --xunit-xml-output saves test results to disk in JUnit's xml format. This will allow Jenkins to report the details of a lit run. Based on a patch by David Chisnall. llvm-svn: 223163
* Handle ASAN_OPTIONS and UBSAN_OPTIONS in TestingConfig.pyRafael Espindola2014-11-031-1/+1
| | | | | | | | Currently they are passed to tests of llvm itself, but not, for example, lld. With this patch the options are visible in every test. llvm-svn: 221198
* refactor duplicated code. NFC.Rafael Espindola2014-11-031-5/+5
| | | | llvm-svn: 221191
* [lit] Forward LD_PRELOAD to tests.Rafael Espindola2014-11-031-0/+1
| | | | | | | With this patch I can use asan to test the gold plugin without having to build gold itself with asan. llvm-svn: 221183
* [lit] Fix Python-3 compatibility, patch by Dan Liew.Daniel Dunbar2014-10-221-2/+2
| | | | llvm-svn: 220357
* [lit] Bump version number.Daniel Dunbar2014-10-221-1/+1
| | | | llvm-svn: 220355
* Fix ShTest parsing error when a keyword line doesn't end with a newline.Daniel Dunbar2014-10-221-0/+4
| | | | llvm-svn: 220354
* Teach Lit to catch OSError exceptions when creating a process during theDan Liew2014-10-201-7/+10
| | | | | | | | | execution of a shell command. This can happen for example if the ``RUN:`` line calls a python script which can work correctly under Linux/OSX but will not work under Windows. A more useful error message is now shown rather than an unhelpful backtrace. llvm-svn: 220227
* Initial version of Go bindings.Peter Collingbourne2014-10-161-1/+1
| | | | | | | | | | | | This code is based on the existing LLVM Go bindings project hosted at: https://github.com/go-llvm/llvm Note that all contributors to the gollvm project have agreed to relicense their changes under the LLVM license and submit them to the LLVM project. Differential Revision: http://reviews.llvm.org/D5684 llvm-svn: 219976
* [lit] Parse all strings as UTF-8 rather than ASCII.Jordan Rose2014-09-124-15/+30
| | | | | | | | | | As far as I can tell UTF-8 has been supported since the beginning of Python's codec support, and it's the de facto standard for text these days, at least for primarily-English text. This allows us to put Unicode into lit RUN lines. rdar://problem/18311663 llvm-svn: 217688
* [LIT] Move display of unsupported and xfail tests to summary. Eric Fiselier2014-08-161-4/+7
| | | | | | | | | | | | | | | | | | | | Summary: This patch changes the way xfail and unsupported tests are displayed. This output is only displayed when the --show-unsupported/--show-xfail flags are passed to lit. Currently xfail/unsupported tests are printed during the run of the test-suite. I think its better to display this information during the summary instead. This patch removes the printing of these tests from when they are run to the summary. Reviewers: ddunbar, EricWF Reviewed By: EricWF Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D4842 llvm-svn: 215809
* [lit] Add --show-xfail flag to LIT.Eric Fiselier2014-08-021-0/+4
| | | | | | | | | | | | | | | | | | Summary: This patch add a --show-xfail flag. If this flag is specified then each xfail test will be printed to output. When it is not given xfail tests are ignored. Ignoring xfail tests is the current behavior. This flag is meant to mirror the --show-unsupported flag that was recently added. Reviewers: ddunbar, EricWF Reviewed By: EricWF Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D4750 llvm-svn: 214609
* [lit] Add --show-unsupported flag to LITEric Fiselier2014-07-172-4/+7
| | | | llvm-svn: 213227
* lit: simplify population of the actual_inputs arrayHans Wennborg2014-06-171-3/+3
| | | | | | | Add all inputs to the array, except those starting with @, which are treated as response files and expanded. llvm-svn: 211119
* Revert "lit: warn when passed invalid pathname" (r210597)Hans Wennborg2014-06-161-5/+3
| | | | | | | | | It was pointed out that this breaks the "virtual test discovery" mechanism, which allows for narming tests in the test exec root. Reverting until I can figure out how to fix this. llvm-svn: 211048
* lit: warn when passed invalid pathnameHans Wennborg2014-06-101-3/+5
| | | | | | | | | | | | | | | It would previously say things like warning: input 'test/Frontend/foo.c' contained no tests and have the user pull their hair trying to figure out what's wrong with that file. This patch changes the message to the much clearer: warning: no such file or directory: 'test/Frontend/foo.c' Differential Revision: http://reviews.llvm.org/D4097 llvm-svn: 210597
* Add detection of OS X relocatable SDK to compiler-rt as a lit.util functionAlexander Potapenko2014-06-101-0/+17
| | | | | | | | | | | | Clang's lit cfg already detects the currently selected SDK via "xcrun --show-sdk-path". The same thing should be done for compiler-rt tests, to make them work on recent OS X versions. Instead of duplicating the detection code, this patch extracts the detection function into a lit.util method. Patch by Kuba Brecka (kuba.brecka@gmail.com), reviewed at http://reviews.llvm.org/D4072 llvm-svn: 210534
* Fix test syntax to work with non-bash /bin/sh.Joerg Sonnenberger2014-04-122-3/+3
| | | | llvm-svn: 206119
* [lit] Fix non-function style print statement.Daniel Dunbar2014-03-111-1/+1
| | | | llvm-svn: 203573
* [lit] Bump dev version number.Daniel Dunbar2014-03-101-1/+1
| | | | llvm-svn: 203498
* [lit] Add a README.txt.Daniel Dunbar2014-03-103-0/+11
| | | | | | - Also, update MANIFEST.in and utils/check-sdist. llvm-svn: 203497
* [lit] Add --version option.Daniel Dunbar2014-03-101-0/+7
| | | | llvm-svn: 203496
* lit: Provide source locations in cfg files with older Python versionsAlp Toker2014-01-111-7/+8
| | | | | | | | | This commit prospectively brings the benefits of r198766 to older supported Python versions (2.5+). Tested with Python 2.6, 2.7, 3.1 and 3.3 (!) llvm-svn: 199009
* lit: execfile() isn't present in Python 3.3Alp Toker2014-01-111-9/+8
| | | | | | | | | | | | On the other hand, exec(compile()) doesn't work in older Python versions in the 2.x series. This commit introduces exec(compile()) with a fallback to plain exec(). That'll hopefully hit the sweet spot in terms of version support. Followup to r198766 which added enhanced source locations for lit cfg parsing. llvm-svn: 199006
* lit: Provide file location in cfg error messagesAlp Toker2014-01-081-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Python doesn't do a good job at diagnosing string exec() so use execfile() where available. This should be a timesaver when trying to get to the bottom of build bot failures. Before: File "llvm/utils/lit/lit/TestingConfig.py", line 93, in load_from_path exec("exec data in cfg_globals") File "<string>", line 1, in <module> File "<string>", line 194, in <module> NameError: name 'typo' is not defined After: File "llvm/utils/lit/lit/TestingConfig.py", line 95, in load_from_path execfile(path, cfg_globals) File "clang/test/lit.cfg", line 194, in <module> typo ^~~~ NameError: name 'typo' is not defined llvm-svn: 198766
* Python compatibility fix for r198150Alp Toker2013-12-291-8/+5
| | | | | | | | Remove the stat call error reporting for now. It wasn't essential so silent fallback should be fine here. llvm-svn: 198155
* Prospective Python 3 fix for r198150Alp Toker2013-12-291-1/+1
| | | | llvm-svn: 198152
* lit: Incremental test schedulingAlp Toker2013-12-293-2/+36
| | | | | | | | | | | | | | | | Add option -i to prioritize test runs by source file modification time and previous failure state. This optimal scheduling reduces typical test-and-fix iteration times to a matter of seconds by rapidly answering the questions: 1) Did my recent change fix tests that were previously failing? 2) Do the tests I just wrote / modified still work? The current implementation requires write permissions to the source tree because it uses mtimes to track failures. llvm-svn: 198150
* Tweak lit/TestingConfig.py Py3-compatible. has_key is dead.NAKAMURA Takumi2013-12-171-1/+1
| | | | llvm-svn: 197462
OpenPOWER on IntegriCloud