History log of /external/vogar/src/vogar/Mode.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
db82cde9016d812b26b6c79e375fdf60ead1d9fa 02-Dec-2011 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Redefine Environment to Target, with "AdbTarget" and "LocalTarget" implementations. This makes it possible for a new "SshTarget" implementation.

git-svn-id: http://vogar.googlecode.com/svn/trunk@265 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
6a0f4cdb51f57b4b38f9ee1ed9f44f1afc9f6da6 02-Dec-2011 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Cleanup registration of task dependencies. Do all of that registration in the driver.

git-svn-id: http://vogar.googlecode.com/svn/trunk@264 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
f83be5e4273263df2bb9ef609946b911695b3996 02-Dec-2011 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Use tasks everywhere.

I still need to smash together the 'Run' and 'Vogar' classes; this is an intermediate step on the way to removing miniguice DI from vogar.

git-svn-id: http://vogar.googlecode.com/svn/trunk@263 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
2c37ef5a628067f4d7e5a5c69a7314647939a5e1 01-Dec-2011 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Another intermediate step in refactoring vogar.

This bets more heavily on tasks, but doesn't quite get to the goal where environments and modes are simply factories for tasks.

git-svn-id: http://vogar.googlecode.com/svn/trunk@262 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
c10fce89841f100758df681ec283c794f5e48d37 30-Nov-2011 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Intermediate step in refactoring vogar to be composed of tasks. When this is done we should have better parallelism and it should be simpler to introduce newer, more sophisticated modes.

git-svn-id: http://vogar.googlecode.com/svn/trunk@261 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.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/src/vogar/Mode.java
bb92795f80f54075e03436b52ca2b265a54a4b0e 21-Nov-2010 bdc@google.com <bdc@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> If running with --debug, compile with -g

git-svn-id: http://vogar.googlecode.com/svn/trunk@206 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
1bdeb9dd8f1ab3f308c285729af007ae8970425b 29-Oct-2010 bdc@google.com <bdc@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> vogar --profile support

From the vogar usage message:
--profile: run with a profiler to produce an ASCII hprof file.

--profile-file <filename>: filename for hprof profile data.
Default is: java.hprof.txt

--profile-depth <count>: number of frames in profile stack traces.
Default is: 4

--profile-interval <milliseconds>: interval between profile samples.
Default is: 10

--profile-thread-group: profile thread group instead of single thread in dalvikvms
Note --mode jvm only supports full VM profiling.
Default is: false

New command line arguments parsing and usage:
src/vogar/Vogar.java

For the RI, we pass the profile arguments via -agentlib:hprof
src/vogar/JavaVm.java

TestRunner now uses the new Profiler class. Also removed
unnecessary args argument from run methods.
src/vogar/target/TestRunner.java

New abstract Profiler class and its Android implementation. When
running on the RI, hprof is used outside of the TargetRunner.
Because SamplingProfiler is not a public class, it is accessed via
reflection from AndroidProfiler.
src/vogar/target/Profiler.java
src/vogar/android/AndroidProfiler.java

New TestProperties for profiler options
src/vogar/Mode.java
src/vogar/TestProperties.java

Retrieve the profiler output in the dalvikvm
src/vogar/RetrievedFilesFilter.java

Runner.init now takes profile so that Caliper can know to run with --debug
src/vogar/target/Runner.java
src/vogar/target/CaliperRunner.java
src/vogar/target/JUnitRunner.java
src/vogar/target/JUnit4Runner.java
src/vogar/target/MainRunner.java

javadoc correction
src/vogar/android/EnvironmentDevice.java
src/vogar/EnvironmentHost.java

Caliper revision 253
lib/caliper.jar

http://code.google.com/p/vogar/issues/detail?id=16



git-svn-id: http://vogar.googlecode.com/svn/trunk@194 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.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/src/vogar/Mode.java
dbd85addb4e44255c4296b82d3ca45ad33a56649 16-Oct-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Fixed activity mode. Vogar will use stdout/stderr by default, and a socket when that's not possible.

git-svn-id: http://vogar.googlecode.com/svn/trunk@179 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.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/src/vogar/Mode.java
d9085944c8b6d18628266347c59545abae03ab9c 13-Sep-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Adopt miniguice for dependency injection in vogar. This removes the awful amount of duplication previously necessary to initialize fields.

git-svn-id: http://vogar.googlecode.com/svn/trunk@154 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
c88c204e74ee26e8c1bc4fe7ca32c19037d98046 17-Aug-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Prepare the user dir before compiling. Otherwise if compile fails, the user dir will be `pwd` and the driver may attempt to recursively copy all of the Android build tree into ./vogar-results!

