auser-poolparty 0.2.71 → 0.2.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +3 -0
- data/Manifest.txt +38 -81
- data/PostInstall.txt +1 -1
- data/README.txt +1 -0
- data/lib/erlang/messenger/Makefile +15 -0
- data/lib/erlang/messenger/lib/eunit/Makefile +28 -0
- data/lib/erlang/messenger/lib/eunit/ebin/autoload.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/code_monitor.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_autoexport.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_data.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_lib.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_proc.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_serial.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_server.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_striptests.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_test.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_tests.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_tty.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/file_monitor.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/src/Makefile +46 -0
- data/lib/poolparty/dependency_resolutions/puppet.rb +1 -0
- data/lib/poolparty/modules/resourcing_dsl.rb +5 -5
- data/lib/poolparty/plugins/deploydirectory.rb +1 -1
- data/lib/poolparty/pool/resource.rb +12 -3
- data/lib/poolparty/spec/core/string.rb +8 -2
- data/lib/poolparty/spec/matchers/a_spec_extensions_base.rb +3 -1
- data/lib/poolparty/spec/matchers/have_deploydirectory.rb +11 -11
- data/lib/poolparty/spec/matchers/have_gempackage.rb +1 -1
- data/lib/poolparty/version.rb +1 -1
- data/lib/poolpartyspec.rb +1 -3
- data/poolparty.gemspec +44 -87
- data/spec/poolparty/plugins/deploydirectory_spec.rb +1 -0
- data/spec/poolparty/pool/resource_spec.rb +13 -0
- data/spec/poolparty/spec/core/string_spec.rb +57 -0
- data/website/index.html +2 -2
- metadata +43 -86
- data/lib/erlang/messenger/lib/eunit/.svn/all-wcprops +0 -53
- data/lib/erlang/messenger/lib/eunit/.svn/entries +0 -140
- data/lib/erlang/messenger/lib/eunit/.svn/format +0 -1
- data/lib/erlang/messenger/lib/eunit/.svn/prop-base/NOTES.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/AUTHORS.svn-base +0 -2
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/CHANGELOG.svn-base +0 -14
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/COPYING.svn-base +0 -504
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/NOTES.svn-base +0 -276
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/README.svn-base +0 -3
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/sys.config.svn-base +0 -9
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/vsn.mk.svn-base +0 -1
- data/lib/erlang/messenger/lib/eunit/doc/.svn/all-wcprops +0 -59
- data/lib/erlang/messenger/lib/eunit/doc/.svn/entries +0 -142
- data/lib/erlang/messenger/lib/eunit/doc/.svn/format +0 -1
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/erlang.png.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/eunit.html.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/index.html.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/modules-frame.html.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/overview-summary.html.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/packages-frame.html.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/edoc-info.svn-base +0 -3
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/erlang.png.svn-base +0 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/eunit.html.svn-base +0 -172
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/index.html.svn-base +0 -17
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/modules-frame.html.svn-base +0 -12
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview-summary.html.svn-base +0 -984
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview.edoc.svn-base +0 -980
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/packages-frame.html.svn-base +0 -11
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/stylesheet.css.svn-base +0 -55
- data/lib/erlang/messenger/lib/eunit/ebin/.svn/all-wcprops +0 -5
- data/lib/erlang/messenger/lib/eunit/ebin/.svn/dir-prop-base +0 -8
- data/lib/erlang/messenger/lib/eunit/ebin/.svn/entries +0 -28
- data/lib/erlang/messenger/lib/eunit/ebin/.svn/format +0 -1
- data/lib/erlang/messenger/lib/eunit/examples/.svn/all-wcprops +0 -23
- data/lib/erlang/messenger/lib/eunit/examples/.svn/entries +0 -66
- data/lib/erlang/messenger/lib/eunit/examples/.svn/format +0 -1
- data/lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/eunit_examples.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/fib.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/eunit_examples.erl.svn-base +0 -339
- data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/fib.erl.svn-base +0 -19
- data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/tests.txt.svn-base +0 -1
- data/lib/erlang/messenger/lib/eunit/include/.svn/all-wcprops +0 -11
- data/lib/erlang/messenger/lib/eunit/include/.svn/entries +0 -41
- data/lib/erlang/messenger/lib/eunit/include/.svn/format +0 -1
- data/lib/erlang/messenger/lib/eunit/include/.svn/prop-base/eunit.hrl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/include/.svn/text-base/eunit.hrl.svn-base +0 -313
- data/lib/erlang/messenger/lib/eunit/src/.svn/all-wcprops +0 -113
- data/lib/erlang/messenger/lib/eunit/src/.svn/entries +0 -259
- data/lib/erlang/messenger/lib/eunit/src/.svn/format +0 -1
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/autoload.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/code_monitor.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_autoexport.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_data.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_internal.hrl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_lib.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_proc.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_serial.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_server.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_striptests.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_test.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tests.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tty.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/file_monitor.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/autoload.erl.svn-base +0 -388
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/code_monitor.erl.svn-base +0 -243
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.app.src.svn-base +0 -21
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.appup.src.svn-base +0 -1
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.erl.svn-base +0 -196
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_autoexport.erl.svn-base +0 -102
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_data.erl.svn-base +0 -798
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_internal.hrl.svn-base +0 -48
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_lib.erl.svn-base +0 -682
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_proc.erl.svn-base +0 -552
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_serial.erl.svn-base +0 -157
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_server.erl.svn-base +0 -340
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_striptests.erl.svn-base +0 -64
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_test.erl.svn-base +0 -334
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tests.erl.svn-base +0 -45
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tty.erl.svn-base +0 -272
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/file_monitor.erl.svn-base +0 -409
@@ -1,276 +0,0 @@
|
|
1
|
-
|
2
|
-
EUnit Developer notebook
|
3
|
-
========================
|
4
|
-
|
5
|
-
Concepts and features
|
6
|
-
---------------------
|
7
|
-
|
8
|
-
- Separation of tests and test runners (different ways of reporting)
|
9
|
-
|
10
|
-
* Tests are represented by data structures
|
11
|
-
* Traversal and execution are separated
|
12
|
-
* TODO: Cannot enumerate all tests in advance for really large sets
|
13
|
-
|
14
|
-
- Test engine as a producer/iterator: run next, step back, repeat...
|
15
|
-
|
16
|
-
* Iterators working (reverse/single stepping currently not used)
|
17
|
-
* TODO: Need to be able to stop after N failures
|
18
|
-
|
19
|
-
- Test module - a container (as in 'eunit:run(M)'); automatic test collection
|
20
|
-
|
21
|
-
* Works; a module name can be used to represent its set of tests.
|
22
|
-
|
23
|
-
- Single tests (exported nullary functions, to be called directly)
|
24
|
-
|
25
|
-
* Works; has drawbacks (no comments, context, or order, many
|
26
|
-
functions)
|
27
|
-
|
28
|
-
- Abstraction of tests, for reuse
|
29
|
-
|
30
|
-
* Tests are just nullary funs; this is both simple and powerful
|
31
|
-
* You can use 'fun name/arity' or 'fun module:name/arity' for sharing code
|
32
|
-
* Generator functions are used to create specialized test funs
|
33
|
-
|
34
|
-
- Executing a test by calling directly should have observable
|
35
|
-
failure/success, and tests should not in themselves output test
|
36
|
-
results to console or otherwise
|
37
|
-
|
38
|
-
* Tests succeed by returning properly (any return value)
|
39
|
-
* Tests fail by throwing an exception (any exception)
|
40
|
-
|
41
|
-
- It should be possible to run single tests without eunit runtime support
|
42
|
-
|
43
|
-
* Just apply a test function to an empty argument list and see if it
|
44
|
-
throws an exception or not
|
45
|
-
* More complex test representations (grouping, setup/teardown etc.)
|
46
|
-
need eunit support functions
|
47
|
-
|
48
|
-
- It should be possible to write tests without requiring eunit headers
|
49
|
-
|
50
|
-
* Using plain tuples, funs, atoms, and lists to represent tests; not
|
51
|
-
more difficult, just less convenient.
|
52
|
-
|
53
|
-
- Tests are identified by: module/sourcefile, test function name, and
|
54
|
-
line number (if available)
|
55
|
-
|
56
|
-
* This is also used in listings of test sets
|
57
|
-
* Funs have useful metadata, which allows most of the identifying
|
58
|
-
info to be extracted automatically
|
59
|
-
|
60
|
-
- Test functions must be identified as either directly callable or as
|
61
|
-
returning one or more test representations (the latter is referred to
|
62
|
-
as a "generator"). We cannot just try to call any function and check
|
63
|
-
the result - it would not be possible to _collect_ tests without
|
64
|
-
accidentally _executing_ tests in that case. So, the simplest form of
|
65
|
-
test generator function should return a nullary fun. This can be
|
66
|
-
tested directly and easily by a user.
|
67
|
-
|
68
|
-
* Using a '_test_' suffix (as opposed to a '_test' suffix) for test
|
69
|
-
generator functions (that return test *representations*) is a good
|
70
|
-
idea, since it makes it easy to accomodate both styles of writing
|
71
|
-
tests, does not break existing code, allows both types of functions
|
72
|
-
to be automatically detected, and makes it easy to write wrapper
|
73
|
-
functions. The underscore just before the opening parenthesis makes
|
74
|
-
it more visible than most other variants.
|
75
|
-
|
76
|
-
- Conditional compilation of test code
|
77
|
-
|
78
|
-
* Defining the NOTEST macro is used to disable testing code; this is
|
79
|
-
used by all the eunit header files.
|
80
|
-
* Testing can be disabled by default by including eunit_off.hrl
|
81
|
-
instead of eunit.hrl, or before any other eunit header file; then,
|
82
|
-
defining the TEST macro externally will enable the testing code.
|
83
|
-
The same effect is achieved by defining NOTEST before including
|
84
|
-
eunit.hrl or any other eunit header file, but using eunit_off.hrl
|
85
|
-
is always independent of the actual macro name used for control.
|
86
|
-
|
87
|
-
- Exporting test functions manually is annoying and easy to forget
|
88
|
-
- Decorating a normal module with common eunit entry functions
|
89
|
-
|
90
|
-
* Including eunit.hrl inserts a parse transform (unless NOTEST or
|
91
|
-
EUNIT_NOAUTO is defined) which automatically exports functions
|
92
|
-
identified as test functions with the proper suffixes and arity,
|
93
|
-
and adds a test/0 function to the module (unless it exists).
|
94
|
-
|
95
|
-
- Label of a single test
|
96
|
-
|
97
|
-
* {"...", Test}, also works for groups.
|
98
|
-
|
99
|
-
- Context of a single test; set up and tear down of context; multiple
|
100
|
-
tests within same context (single set up/tear down)
|
101
|
-
|
102
|
-
* {setup, Setup, Teardown, Generator}
|
103
|
-
* {setup, Setup, Generator} works as a simple let-binding
|
104
|
-
|
105
|
-
- Multiple tests using same context (individual set up/tear down)
|
106
|
-
|
107
|
-
* {foreach, Setup, Teardown, [Generator]}
|
108
|
-
{foreach1, Setup, Teardown, [{Arg, Generator}]}
|
109
|
-
|
110
|
-
- Aggregation of tests in an order-dependent sequence; aggregation of
|
111
|
-
tests in explicitly parallel sets
|
112
|
-
|
113
|
-
* {inorder, T} | {inparallel, T}
|
114
|
-
|
115
|
-
- Aggregation of tests in unspecified-order sets
|
116
|
-
|
117
|
-
* Deep lists represent generic test sets
|
118
|
-
|
119
|
-
- Test suites: label of a test suite, composition of test suites
|
120
|
-
|
121
|
-
* Deep lists and {"label", DeepList} work fine for this purpose
|
122
|
-
|
123
|
-
- Defining test suites without modifying code or creating new modules.
|
124
|
-
|
125
|
-
* This does not create new tests - just select specific modules or
|
126
|
-
functions. If there is need for expressiveness beyond a simple list
|
127
|
-
of constant terms (no funs), it should be put in a module. Hence, a
|
128
|
-
facility for "consulting" files should be sufficient.
|
129
|
-
* Works (simply writing "filename" or {file, "filename"}).
|
130
|
-
|
131
|
-
- Extra header files for better macro namespace separation (eunit_...)
|
132
|
-
|
133
|
-
* Seems to be overkill - the leading underscore in the normal macros
|
134
|
-
lessens the need for such double definitions
|
135
|
-
|
136
|
-
- Running tests in parallel
|
137
|
-
|
138
|
-
* Works (also running N tests at a time)
|
139
|
-
* TODO: Restructure to start new job as soon as slot is available
|
140
|
-
|
141
|
-
- Running a test or set of tests in a new process (like setup/teardown)
|
142
|
-
|
143
|
-
* Works
|
144
|
-
|
145
|
-
- Running tests on a separate (existing) node
|
146
|
-
|
147
|
-
* Implemented as {spawn, Node, Tests}: assuming a specific node
|
148
|
-
exists, run a set of tests on that node, rather than locally, the
|
149
|
-
main idea being that a number of test sets could be run in parallel
|
150
|
-
on separate machines (and maybe none are run locally)
|
151
|
-
|
152
|
-
- Running OS commands, testing output and result values
|
153
|
-
|
154
|
-
* Works; output is normalized to LF only for linebreaks on all platforms
|
155
|
-
* TODO: Better Windows support (not much tested)
|
156
|
-
* TODO: Is it possible to capture stderr separately somehow?
|
157
|
-
|
158
|
-
- Starting one or more additional nodes to run tests or suites on
|
159
|
-
|
160
|
-
* {node, foo@bar.baz, Instantiator}
|
161
|
-
* {node, foo, Instantiator}
|
162
|
-
|
163
|
-
- Whole-application testing (using .app files?)
|
164
|
-
|
165
|
-
* {application, AppName}
|
166
|
-
* {file, AppFile}
|
167
|
-
|
168
|
-
- Identification of tests within a test set (e.g., which succeeded,
|
169
|
-
which failed, repeating selected tests or groups of tests, etc.)
|
170
|
-
|
171
|
-
* The numbering scheme in listings take care of this point
|
172
|
-
|
173
|
-
- Running EUnit from command line, as a standalone tool
|
174
|
-
|
175
|
-
* TODO: Command line interface similar to that of edoc
|
176
|
-
|
177
|
-
- Open source (licensed under the GNU Lesser General Public Licence)
|
178
|
-
|
179
|
-
* Header files can be used without tainting, according to LGPL
|
180
|
-
|
181
|
-
- Marking tests as known failures, for handling known bugs
|
182
|
-
|
183
|
-
* TODO: Known-failure is necessary to avoid writing "inverted-logic" tests
|
184
|
-
* TODO: Is it possible to handle known timout/setup failures?
|
185
|
-
|
186
|
-
- Diagnostic tests which never fail, but may cause warnings
|
187
|
-
|
188
|
-
Assorted notes which may or may not be useful, e.g. for documentation
|
189
|
-
---------------------------------------------------------------------
|
190
|
-
|
191
|
-
Tests for exported functions of a module should preferably be in a
|
192
|
-
separate module. This is good in many ways, but mainly boils down to
|
193
|
-
that modifying test code should not have to imply modifying source code,
|
194
|
-
and vice versa. At the same time, it should be possible for a module to
|
195
|
-
export test functions for private functions, and to have these tests
|
196
|
-
conditionally compiled (use -ifdef(EUNIT) or -ifdef(TEST) for this).
|
197
|
-
|
198
|
-
Pyunit uses 'failIf' and 'failUnless' as standard test names, and
|
199
|
-
'assert' as a synonym for 'failUnless'. I have settled on 'assert' and
|
200
|
-
'assertNot' as the standard names. Maybe I'll add 'failUnless' and
|
201
|
-
'failIf' as synonyms, if users ask for it.
|
202
|
-
|
203
|
-
Junit/Pyunit get a lot of context embedding for free due to the object
|
204
|
-
oriented languages (using class members and inheritance); in Erlang,
|
205
|
-
context must be passed to tests as arguments or through local variable
|
206
|
-
bindings if there are multiple tests within a function clause. This is
|
207
|
-
particularly important for reuse of tests with small variations. To be
|
208
|
-
able to instantiate the environment of a set of tests when executing a
|
209
|
-
setup, the setup must be a function which returns the test set and the
|
210
|
-
cleanup function.
|
211
|
-
|
212
|
-
A list of tests represents an order-independent set. Usually, the tests
|
213
|
-
will be run in order, but it is not required and tests may also be
|
214
|
-
executed in parallel if they are included in an 'inparallel'-context.
|
215
|
-
Labeling a set of tests does not change its meaning in any way.
|
216
|
-
|
217
|
-
Wrapping a set of tests in a 'setup' implies that the setup is executed,
|
218
|
-
then _all_ the tests (those returned by the generator fun) are executed,
|
219
|
-
and finally the cleanup is executed regardless of whether any tests
|
220
|
-
failed or not. If the setup itself failed, the whole test set _and_ the
|
221
|
-
cleanup is skipped (there is no setup-result that can be passed to the
|
222
|
-
cleanup).
|
223
|
-
|
224
|
-
Wrapping a (deep) list of generators in a 'foreach' is equivalent to
|
225
|
-
wrapping each individual generator in the list in a corresponding
|
226
|
-
'setup', regardless of nesting depth. E.g., foreach(a, [foreach(b, [t1,
|
227
|
-
t2]), foreach(c, [t3, t4])]) is equivalent to [setup(a, setup(b, t1)),
|
228
|
-
setup(a, setup(b, t2)), setup(a, setup(c, t3)), setup(a, setup(c, t4))].
|
229
|
-
Note that 'foreach' does not distribute over 'setup', since the nesting
|
230
|
-
level of 'setup' must be preserved.
|
231
|
-
|
232
|
-
While a plain 'foreach' can be done over any set of generators, a
|
233
|
-
'foreach1' requires that there is a pairing of argument+generator for
|
234
|
-
each element.
|
235
|
-
|
236
|
-
See the file eunit_data.erl for a description of test representations.
|
237
|
-
|
238
|
-
Lists of tests/generators/arg-generator-pairs can all be deep, but every
|
239
|
-
sublist must be a proper list, i.e., nil-terminated.
|
240
|
-
|
241
|
-
Test Set Traversal Operations (traversal only - no execution here):
|
242
|
-
|
243
|
-
Init: create iterator from test representation.
|
244
|
-
Next: the most common operation - get the next test or group
|
245
|
-
Previous: step back to the previous operation (in the group)
|
246
|
-
Enter: enter a group, executing any side effects
|
247
|
-
Browse: enter a group without triggering side effects
|
248
|
-
Up: leave the current group
|
249
|
-
|
250
|
-
Problem: cannot browse a 'setup'-group unless you are able to instantiate
|
251
|
-
the generator fun, and to do that you either need the actual result from
|
252
|
-
the 'setup' fun, or you need to know if the generator fun expects an
|
253
|
-
argument matching a certain pattern, such as a 3-tuple. You could then
|
254
|
-
pass dummy values such as 'undefined' for the components, since they
|
255
|
-
will not be used unless you try to run one of the instantiated tests or
|
256
|
-
a setup fun of a subgroup.
|
257
|
-
|
258
|
-
If there was never a fun that returned a list of tests, but only funs
|
259
|
-
around single tests, it would be simple - just don't apply any funs
|
260
|
-
while traversing. But then it would be necessary to wrap each test
|
261
|
-
within a 'setup' in its own generator fun, which would be a pain, and it
|
262
|
-
would not be possible to nest 'setup' groups in an easy way (variables
|
263
|
-
bound in the outer group would have to be explicitly passed to the
|
264
|
-
generator funs in the inner group, using manual closure conversion). This
|
265
|
-
is simply not tolerable. So, dummy value instantiation is the only way
|
266
|
-
to go, if it should be possible at all to browse test groups without
|
267
|
-
executing setup/cleanup funs.
|
268
|
-
|
269
|
-
Solution: a 'browser' function that tries to pass variants of dummy
|
270
|
-
values to a fun until it either succeeds or fails with some other error
|
271
|
-
than 'fun_clause'. This has been implemented and is the basis of the
|
272
|
-
test listing function.
|
273
|
-
|
274
|
-
When a setup-group is being browsed, its tests cannot be executed (since
|
275
|
-
they are instantiated with dummy values), and its subgroups can only be
|
276
|
-
further Browsed, not Entered, for the same reason.
|
@@ -1 +0,0 @@
|
|
1
|
-
EUNIT_VSN = 2.0 beta 1
|
@@ -1,59 +0,0 @@
|
|
1
|
-
K 25
|
2
|
-
svn:wc:ra_dav:version-url
|
3
|
-
V 38
|
4
|
-
/contribs/!svn/ver/263/trunk/eunit/doc
|
5
|
-
END
|
6
|
-
overview.edoc
|
7
|
-
K 25
|
8
|
-
svn:wc:ra_dav:version-url
|
9
|
-
V 52
|
10
|
-
/contribs/!svn/ver/263/trunk/eunit/doc/overview.edoc
|
11
|
-
END
|
12
|
-
stylesheet.css
|
13
|
-
K 25
|
14
|
-
svn:wc:ra_dav:version-url
|
15
|
-
V 53
|
16
|
-
/contribs/!svn/ver/172/trunk/eunit/doc/stylesheet.css
|
17
|
-
END
|
18
|
-
edoc-info
|
19
|
-
K 25
|
20
|
-
svn:wc:ra_dav:version-url
|
21
|
-
V 48
|
22
|
-
/contribs/!svn/ver/172/trunk/eunit/doc/edoc-info
|
23
|
-
END
|
24
|
-
modules-frame.html
|
25
|
-
K 25
|
26
|
-
svn:wc:ra_dav:version-url
|
27
|
-
V 57
|
28
|
-
/contribs/!svn/ver/219/trunk/eunit/doc/modules-frame.html
|
29
|
-
END
|
30
|
-
overview-summary.html
|
31
|
-
K 25
|
32
|
-
svn:wc:ra_dav:version-url
|
33
|
-
V 60
|
34
|
-
/contribs/!svn/ver/263/trunk/eunit/doc/overview-summary.html
|
35
|
-
END
|
36
|
-
eunit.html
|
37
|
-
K 25
|
38
|
-
svn:wc:ra_dav:version-url
|
39
|
-
V 49
|
40
|
-
/contribs/!svn/ver/263/trunk/eunit/doc/eunit.html
|
41
|
-
END
|
42
|
-
packages-frame.html
|
43
|
-
K 25
|
44
|
-
svn:wc:ra_dav:version-url
|
45
|
-
V 58
|
46
|
-
/contribs/!svn/ver/219/trunk/eunit/doc/packages-frame.html
|
47
|
-
END
|
48
|
-
index.html
|
49
|
-
K 25
|
50
|
-
svn:wc:ra_dav:version-url
|
51
|
-
V 49
|
52
|
-
/contribs/!svn/ver/219/trunk/eunit/doc/index.html
|
53
|
-
END
|
54
|
-
erlang.png
|
55
|
-
K 25
|
56
|
-
svn:wc:ra_dav:version-url
|
57
|
-
V 49
|
58
|
-
/contribs/!svn/ver/219/trunk/eunit/doc/erlang.png
|
59
|
-
END
|
@@ -1,142 +0,0 @@
|
|
1
|
-
8
|
2
|
-
|
3
|
-
dir
|
4
|
-
263
|
5
|
-
http://svn.process-one.net/contribs/trunk/eunit/doc
|
6
|
-
http://svn.process-one.net/contribs
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
2008-10-12T12:17:56.811879Z
|
11
|
-
263
|
12
|
-
rcarlsson
|
13
|
-
|
14
|
-
|
15
|
-
svn:special svn:externals svn:needs-lock
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
5c723cce-c907-0410-9aa2-ab8348fff7a4
|
28
|
-
|
29
|
-
overview.edoc
|
30
|
-
file
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
2008-10-18T23:25:35.000000Z
|
36
|
-
af4447cd25c26312306f2f70586aa6fb
|
37
|
-
2008-10-12T12:17:56.811879Z
|
38
|
-
263
|
39
|
-
rcarlsson
|
40
|
-
|
41
|
-
stylesheet.css
|
42
|
-
file
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
2008-10-18T23:25:35.000000Z
|
48
|
-
6e11b8ef1d68117868228d9fd1e4fce9
|
49
|
-
2007-03-22T19:20:34.421238Z
|
50
|
-
172
|
51
|
-
rcarlsson
|
52
|
-
|
53
|
-
edoc-info
|
54
|
-
file
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
2008-10-18T23:25:35.000000Z
|
60
|
-
5ae38b5d072e0202af1bfbaf6aebd1ed
|
61
|
-
2007-03-22T19:20:34.421238Z
|
62
|
-
172
|
63
|
-
rcarlsson
|
64
|
-
|
65
|
-
modules-frame.html
|
66
|
-
file
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
2008-10-18T23:25:35.000000Z
|
72
|
-
c9d803b4b7cd0380b1f4a58786252366
|
73
|
-
2007-05-10T11:49:35.930693Z
|
74
|
-
219
|
75
|
-
rcarlsson
|
76
|
-
has-props
|
77
|
-
|
78
|
-
overview-summary.html
|
79
|
-
file
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
2008-10-18T23:25:35.000000Z
|
85
|
-
849e34a030ef1d2176958f6810feec4f
|
86
|
-
2008-10-12T12:17:56.811879Z
|
87
|
-
263
|
88
|
-
rcarlsson
|
89
|
-
has-props
|
90
|
-
|
91
|
-
eunit.html
|
92
|
-
file
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
2008-10-18T23:25:35.000000Z
|
98
|
-
7724288cbff17b29387d6f830d5a856a
|
99
|
-
2008-10-12T12:17:56.811879Z
|
100
|
-
263
|
101
|
-
rcarlsson
|
102
|
-
has-props
|
103
|
-
|
104
|
-
packages-frame.html
|
105
|
-
file
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
2008-10-18T23:25:35.000000Z
|
111
|
-
a720dd0c1a9a393f3ab4208082c2357b
|
112
|
-
2007-05-10T11:49:35.930693Z
|
113
|
-
219
|
114
|
-
rcarlsson
|
115
|
-
has-props
|
116
|
-
|
117
|
-
index.html
|
118
|
-
file
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
2008-10-18T23:25:35.000000Z
|
124
|
-
71189e0120cccc4749a4960b5dae52a2
|
125
|
-
2007-05-10T11:49:35.930693Z
|
126
|
-
219
|
127
|
-
rcarlsson
|
128
|
-
has-props
|
129
|
-
|
130
|
-
erlang.png
|
131
|
-
file
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
2008-10-18T23:25:35.000000Z
|
137
|
-
f6077f849b23033f1533877a2f236bd6
|
138
|
-
2007-05-10T11:49:35.930693Z
|
139
|
-
219
|
140
|
-
rcarlsson
|
141
|
-
has-props
|
142
|
-
|
@@ -1 +0,0 @@
|
|
1
|
-
8
|
Binary file
|