Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:49:23 -0700] rev 21356
run-tests: move outputcoverage() into TestRunner
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:47:59 -0700] rev 21355
run-tests: move outputtimes() into TestRunner
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:44:56 -0700] rev 21354
run-tests: move checkhglib into TestRunner
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:43:00 -0700] rev 21353
run-tests: move installhg() into TestRunner
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:39:38 -0700] rev 21352
run-tests: move createdfiles out of a global and into TestRunner
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:38:10 -0700] rev 21351
run-tests: move usecorrectpython() into TestRunner
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:35:27 -0700] rev 21350
run-tests: move cleanup() into TestRunner
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:33:44 -0700] rev 21349
run-tests: add options to runner
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:28:59 -0700] rev 21348
run-tests: add options to runner
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:27:11 -0700] rev 21347
run-tests: move COVERAGE_FILE out of a global
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:26:15 -0700] rev 21346
run-tests: move PYTHONDIR out of a global
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:24:39 -0700] rev 21345
run-tests: move TMPBINDIR out of a global
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:22:47 -0700] rev 21344
run-tests: move BINDIR out of a global
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:20:42 -0700] rev 21343
run-tests: move INST out of a global
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:19:23 -0700] rev 21342
run-tests: move HGTMP out of a global
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:15:24 -0700] rev 21341
run-tests: move TESTDIR out of a global
This patch starts the process of removing global variables from
run-tests.py. The goal of this is to make it easier to run tests
differently without having to concern yourself with global state.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 23:07:17 -0700] rev 21340
run-tests: establish a class to hold testing state
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 22:02:55 -0700] rev 21339
run-tests: refactor runone() into gettest() and scheduletests()
runone() has been removed. Replacing it are gettest() (which returns a
Test instance) and a small amount of boilerplate in scheduletests().
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 21:53:15 -0700] rev 21338
run-tests: move computation of test paths into Test.__init__
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 21:50:23 -0700] rev 21337
run-tests: move logging of test start into Test.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 21:21:57 -0700] rev 21336
run-tests: remove remaining uses of TestResult
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 21:17:39 -0700] rev 21335
run-tests: move output writing to Test.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 21:14:31 -0700] rev 21334
run-tests: move err file saving to Test.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 21:10:22 -0700] rev 21333
run-tests: emit exception failure result from Test.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 21:08:03 -0700] rev 21332
run-tests: move test name filter to Test.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 21:05:50 -0700] rev 21331
run-tests: move keyword processing into Test.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 21:04:08 -0700] rev 21330
run-tests: move retesting result to Test.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 21:02:51 -0700] rev 21329
run-tests: move blacklist skipping to Test.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 21:00:24 -0700] rev 21328
run-tests: check for test file existence in Test.run()
We delay this a little bit. But it shouldn't really matter when the
check is performed.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 20:53:45 -0700] rev 21327
run-tests: move remaining result processing to Test.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 20:52:58 -0700] rev 21326
run-tests: move output difference processing to Test.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 20:48:16 -0700] rev 21325
run-tests: generate timeout result in Test.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 20:47:14 -0700] rev 21324
run-tests: add skip processing to Test
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 20:41:08 -0700] rev 21323
run-tests: move fail() into Test
The code was changed slightly as part of the migration to make use of
appropriate variables and modern Python conventions.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 20:35:54 -0700] rev 21322
run-tests: move success() into Test
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 20:32:38 -0700] rev 21321
run-tests: move err path handling to Test
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 20:27:18 -0700] rev 21320
run-tests: handle interrupted in Test.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 20:22:32 -0700] rev 21319
run-tests: kill daemons during Test.cleanup()
As a safety precaution, we kill daemons in Test.cleanup(). This is
necessary for a subsequent patch that will reraise KeyboardInterrupt
before killdaemons() runs as part of run().
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 18:50:40 -0700] rev 21318
run-tests: capture reference output in Test.__init__
Reference output should be constant and doesn't need to be computed at
test execution time. We calculate it earlier.
This patch is the first in a mini series that will change how the
TestResult object works.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 16:14:30 -0700] rev 21317
run-tests: make globmatch a static method of TTest
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 16:13:02 -0700] rev 21316
run-tests: make rematch a static method of TTest
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 16:11:49 -0700] rev 21315
run-tests: make linematch a static method of TTest
linematch only applies to t tests. It makes sense to move everything t
test related to the TTest class.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 15:37:50 -0700] rev 21314
run-tests: finish moving tsttest() into TTest
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 15:28:31 -0700] rev 21313
run-tests: move t test execution from tsttest() to TTest.run()
After this patch, tsttest() only contains output/result processing.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 15:19:28 -0700] rev 21312
run-tests: move t test parsing into its own function
Test parsing is somewhat complicated. This patch extracts it into its
own function.
The impetus of this patch is folding tsttest() into the TTest class.
Subsequent patches will continue this work until tsttest() no longer
exists.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 14:54:04 -0700] rev 21311
run-tests: roll pytest() into PythonTest._run()
Python was the old runner function. It no longer needs to exist since
the PythonTest class took its job.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 14:51:43 -0700] rev 21310
run-tests: remove threadtmp in Test.cleanup()
threadtmp is an implementation detail. We move the cleanup of this
directory to Test.cleanup() and make the variable internal. The
cleanup function will eventually disappear into unittest machinery.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 14:47:34 -0700] rev 21309
run-tests: allow Test.run() to run multiple times
Test.run() can now be executed multiple times on the same Test instance.
This feature is currently unused and there are no plans to implement it.
The main reason for this work was to refactor testtmp, replacements, and
env to be run-time specific as opposed to Test instance specific.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 14:09:46 -0700] rev 21308
run-tests: capture reference output in TestResult class
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 14:01:18 -0700] rev 21307
run-tests: give TestResult a skipped attribute
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 18:31:22 -0700] rev 21306
run-tests: pass TestResult into run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 13:50:25 -0700] rev 21305
run-tests: capture execution results in a TestResult class
Some implementation details of test execution still live outside of
Test. These include determining what a result means and cleaning up
after the test.
To move to the world where more of this logic can live inside Test or a
derived object, the logic for test execution needs to be refactored.
Specifically, exception trapping and opportunities for result processing
need to be moved into Test.
This patch starts the process by establishing a TestResult class for
holding the results of a test execution. In order to actually use this
class, exception trapping and execution time recording needed to be
moved into Test.run().
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 13:29:26 -0700] rev 21304
run-tests: clean up temp directory variables
testtmp is an implementation detail. It didn't need to be exposed to the
world.
threadtmp is derived from count. It is now created as part of the
constructor and mostly hidden from the outside world.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 13:26:12 -0700] rev 21303
run-tests: move env into Test
Environment variables are an implementation detail of how tests are
executed. This patch moves environment variable logic into Test and
completely hides it from the outside.
With this patch, a Test can be executed with two lines: init + run().
Tests are still single-use and take a more arguments to the constructor
than likely necessary. These will get addressed in subsequent patches.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 13:22:52 -0700] rev 21302
run-tests: move killdaemons into Test.run()
killdaemons() was the only part of runone() looking at env variables. We
move killdaemons() into Test.run() to enable us to fully move env into
Test.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 13:18:55 -0700] rev 21301
run-tests: move replacements and port management into Test
replacements and ports are really implementation details of a Test. They
have been moved to instance variables.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 13:11:49 -0700] rev 21300
run-tests: move createhgrc() call into Test.run()
createhgrc() is an implementation detail of how tests are run. It makes
sense to move it into Test.run().
Note that this will cause the test execution time to include the
creation of hgrc. The author does not believe this is a significant
change worth worrying about.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 13:07:05 -0700] rev 21299
run-tests: move createenv() into Test
createenv() is consulting lots of test-specific variables. It makes
sense to attach it to the Test class.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 13:03:24 -0700] rev 21298
run-tests: move replacements generation into Test
The API is a bit funky. Things will look better once all state is
captured in Test.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 12:54:09 -0700] rev 21297
run-tests: move testtmp into Test class
This patch starts the process of moving test-specific variables into the
Test class. The ultimate goal is to be able to instantiate a Test with
minimal arguments and to call run() on it without too much thinking.
This will make it much easier to run tests from other contexts. It will
also enable things like running a test multiple times.