git-svn-id: http://vogar.googlecode.com/svn/trunk@145 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
3d3b04733da9c955d808fc18dc3e3ef9c46a8f92 09-Aug-2010 jsharpe@google.com <jsharpe@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Remove monitor timeout since monitor will terminate automatically if monitored process ends before monitoring begins.

git-svn-id: http://vogar.googlecode.com/svn/trunk@144 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
8a9cc00a0d2c02483690de28eabe2b60b5804538 03-Aug-2010 jsharpe@google.com <jsharpe@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Print native output if --native-output flag is set. This helps with valgrind. Currently no attempt is made to line up native output with non-native output, so a bit of work must be done by the user to figure out which native output corresponds to which non-native output.

git-svn-id: http://vogar.googlecode.com/svn/trunk@142 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
c68971a68a4f7fe5a58ca0f59161bb44fcf2833d 22-Jul-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Refactoring how monitors work to make custom monitors possible.

git-svn-id: http://vogar.googlecode.com/svn/trunk@136 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
969d5622a380e2f2f9ebdfbf7a22cbb3e031125b 22-Jul-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Move all Android-specific classes to their own package.

git-svn-id: http://vogar.googlecode.com/svn/trunk@133 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
d806c4c900e08bf04e07b5c564f2f61d8c490731 23-Jun-2010 jsharpe@google.com <jsharpe@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Add test history. Key additions:

* if a --results-dir is specified, compares current run against previous runs saved in that directory
* --record-results saves outcomes to a file-system database (given by --results-dir). Conceptually, this should be done only on the continous build machine, but I can imagine some local uses
* --tag now saves a history for that tag
* --compare-to-tag or --run-tag will compare against the history saved when the tag was created

git-svn-id: http://vogar.googlecode.com/svn/trunk@103 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
5884b0e6bc3eec46f4a374254626a14d128179fa 16-Jun-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Run tests in parallel whenever --no-stream is specified.

git-svn-id: http://vogar.googlecode.com/svn/trunk@90 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
00d4ce596c71916d975f6c8d967af53ab0a8f453 11-Jun-2010 jsharpe@google.com <jsharpe@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Address all of Jesse's comments with the exception of the comment about the use of an environment variable and path separators. That's for a separate change.

git-svn-id: http://vogar.googlecode.com/svn/trunk@86 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
3dafbce3b8d025f465ebf0a4c6d018c7dc31654e 04-Jun-2010 jsharpe@google.com <jsharpe@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Add a flag, --suggest-classpaths, that suggests jars to add to the classpath if Vogar fails due to missing classes. It does this by building a map of classes and packages to the jars in which they are contained, and then when it sees a failure like "package foo.bar does not exist" in the outcome it tells you a jar that you can add to the classpath to get it.

To find the jars, it looks at the directories in a colon-separated environment variable called VOGAR_JAR_PATH. I have mine set to <DALVIK ROOT>/out/target/common/obj/JAVA_LIBRARIES/, since this seems to be where most of the important jars are kept. Right now it only looks for jars called "classes.jar", but it's easy to extend it to look for other types of jars as well.

It takes a few seconds to build the index the first time you use it, but retrieves a cached version very quickly on subsequent runs. It rebuilds the cache daily unless you manually delete it (from ~/.vogar/classfileindex).

Example:

If you run:

vogar --suggest-classpaths <DALVIK ROOT>/libcore/luni/src/test/java/tests/sql/StatementTest.java

it will spit out:

"Warning: consider adding the following to the classpath:
<DALVIK ROOT>/out/target/common/obj/JAVA_LIBRARIES/sqlite-jdbc_intermediates/classes.jar"

I don't know how generally useful this is, but it's saved me quite a bit of time when trying to get tests to run properly.

git-svn-id: http://vogar.googlecode.com/svn/trunk@85 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
d296ba8af13d367b4a701ddeba405ee51caa05c1 19-May-2010 enh@google.com <enh@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> src/vogar/commands/AndroidSdk.java:
src/vogar/commands/Command.java:
src/vogar/Driver.java:
src/vogar/Mode.java:
src/vogar/target/CaliperRunner.java:
src/vogar/target/JUnitRunner.java:
src/vogar/target/MainRunner.java:
src/vogar/target/Runner.java:
src/vogar/target/TestRunner.java:
src/vogar/TestProperties.java:
src/vogar/Vogar.java: pass --timeout through to the JunitRunner. This isn't sufficient; try "~dalvik-prebuild/bin/run-harmony-tests --timeout 10 org.apache.harmony.nio_char.tests.java.nio.charset.AllTests tests.api.java.nio.charset.AllTests", for example. We still end up skipping a lot of tests, and when we time out, we get "Received bad XML from localhost:8787 org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.".


