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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
|
NEWS for cmdtest
================
This file summarizes changes between releases of cmdtest.
Version 0.31, released 2017-04-30
----------------------------------
* Add yarnutil.Variables methods: save, append, get.
Version 0.30, released 2017-04-16
----------------------------------
* Fix check for whether Python is used a shell. Previously the shell
had to be exactly "python", not anything that contains that is
enough. This is necessary to trigger PYTHONPATH manipulation when
using python2 explicitly.
Version 0.29, released 2017-04-11
----------------------------------
* Add assertions and getting the next parameter match to `yarnutils`.
Version 0.28, released 2017-03-28
----------------------------------
* Output from `--timings` is now properly formatted, rather than it
all being on one line. Daniel Silverstone reported the bug.
* Add a new Python package `yarnutils` that can be imported into
IMPLEMENTS written in Python to simplify things. This version
provided persistent variables.
Version 0.27, released 2016-09-21
----------------------------------
* Debian packaging now provides the name `yarn` in addition to
`cmdtest`.
* Fixed bug in writing out error messages that are not ASCII.
Version 0.26, released 2016-07-23
----------------------------------
* Debian packaging fix to correct section. Thanks, Ben Finney.
Version 0.25, released 2016-07-18
----------------------------------
* Fixed yarn manual page examples to say `DATADIR` instead of
`TESTDIR`. Thanks to John Kozak for reporting it.
Version 0.24, released 2016-04-18
----------------------------------
* Fixed missing import.
Version 0.23, released 2016-04-18
---------------------------------
* Yarn now has the `--stop-on-first-fail` setting, which makes it stop
if a scenario step fails, and not continue with the next scenario.
* Yarn now adds SRCDIR to PYTHONPATH, if `--shell=python` is used.
Version 0.22, released 2016-02-04
---------------------------------
* Explicitly encode Unicode strings to the preferred locale encoding
when writing to stdout, stderr.
Version 0.21, released 2016-01-25
---------------------------------
* Fixed another non-ASCII problem in yarns. Also found by Heikki
Haapala. This time, environment variable values must be encoded (we
do UTF-8).
Version 0.20, released 2016-01-25
---------------------------------
* Allow scenario and step names to have non-ASCII text. Thanks to
Heikki Haapala for reporting the problem.
Version 0.19, released 2016-01-09
---------------------------------
* Yarn now gives an error if `--run` is given a scenario that doens't
exist.
* Yarn now supports `--shell` to choose the shell to execute
IMPLEMENTS scripts, and `--shell-arg` to add arguments to shell.
This can be used to use Python instead of sh:
`--shell=/usr/bin/python2 --shell-arg=''`.
* Yarn now supports the `--cd-datadir` setting to have each step run
in `DATADIR` instead of `SRCDIR`. The default remains `SRCDIR`, but
at some point in the future, the default will probably change.
Version 0.18, released 2015-11-06
---------------------------------
* Code blocks that are examples are now supported.
* Snapshot directories are now created only when `--snapshot` is used.
Version 0.17, released 2015-09-21
---------------------------------
* Yarn now flushes outputs (stdout, stderr) whenever it writes
anything. This should avoid some problems with programs that capture
yarn output, such as CI systems, and get the timings differently
from what would happen on a terminal.
* The `--require-assumptions` option has been added to tell Yarn to
treat failing ASSUMPTIONS steps as errors.
Version 0.16, released 2015-06-30
---------------------------------
* Flush terminal status output whenever a new scenario or step is
started. This ensures the terminal isn't showing an earlier, very
fast step, when the actual current step is slow.
Version 0.15, released 2015-06-29
---------------------------------
* Steps are indented when yarn is run in `--verbose` mode.
* Failed scenarios are listed at the end of yarn output.
Version 0.14, released 2015-03-05
---------------------------------
* Yarn now supports continuation lines: start a line with `...` and it
continues the previous line.
* Yarn now works with UTF-8 input. No other character sets are
supported; sorry (but patches welcome).
Version 0.12, released 2014-03-28
---------------------------------
For yarn:
* Do not fail a test suite if snapshotting `DATADIR` fails.
Version 0.11, released 2014-03-15
---------------------------------
For yarn:
* Report number of scenarios skipped due to an ASSUMING step failing.
* Fix the error message for reporting scenarios without THEN steps
to include the names of those scenarios only, rather than all
scenarios. Patch by Pete Fotheringham.
* Yarn now sets `$HOME` to a directory in `$DATADIR`, and creates
that directory. This means test suites can assume `$HOME` exists,
but don't use the user's real home directory, which is important for
test environment hygiene.
* New option `--allow-missing-steps` to allow running a test suite
with some steps missing. The scenarios with missing steps will be
skipped. Suggested by Pete Fotheringham.
For cmdtest:
* The `--test` (`-t`) option should now work again. Thank you
to Kalle Valo for prodding me.
Version 0.10, released 2013-10-05
---------------------------------
* Yarn now cleans the environment when it runs shell commands for the
implementation steps. The PATH variable is kept from the user's
environment, every other variable is either removed or hardcoded to
a specific value. More variables can be added explicitly to the test
environment with the new `--env NAME=VALUE` option. Additionally
yarn sets the `SRCDIR` environment variable to point at the root of
the source tree (the directory where yarn was invoked from).
* A new option, `--timings`, has been added to yarn to report how long
each scenario and each step took.
* Yarn now reports scenarios skipped because of ASSUMING failing.
* Yarn manual page now documents DATADIR and SRCDIR environment
variables.
Bug fixes:
* Yarn now complains if a scenario has no THEN steps. Suggested by
Richard Maw.
* Yarn now gives an error if there are no scenarios. Suggested by
Daniel Silverstone and others.
* Yarn now checks for duplicate scenario names.
* Yarn now always checks for IMPLEMENTS sections with case-insensitive
matching. Reported, with test case, by Jannis Pohlmann.
Version 0.9, released 2013-07-23
--------------------------------
* Yarn now warns if an input file has no code blocks.
* There is no a yarn `--shell-library` option for the user to use, which
includes a shell library when running any IMPLEMENTS section.
* FINALLY always worked in yarn, but has now been added to the manual
page as well.
* The keyword ASSUMING has been added to yarn.
* New yarn option `--run` allows running selected tests only.
* New yarn option `--snapshot` makes snapshots of the test working
directory after each step in a scenario. Combined with the, also
new, option `--tempdir` this makes debugging failed tests easier.
* New yarn option `--verbose` (turned on automatically if there is not
tty available, e.g., when running from cron), turns off ttystatus
progress bar and produces a "wall of text" style output instead.
Bug fixes:
* Yarn now handles multiple input files correctly. Reported by Daniel
Silverstone; fix based on his patch, but rewritten.
Version 0.8.3, released 2013-06-21
--------------------------------
* Bug fix: properly install yarnlib. In other news, I hate distutils.
Version 0.8.2, released 2013-06-21
--------------------------------
* Bug fix: install the yarnlib library as well. This is embarrassing.
Version 0.8.1, released 2013-06-20
--------------------------------
* Bug fix: install the yarn binary in the package.
Version 0.8, released 2013-06-19
--------------------------------
* Switch terminology to "scenario testing" from "story testing". Thanks
to Rob Kendrick for the suggestion. Doing a quick release so the
old terminology doesn't have time to get any use.
Version 0.7, released 2013-06-15
--------------------------------
* Added the new tool `yarn`, for doing story testing. It is still fresh
and raw, but I want to make it available to get feedback.
Version 0.6, released 2013-03-14
--------------------------------
* Fixed cmdtest to diff outputs correctly. Reported by Kevin Lee.
Version 0.5, released 2012-09-29
--------------------------------
* Version 0.4 may or may not have released. If it was, it should have had
internal changes only.
* Add missing copy of GPLv3. Reported by Michel Alexandre Salim.
Version 0.3, released 2012-02-24
--------------------------------
* Add `--keep` option to keep the temporary directory for failed tests.
* Add `--timings` option to show timings for various tests. Good for when
test suites start getting slow and you want to speed them up.
Version 0.2, released 2012-02-18
--------------------------------
* The `-t testname` option now works.
|