Sat, 19 Apr 2014 23:19:23 -0700 run-tests: move HGTMP 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
Sat, 19 Apr 2014 23:15:24 -0700 run-tests: move TESTDIR 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.
Sat, 19 Apr 2014 23:07:17 -0700 run-tests: establish a class to hold testing 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
Sat, 19 Apr 2014 22:02:55 -0700 run-tests: refactor runone() into gettest() and scheduletests()
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().
Sat, 19 Apr 2014 21:53:15 -0700 run-tests: move computation of test paths into Test.__init__
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__
Sat, 19 Apr 2014 21:50:23 -0700 run-tests: move logging of test start into Test.run()
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()
Sat, 19 Apr 2014 21:21:57 -0700 run-tests: remove remaining uses of TestResult
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 21:21:57 -0700] rev 21336
run-tests: remove remaining uses of TestResult
Sat, 19 Apr 2014 21:17:39 -0700 run-tests: move output writing to Test.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 21:17:39 -0700] rev 21335
run-tests: move output writing to Test.run()
Sat, 19 Apr 2014 21:14:31 -0700 run-tests: move err file saving 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()
Sat, 19 Apr 2014 21:10:22 -0700 run-tests: emit exception failure result from 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()
Sat, 19 Apr 2014 21:08:03 -0700 run-tests: move test name filter to 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()
Sat, 19 Apr 2014 21:05:50 -0700 run-tests: move keyword processing into 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()
Sat, 19 Apr 2014 21:04:08 -0700 run-tests: move retesting result to 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()
Sat, 19 Apr 2014 21:02:51 -0700 run-tests: move blacklist skipping 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()
Sat, 19 Apr 2014 21:00:24 -0700 run-tests: check for test file existence in 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.
Sat, 19 Apr 2014 20:53:45 -0700 run-tests: move remaining result processing to Test.run()
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()
Sat, 19 Apr 2014 20:52:58 -0700 run-tests: move output difference 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()
Sat, 19 Apr 2014 20:48:16 -0700 run-tests: generate timeout result in 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()
Sat, 19 Apr 2014 20:47:14 -0700 run-tests: add skip processing to Test
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 20:47:14 -0700] rev 21324
run-tests: add skip processing to Test
Sat, 19 Apr 2014 20:41:08 -0700 run-tests: move fail() into 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.
Sat, 19 Apr 2014 20:35:54 -0700 run-tests: move success() into Test
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 20:35:54 -0700] rev 21322
run-tests: move success() into Test
Sat, 19 Apr 2014 20:32:38 -0700 run-tests: move err path handling to 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
Sat, 19 Apr 2014 20:27:18 -0700 run-tests: handle interrupted in Test.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 20:27:18 -0700] rev 21320
run-tests: handle interrupted in Test.run()
Sat, 19 Apr 2014 20:22:32 -0700 run-tests: kill daemons during Test.cleanup()
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().
Sat, 19 Apr 2014 18:50:40 -0700 run-tests: capture reference output in Test.__init__
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.
Sat, 19 Apr 2014 16:14:30 -0700 run-tests: make globmatch a static method of TTest
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
Sat, 19 Apr 2014 16:13:02 -0700 run-tests: make rematch 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
Sat, 19 Apr 2014 16:11:49 -0700 run-tests: make linematch 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.
Sat, 19 Apr 2014 15:37:50 -0700 run-tests: finish moving tsttest() into TTest
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 15:37:50 -0700] rev 21314
run-tests: finish moving tsttest() into TTest
Sat, 19 Apr 2014 15:28:31 -0700 run-tests: move t test execution from tsttest() to TTest.run()
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.
Sat, 19 Apr 2014 15:19:28 -0700 run-tests: move t test parsing into its own function
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.
Sat, 19 Apr 2014 14:54:04 -0700 run-tests: roll pytest() into PythonTest._run()
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.
Sat, 19 Apr 2014 14:51:43 -0700 run-tests: remove threadtmp in Test.cleanup()
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.
Sat, 19 Apr 2014 14:47:34 -0700 run-tests: allow Test.run() to run multiple times
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.
Sat, 19 Apr 2014 14:09:46 -0700 run-tests: capture reference output in TestResult class
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 14:09:46 -0700] rev 21308
run-tests: capture reference output in TestResult class
Sat, 19 Apr 2014 14:01:18 -0700 run-tests: give TestResult a skipped attribute
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 14:01:18 -0700] rev 21307
run-tests: give TestResult a skipped attribute
Sat, 19 Apr 2014 18:31:22 -0700 run-tests: pass TestResult into run()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 18:31:22 -0700] rev 21306
run-tests: pass TestResult into run()
Sat, 19 Apr 2014 13:50:25 -0700 run-tests: capture execution results in a TestResult class
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().
Sat, 19 Apr 2014 13:29:26 -0700 run-tests: clean up temp directory variables
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.
Sat, 19 Apr 2014 13:26:12 -0700 run-tests: move env into Test
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.
Sat, 19 Apr 2014 13:22:52 -0700 run-tests: move killdaemons into Test.run()
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.
Sat, 19 Apr 2014 13:18:55 -0700 run-tests: move replacements and port management 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.
Sat, 19 Apr 2014 13:11:49 -0700 run-tests: move createhgrc() call into Test.run()
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.
Sat, 19 Apr 2014 13:07:05 -0700 run-tests: move createenv() into Test
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.
Sat, 19 Apr 2014 13:03:24 -0700 run-tests: move replacements generation into Test
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.
Sat, 19 Apr 2014 12:54:09 -0700 run-tests: move testtmp into Test class
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.
Sat, 19 Apr 2014 12:26:34 -0700 run-tests: create classes for representing tests
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Apr 2014 12:26:34 -0700] rev 21296
run-tests: create classes for representing tests Currently, the state for an individual test is scattered across a number of functions and variables. This patch begins a process of isolating a single test's state into instances of a class. It does this by establishing a new Test base class and child classes for Python tests and T tests. The class currently has a run() API that proxies into the existing "runner" functions. Upcoming patches will move the logic for each test type into the class.
Wed, 30 Apr 2014 18:40:20 -0700 revsetbenchmark: add `author(mpm) or author(lmoscovicz)` to the canonical list
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Apr 2014 18:40:20 -0700] rev 21295
revsetbenchmark: add `author(mpm) or author(lmoscovicz)` to the canonical list This matters as `author(mpm)` have a lot of matches evenly split in the repo, while `author(lmoscoviz)` have less match (and later). This changes the execution path of the "or" operator a lot.
Tue, 13 May 2014 19:29:45 -0500 filterpyflakes: filter WindowsError unconditionally
Matt Mackall <mpm@selenic.com> [Tue, 13 May 2014 19:29:45 -0500] rev 21294
filterpyflakes: filter WindowsError unconditionally
Tue, 13 May 2014 19:22:40 -0500 filterpyflakes: make memoryview filtering unconditional
Matt Mackall <mpm@selenic.com> [Tue, 13 May 2014 19:22:40 -0500] rev 21293
filterpyflakes: make memoryview filtering unconditional
Tue, 13 May 2014 15:22:36 -0500 py3kcompat: drop unused export
Matt Mackall <mpm@selenic.com> [Tue, 13 May 2014 15:22:36 -0500] rev 21292
py3kcompat: drop unused export
Sat, 10 May 2014 15:22:04 -0700 py3kcompat: don't convert os.environ to bytes
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 10 May 2014 15:22:04 -0700] rev 21291
py3kcompat: don't convert os.environ to bytes os.environ accepts str not bytes. Assigning bytes will result in a run-time error.
Sat, 10 May 2014 14:57:25 -0700 demandimport: pass proper level to __import__ in Python 3
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 10 May 2014 14:57:25 -0700] rev 21290
demandimport: pass proper level to __import__ in Python 3 demandimport was failing in Python 3 with a ValueError because __import__'s level=-1 has gone away (-1 means to try both relative and absolute imports and relative imports don't exist in Python 3). With this patch, demandimport still doesn't work in Python 3 (it fails when importing a non-package module).
Wed, 16 Apr 2014 19:55:40 -0400 help: suggest keyword search when no topic is found
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 16 Apr 2014 19:55:40 -0400] rev 21289
help: suggest keyword search when no topic is found When `hg help foobar` fails, it now suggests using `hg help --keyword foobar` instead of printing a full page of basic commands. This should greatly increases discoverability of the `hg help --keyword` argument.
Wed, 16 Apr 2014 20:01:03 -0400 help: provide a more helpful message when no keyword are matched
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 16 Apr 2014 20:01:03 -0400] rev 21288
help: provide a more helpful message when no keyword are matched Before this changeset, when no topic were matching the provided keyword ( in command such as `hg help --keyword babar`) the output was empty. This is confusing and unhelpful for new users seeking assistance in the help. We now display: $ hg help --keyword babar abort: no matches (try "hg help" for a list of topics) This send users in a new direction where they may find what they are looking for.
Tue, 29 Apr 2014 11:40:42 -0700 revsetbenchmark: use optparse to retrieve argument
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 29 Apr 2014 11:40:42 -0700] rev 21287
revsetbenchmark: use optparse to retrieve argument We need more flexibility. For example we'll want to run the benchmark on other repository.
Fri, 25 Apr 2014 13:35:31 -0700 revsetbenchmark: add a usage message when no arguments are passed
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 25 Apr 2014 13:35:31 -0700] rev 21286
revsetbenchmark: add a usage message when no arguments are passed This increase the odd someone who didn't wrote will it find out how to use this script.
Tue, 29 Apr 2014 19:15:36 -0700 revsetbenchmark: add `::tip and draft()` to the canonical list
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 29 Apr 2014 19:15:36 -0700] rev 21285
revsetbenchmark: add `::tip and draft()` to the canonical list The want to test element on different side of the iterators.
Mon, 28 Apr 2014 15:14:11 -0700 revset: cosmetic changes in spanset range comparison
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 28 Apr 2014 15:14:11 -0700] rev 21284
revset: cosmetic changes in spanset range comparison We use the python syntax for range comparison: `a < x < c`. This is shorter, more readable and less error prone. This comparison escaped the cleanup make in e2031c8ca4f8
Fri, 25 Apr 2014 23:38:24 -0700 revset: drop spanset._contained
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 25 Apr 2014 23:38:24 -0700] rev 21283
revset: drop spanset._contained All its users inlined it for performance reasons. (See 1d7a2771aa36 and e2031c8ca4f8)
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 +30000 tip