git-svn-id: http://vogar.googlecode.com/svn/trunk@62 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
a7a8fe1efa0fb3299d68709d60701a045bcc72f3 13-May-2010 jsharpe@google.com <jsharpe@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Add class analysis so that we no longer rely on file names to determine which type of test to run (e.g. junit, caliper, etc). This decision is also now made on the device side.

As a result cleaned up the RunnerSpec classes, which are no longer required.

git-svn-id: http://vogar.googlecode.com/svn/trunk@53 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
636ebdba32eef808d4d322180977ec849b400dd7 11-May-2010 jsharpe@google.com <jsharpe@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Add a new command line flag that allows specification of boot classpath. Also change JUnitRunner to use Class.forName to find runnable class.

git-svn-id: http://vogar.googlecode.com/svn/trunk@49 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
957bd524afd6837b003e9e9b82745ebc42d20ba0 05-May-2010 bdc@google.com <bdc@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> --java-home now used for tools such as javac (and cleanup of Mode constructor)



git-svn-id: http://vogar.googlecode.com/svn/trunk@45 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
87586e43e5f3315f7860330fbb1fa4d9ca910fde 04-May-2010 bdc@google.com <bdc@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Add --sourcepath option to vogar that is passed to javac after action specific sourcepath

git-svn-id: http://vogar.googlecode.com/svn/trunk@43 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
5be57c59daa39733d3d56888049a0b33d1901ede 26-Apr-2010 bdc@google.com <bdc@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Improve vogar's sourcepath computation for compiling actions

Action now has a sourcePath field which is supplied with compiling any sources for the action.

src/vogar/Action.java

Use the action's sourcepath, instead of just the parent directory of the Java file.

src/vogar/Mode.java

We now compute the sourcePath for NamingPatternRunnerSpec given
the class name and file path of the source. For example, given
luni/src/test/java/org/apache/harmony/luni/tests/java/util/ArrayListTest.java
and org.apache.harmony.luni.tests.java.util.ArrayListTest, the
source path is luni/src/test/java.

src/vogar/NamingPatternRunnerSpec.java

In the JtregSpec case, use the parent of the source as the sourcepath.

src/vogar/JtregSpec.java

In the case of running a class as an action, pass in null for sourcepath.

src/vogar/Driver.java



git-svn-id: http://vogar.googlecode.com/svn/trunk@28 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
027ca289d7c7b21501a9d14e69f10735033f57a0 25-Apr-2010 elliott.n.hughes@gmail.com <elliott.n.hughes@gmail.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> src/vogar/ActivityMode.java:
src/vogar/commands/AndroidSdk.java:
src/vogar/commands/Command.java:
src/vogar/Console.java:
src/vogar/DeviceDalvikVm.java:
src/vogar/Driver.java:
src/vogar/Environment.java:
src/vogar/ExpectationStore.java:
src/vogar/HostMonitor.java:
src/vogar/JtregSpec.java:
src/vogar/Md5Cache.java:
src/vogar/Mode.java:
src/vogar/Vogar.java: push all the use of java.util.logging into Console. This is a step towards fixing issue 7 (because we can now control streaming during a run), and issue 8 (because we now have more intention-revealing verbose output).


git-svn-id: http://vogar.googlecode.com/svn/trunk@22 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
e956c912fdab19b9cc806b47288048fca9121546 24-Apr-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Detect where the Android SDK is automagically.

Combine Aapt, Adb and Dx classes into one, AndroidSdk.

git-svn-id: http://vogar.googlecode.com/svn/trunk@16 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
eaeee9669aea02756899aa7709641dcf69744616 24-Apr-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Fixing caliper support in opensource. We no longer need classpaths for each spec.

git-svn-id: http://vogar.googlecode.com/svn/trunk@6 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
4ad9bd156094c84d8f6b56088855382ebe16cffc 24-Apr-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Fix activity mode in open source vogar:
- include a sample key
- copy it out to /tmp at runtime
- use jarsigner rather than signjar.jar


git-svn-id: http://vogar.googlecode.com/svn/trunk@5 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java
7850f3f3da0099b76f09ed64d23e0a43ba4a5c76 23-Apr-2010 jessewilson@google.com <jessewilson@google.com@aa685c63-decc-881d-cd2b-7fa72aad72e1> Initial checkin of vogar!


git-svn-id: http://vogar.googlecode.com/svn/trunk@2 aa685c63-decc-881d-cd2b-7fa72aad72e1
/external/vogar/src/vogar/Mode.java