| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
these scripts are (I assume) unused these days and there's no reason
to maintain them. and it's risky to have two different ways of running
the same thing which could get out of sync with each other
sbt forks a JVM to run partest, so it's not like we need these scripts
in order to get a more isolated environment in that respect.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Looks like that issue was operator error. However partest
option --show-log really has gone missing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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'
|
|
"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]
|