blob: 88ac172d70fbc63589c90c8495f87080a4b0d45b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
Tasks
=====
* Test OptimisingTestSuite.sortTests
* Test switch
* Use setUpCost and tearDownCost in cost calculation
* Sort out naming & coding convention and write up in tree.
* Confirm license and copyright of dijkstra and priodict.
* Discuss copyright of Jonathan's contributions with Robert.
* Test exceptions being raised from make and clean
* Talk to bzrtools upstream (abentley) about the significant
backwards-compatibility-breaking changes.
Questions
=========
* Why does finishedWith take a parameter? Why not use
TestResource._currentResource?
* How should resources be composed?
* How can testresources be used with layers?
* How can testresources be used to *replace* layers?
Bugs
====
* Current traversal cost doesn't count the cost of setting up the initial set
of resources. Perhaps this could be worked around by including a transition
from 'no resources' in OptimisingTestSuite._getGraph?
From old todos in README:
* during graph calculation, create a fake root with cost-of-resource paths
to all resources, better than choosing an arbitrary node.
* Related: TestGraphStuff.testBasicSortTests is disabled due to intermittent
failure.
Ideas
=====
* Have a dumb equivalent of OptimisingTestSuite that doesn't do any sorting.
Rely on others to do the sorting first.
* Introduce timing hooks for better estimation of setUpCost and tearDownCost.
* Store timing information so that cost estimations can improve over time.
* Change the interface of TestResource so that make and clean are methods on
some *other* object, rather than methods to be overridden. This object could
well have the interface .setUp() and .tearDown()!
* Move ResourcedTestCase.setUpResources and tearDownResources to be methods.
* Change ResourcedTestCase.resources to a dict (currently a list of 2-tuples).
* There are now many simple test helpers. These can probably be consolidated.
* 'TestResource' isn't a very good name. Since the switch to instance-based
resources, it's even worse, since the objects are more like resource
factories or resource managers. Other possible names involve 'asset',
'liability' or 'fixture'.
|