History log of /external/vogar/test/vogar/target/JUnitRunnerTest.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f84c9ce5f144583b36bc8787a74319b951ed2b75 23-Nov-2015 Paul Duffin <paulduffin@google.com> Made JUnitRunnerTest tests run in IDE

This requires some modifications to the test to make them work
as expected (or at least as I think they should be expected to
behave) and some functional modifications too.

Merge the method qualifier (the bit after the # in the test
specification) with the arguments (which are method names) and
run them all.

Junit3 - Removed internal ConfigurationError class as it is a
duplicate or a class in the package. Sorted out the filtering
by method name.

Junit4 - Sorted out the filtering by method name.

Moved the creation of the List<VogarTest> from JUnitRunner.run()
method into a new createVogarTests() static method in
JUnitRunnerFactory that is called from newRunner() and from
tests for testing. This required moving the args that are passed
to the Runner.run() method to the RunnerFactory.newRunner()
method instead. The actionName parameter was removed from
Runner.run() as none of the implementations used it either.

Removed test
test_limiting_to_1method_and_run_for_SuiteTest_should_throw_exception
from JUnitRunnerTest as there appears to be no way to make it
pass. I suspect that since the last time the test passed some
changes were made that broke it. Given that it's testing a
failure case it seems unlikely to cause serious issues. The
worst that could happen is it runs some tests that it didn't
before.

Added AllTests.java to include all the tests that can be
currently run.

Change-Id: I873ed67be3c2fe17a02f9e0cf14054df10a51c69
/external/vogar/test/vogar/target/JUnitRunnerTest.java
a2eb1541923b75baec6777cae2d14d9570c0a644 23-Nov-2015 Paul Duffin <paulduffin@google.com> Refactor TargetMonitor.outcomeStarted() method.

In preparation for other refactorings, I've removed the unused
actionName parameter and replaced the Runner parameter with
Class<? extends Runner> as the instance wasn't actually used
in here.

Change-Id: I3079edb1142cd78c6557d4ab0e64442d862e83c8
/external/vogar/test/vogar/target/JUnitRunnerTest.java
9e776dbd9e2bdc6232adf99b1a7dad30f434f0cb 04-Nov-2015 Paul Duffin <paulduffin@google.com> Separate Runner interface and implementations into two

The Runner interface and implementations combine two distinct
and orthogonal (although related) functions together. Namely,
the checking to see whether it can run a class and the process
of running the class. The problems with this are:

* Instances of each piece of functionality are initialized in
different ways, the instances used to check support are
initialized using the constructor only, the instances used to
run a test/benchmark/tool are initialized using the constructor
and a separate init(...) method.

* Both usages have to share the same fields, even though the
fields are only ever used by the actual runners and so the
fields cannot be final.

* They have different life spans. The support checkers life
span is essentially the life time of the code that is run on
the target. The runners life span is just the length of one
test/benchmark/tool being run.

All of this makes it more difficult to reason about and to
extend. This change is being made as part of the Caliper work
because checking to see whether a specific class contains a
benchmark that Caliper can run requires some state to be held in
the support checker instance of CaliperRunner. Adding extra
fields to hold that would make the code even more complex.

The support checking aspect is moved out of Runner (and its
implementations) into the new RunnerFactory (and its new
corresponding implementations). The reason it is called
RunnerFactory rather than RunnerChecker or something similar
is because implementations are also responsible for creating
an appropriate instance of the Runner. The existing code uses
the Class of the Runner instance used to check support as the
factory for creating it. Reflection (even something as simple
as this) can make it more difficult to follow the code, e.g.
it's not clear where all the instances of a class are created
making code changes more difficult.

This is addressed by simply having the RunnerFactory provide a
newRunner(...) method that can create appropriate instances of
the Runner for the class, or return null if it cannot create
a Runner instance suitable for processing that class.

Also, adds src/test to vogar.iml.

Change-Id: I352be1335fe690f6cd25508aa1dcf17c07960152
/external/vogar/test/vogar/target/JUnitRunnerTest.java
bd8bda78cc5740aeae8de67b52f1d86e208f4864 07-Mar-2011 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Use our own minimal JUnit instead of the full framework. This permits us to create test instances lazily and dispose of them eagerly.

git-svn-id: http://vogar.googlecode.com/svn/trunk@238 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/test/vogar/target/JUnitRunnerTest.java
b5c5c44d0c0a01c278cdac68ae23646682eb8ef7 19-Dec-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Inject the log rather than looking it up statically. This is needed for other apps that want to reuse the ExpectationStore but not the rest of Vogar!

git-svn-id: http://vogar.googlecode.com/svn/trunk@219 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/test/vogar/target/JUnitRunnerTest.java
3cea2f55f3da60eb0c4bdd1616cbfa964ee2cd91 02-Dec-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Fix skipPast so that it's honored across test classes.

git-svn-id: http://vogar.googlecode.com/svn/trunk@210 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/test/vogar/target/JUnitRunnerTest.java
5f9e5b96aaea17c60c82f11b8933d00ff52b5a85 02-Dec-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Name main classes by their class name, not the action name. Otherwise it's ambiguous when many main methods are run from a single .jar.

git-svn-id: http://vogar.googlecode.com/svn/trunk@209 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/test/vogar/target/JUnitRunnerTest.java
306a45752817a0c6a54188d8b0b403adda9ae4dd 02-Nov-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Don't run the same action forever in a loop when it crashes!

git-svn-id: http://vogar.googlecode.com/svn/trunk@198 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/test/vogar/target/JUnitRunnerTest.java
3cc430f91313dab5074cffa6508c0b47cd9f2b50 25-Oct-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Sort tests. Kill the target process if there's a timeout.

The target process has a new flag --skipPast.

git-svn-id: http://vogar.googlecode.com/svn/trunk@191 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/test/vogar/target/JUnitRunnerTest.java
693bab6f249797311a9c4bcd4c9d9c7cfd5ae8d3 16-Oct-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Change how host + target processes communicate.

It used to read XML over a socket. This was robust but omitted native output to stdout and stderr.

Now it reads JSON over stdout. The socket code is still in place (but not currently used) because this change breaks activity mode. I'll do that as a follow up commit.

git-svn-id: http://vogar.googlecode.com/svn/trunk@178 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/test/vogar/target/JUnitRunnerTest.java
84f59696573fe05a50e77832ee26c5abde46fa9e 29-Sep-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Use a pristine environment during class init.

See issue 38.

git-svn-id: http://vogar.googlecode.com/svn/trunk@171 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/test/vogar/target/JUnitRunnerTest.java
3b87953e156bf57511664a32ed95bcedb8131e0d 22-Sep-2010 dominicc@google.com <dominicc@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Adds JUnit 4 support. Adds unit tests for running JUnit tests.

For <mailto:kazuu@google.com>.



git-svn-id: http://vogar.googlecode.com/svn/trunk@159 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/test/vogar/target/JUnitRunnerTest.java