summaryrefslogtreecommitdiff
path: root/tools/partest-ack
Commit message (Collapse)AuthorAgeFilesLines
* Improvements to partest-ack, plus partest-paths.Paul Phillips2013-12-151-20/+9
| | | | | | | | | I noticed partest-ack was not finding all matching tests, and fixed that. Also cleaned up the ack options so they're understood by the latest version of ack. Along the way I broke the canonicalization functionality out into its own script so it can easily be used from other places.
* Restore --show-diff to partest-ack.Paul Phillips2013-08-291-3/+4
| | | | | Looks like that issue was operator error. However partest option --show-log really has gone missing.
* Overhaul of partest-ack.Paul Phillips2013-08-241-79/+79
| | | | | | | | | | | | | | | | | | | | | | | Seems like many/most options to partest are broken. Working around as much as I can to make this thing useful again, plus lots of improvements in robustness. Spaces and such are preserved properly now, and I added a new way of selecting tests based on time. tools/partest-ack -s 1.week.ago % tests modified since time ... 66 tools/partest-ack 'case object (Foo|Bar)' % tests with matching paths ... 0 % tests with matching code ... 7 File paths and file contents are uniformly acked now, so for instance this works as expected. tools/partest-ack -i VIRTPAT % tests with matching paths ... 41 % tests with matching code ... 11 # 43 tests to run.
* Overhaul of tools/partest-ack.Paul Phillips2013-01-311-43/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I decided what would be really handy for test selection is being able to run all the tests which were created or modified at the same time as something else. Right now that is at file granularity, though it would be simple enough to generalize it such that any expression which can be translated to a set of git commits can also be turned into a selection of tests. I added some other options as well: Usage: $0 <regex> [-dfquvp] [ack options] -d pass --debug to partest -f pass --failed to partest -q DON'T pass --show-log and --show-diff to partest -u pass --update-check to partest -v pass --verbose to partest -p <path> select tests appearing in commits where <path> was also modified Example usage: > tools/partest-ack -p src/compiler/scala/tools/nsc/typechecker/Checkable.scala % tests-modified-in-same-commit ... 12 # 12 tests to run. Testing individual files testing: [...]/files/pos/t6537.scala [ OK ] Testing individual files testing: [...]/files/neg/unchecked-impossible.scala [ OK ] testing: [...]/files/neg/t1872.scala [ OK ] testing: [...]/files/neg/t4302.scala [ OK ] testing: [...]/files/neg/unchecked-knowable.scala [ OK ] testing: [...]/files/neg/unchecked-abstract.scala [ OK ] [etc]
* Fix bug in partest-ack.Paul Phillips2012-11-141-1/+1
| | | | | | | | | | | | | | | | | | Unfortunate bug was making it far less useful than it was supposed to be. Now it really does look in scala/check/flags files, here are examples of things which work: % tools/partest-ack "input ended while parsing XML" Found 6 tests matching 'ack input ended while parsing XML' % tools/partest-ack Xlint Found 11 tests matching 'ack Xlint' % tools/partest-ack -- -language:experimental.macros Found 143 tests matching 'ack -- -language:experimental.macros' % tools/partest-ack @unchecked Found 13 tests matching 'ack @unchecked'
* A wrapper for selecting tests for partest.Paul Phillips2012-09-221-0/+71
"partest-ack", just what it sounds like. % tools/partest-ack Usage: tools/partest-ack <regex> [ack options] Given a regular expression (and optionally, any arguments accepted by ack) runs all the tests for which any associated file matches the regex. Associated files include .check and .flags files. Tests in directories will match if any file matches. A file can match the regex by its contents or by its name. You must have ack installed: http://betterthangrep.com/ack-standalone Examples: % tools/partest-ack monad Found 4 tests matching 'ack monad' Testing individual files testing: [...]/files/pos/tcpoly_boundedmonad.scala [ OK ] testing: [...]/files/pos/tcpoly_ticket2096.scala [ OK ] testing: [...]/files/run/tcpoly_monads.scala [ OK ] testing: [...]/files/presentation/callcc-interpreter [ OK ] % tools/partest-ack monad -i # -i == ignore case Found 12 tests matching 'ack monad -i' Testing individual files [etc]