Ticket #806: cabal-dont-append-logs.dpatch

File cabal-dont-append-logs.dpatch, 35.4 KB (added by ttuegel, 2 years ago)

Patch to stop cabal test from appending log files.

Line 
11 patch for repository /home/ttuegel/repos/cabal-head:
2
3Wed Mar  2 22:18:40 CST 2011  Thomas Tuegel <ttuegel@gmail.com>
4  * Remove log files before running tests by default.
5
6New patches:
7
8[Remove log files before running tests by default.
9Thomas Tuegel <ttuegel@gmail.com>**20110303041840
10 Ignore-this: 9007c1adc908897843ea29591decea3c
11] {
12hunk ./Distribution/Simple/Test.hs 80
13 import Distribution.System ( buildPlatform, Platform )
14 
15 import Control.Exception ( bracket )
16-import Control.Monad ( when, liftM, unless )
17+import Control.Monad ( when, liftM, unless, filterM )
18 import Data.Char ( toUpper )
19 import Data.Monoid ( mempty )
20 import System.Directory
21hunk ./Distribution/Simple/Test.hs 85
22     ( createDirectoryIfMissing, doesFileExist, getCurrentDirectory
23-    , removeFile )
24+    , removeFile, getDirectoryContents )
25 import System.Environment ( getEnvironment )
26 import System.Exit ( ExitCode(..), exitFailure, exitSuccess, exitWith )
27 import System.FilePath ( (</>), (<.>) )
28hunk ./Distribution/Simple/Test.hs 330
29 
30     createDirectoryIfMissing True testLogDir
31 
32+    -- Delete ordinary files from test log directory.
33+    getDirectoryContents testLogDir
34+        >>= filterM doesFileExist . map (testLogDir </>)
35+        >>= mapM_ removeFile
36+
37     let totalSuites = length testsToRun
38     notice verbosity $ "Running " ++ show totalSuites ++ " test suites..."
39     suites <- mapM doTest testsToRun
40}
41
42Context:
43
44[Always use verbosity slient when calling hc-pkg dump
45Duncan Coutts <duncan@community.haskell.org>**20110210200603
46 Ignore-this: d2c50f0bde7987559d859579f6ff1fcf
47 We don't want to contaminate the hc-pkg output with info/debug messages.
48 Coincidentally the messages that current ghc-pkg versions produce at
49 -v2 verbosity level do not cause a problem. There's no reason to expect
50 future versions to work that way however.
51]
52[Fix HcPkg.dump for the case of an empty database
53Duncan Coutts <duncan@community.haskell.org>**20110210200111
54 Ignore-this: bb604d49d2d6be488ffba50378fed858
55 Previously it returned the value [emptyInstalledPackageInfo]
56]
57[add --enable-executable-dynamic option for dynamic linking of executables
58Jens Petersen <juhp@community.haskell.org>**20110130110206
59 Ignore-this: f336897c2ad0ea6560247576d358231f
60]
61[Update copyright year
62Duncan Coutts <duncan@community.haskell.org>**20110131145403
63 Ignore-this: 367addece3538851282fa35dc59a772f
64]
65[Add changelog entry for version 1.10.1.0
66Duncan Coutts <duncan@community.haskell.org>**20110131145428
67 Ignore-this: 7dd98797de68db6c8d1ffc2dc2b5b78b
68]
69[Add synopsis field to the installed package info
70Duncan Coutts <duncan@community.haskell.org>**20110131003635
71 Ignore-this: b94db22dcd5a7753056da9a44fe8c23e
72 The description is already included. The one-line synopsis should be
73 there too. Note that this is an API change that will affect compilers.
74]
75[Rewrite intro to user guide and split into multiple files
76Duncan Coutts <duncan@community.haskell.org>**20110130220047
77 Ignore-this: f353d514c4c46f241471e6aad485bce9
78 The chapter on installing packages still needs to be rewritten
79 to describe the cabal tool, rather than runhaskell Setup.hs
80]
81[Added unit test for exitcode-stdio-1.0 test suite with and without HPC.
82Thomas Tuegel <ttuegel@gmail.com>**20110114165132
83 Ignore-this: e69128c5cf06923d4b961753ffaa2ff4
84]
85[Fixes for running test suite with HPC.
86Thomas Tuegel <ttuegel@gmail.com>**20110113114354
87 Ignore-this: 84bf3cb6a47188db0b6fcde5ce1d4eda
88]
89[Add a couple TODOs relating to the hpc feature
90Duncan Coutts <duncan@haskell.org>**20110131001517
91 Ignore-this: c78bbf1d75948431d9740648089eabb6
92]
93[Support building libraries and test suites with HPC; automatic report generation.
94Thomas Tuegel <ttuegel@gmail.com>**20110130173451
95 Ignore-this: cbffdc7d0fb03bd7d6745aa64625cc3c
96]
97[Export a bunch of utils for package configurations
98Duncan Coutts <duncan@community.haskell.org>**20110129205103
99 Ignore-this: b0654528a073185e0c9e9e84330da517
100]
101[Get the mapTreeData util from the right place
102Duncan Coutts <duncan@community.haskell.org>**20110129204834
103 Ignore-this: 9cc5712b72583e94c43a7bab448942e7
104 Originally Thomas had moved them to Distribution.PackageDescription
105 but I'm rather of the opinion that the functions (and the data
106 structure) that they manipluate is ugly and I'd rather keep them
107 hidden away in a less public module.
108]
109[Support more placeholders in --test-option[s] template
110Johan Tibell <johan.tibell@gmail.com>**20110111101957
111 Ignore-this: 4a58dba3d8fc411aca1fa7c6c0062398
112 
113 Now supports $pkgid, $compiler, $os, $arch, and $test-suite.
114]
115[Allow name template in --test-option and --test-options
116Johan Tibell <johan.tibell@gmail.com>**20110111073013
117 Ignore-this: 82ec6b757182c0b3372b50dd1dd9367b
118 
119 Only $test-suite is supported for now.
120]
121[Tracking enabled/disabled TestSuites in PackageDescription.
122Thomas Tuegel <ttuegel@gmail.com>**20110110174227
123 Ignore-this: 412a5fdbef2dc7fbc7dc698c86917e5e
124 This patch adds the 'testEnabled' field to TestSuite. It's
125 undesirable to track build status information in the static package
126 description, but there is no better solution at this time. This
127 patch has the side-effect of fixing several TODOs in
128 Distribution.Simple.Configure.
129]
130[Relax QA check on test-suite sections to require only Cabal 1.8
131Duncan Coutts <duncan@community.haskell.org>**20110129182623
132 Ignore-this: 8d960e7720c5b9c0a23879980a8b3f53
133 Only Cabal-1.10 and later can use test suites. Versions of Cabal prior
134 to 1.8 actually barf on test-suite sections, while Cabal-1.8 will
135 ignore these sections with a warning. Previously the QA check enforced
136 that packages with test-suite section specify 'cabal-version: >= 1.10'
137 but strictly speaking we only need to require 'cabal-version: >= 1.8'.
138 This relaxation allows people to write packages using test suites such
139 that people using Cabal-1.8 will be able to build and install the
140 package, just not run the test suite. Clear as mud?
141]
142[Add --html for haddock command.
143Thomas Schilling <nominolo@googlemail.com>**20090816014017
144 
145 This makes it easier to build both html documentation and a hoogle
146 database:
147 
148   ./setup haddock [--html]   # build only HTML docs (default)
149   ./setup haddock --hoogle   # build only Hoogle DB
150   ./setup haddock --hoogle --html   # build both
151]
152[Look for hsc2hs in the same place as ghc
153Ian Lynagh <igloo@earth.li>**20110125200353
154 This is particularly important on OS X, where there may be both 32
155 and 64bit versions around.
156]
157[Follow changes in GHC's linker flag handling
158Ian Lynagh <igloo@earth.li>**20110124231819]
159[Add NondecreasingIndentation support for old GHCs
160Ian Lynagh <igloo@earth.li>**20110121233655
161 Ignore-this: 18b866cd7806e90c13c70e5c9065ea14
162]
163[reexport setFileOrdinary/Executable functions from Utils module
164Duncan Coutts <duncan@community.haskell.org>**20110117150104
165 Ignore-this: 5edb64c3c69ae247ce25ff72dc655baf
166]
167[Preserve executable bit during in sdist for extra-source-files
168Duncan Coutts <duncan@community.haskell.org>**20110117144243
169 Ignore-this: d419dc5d8050d3236a4c78fcad5f7d6b
170]
171[Fix a documentation reference to ghc 6.14
172Duncan Coutts <duncan@haskell.org>**20101027134319
173 Ignore-this: cc05b5066884008491a9c60d6c64782d
174]
175[Fix import warnings
176Ian Lynagh <igloo@earth.li>**20110115005030
177 Ignore-this: 4bc4d971238ed7ef331690bb9b1cbfa3
178]
179[Pass gcc/ld locations and flags to configure scripts
180Ian Lynagh <igloo@earth.li>**20110115004346
181 Flags are passed through the CFLAGS and LDFLAGS variables
182]
183[Get extra gcc and ld flags from GHC
184Ian Lynagh <igloo@earth.li>**20101220173544]
185[Change my email address
186Duncan Coutts <duncan@community.haskell.org>**20110114173347
187 Ignore-this: 5ce93c85c0d8e3100c669d363447648a
188]
189[Use the standard names for file copy functions rather than a local rename
190Duncan Coutts <duncan@haskell.org>**20110114173219
191 Ignore-this: 140a927eae404fa4fa96ec86d6fb5682
192]
193[sdist perms fix
194ramsdell@mitre.org**20101220181308
195 Ignore-this: ca0ff71dc7318d12c4f64134c636a08e
196]
197[Clarify docs about LocalBuildInfo installedPkgs field
198Duncan Coutts <duncan@haskell.org>**20110111005941
199 Ignore-this: 73c6ac8cb2b5e0fbd912dfad6a6f9d5f
200 Only deps of current package, not all installed packages.
201 Confusion reported by quuuux on #haskell.
202]
203[Removed documentation for obsolete options to 'setup test' from the User Guide.
204Thomas Tuegel <ttuegel@gmail.com>**20110109180811
205 Ignore-this: ce7298400abd573023e5c3c1abbef10
206]
207[Document the '--{en,dis}able-tests' options in the User Guide
208Thomas Tuegel <ttuegel@gmail.com>**20101204164404
209 Ignore-this: 28972ba6e70a3e91754dd42bfe9c2a5e
210]
211[Update the changelog for 1.8.0.4, 1.8.0.6 and 1.10.0.0
212Duncan Coutts <duncan@haskell.org>**20101118203701
213 Ignore-this: 2b1693427bd29b84432b1b35a2f627c6
214]
215[Replace uses of the old try function with the new one
216Ian Lynagh <igloo@earth.li>**20101218230920
217 Ignore-this: e0a9db2f97bc3f90ceb5772944f4e25b
218]
219[Replace uses of the old catch function with the new one
220Ian Lynagh <igloo@earth.li>**20101218213608]
221[Add GADTSyntax to extension list
222Ian Lynagh <igloo@earth.li>**20101218150259]
223[Allow CABAL_VERSION to be defined when bootstrapping
224Ian Lynagh <igloo@earth.li>**20101212213359
225 Needed for the GHC build system
226]
227[Add NondecreasingIndentation to Language.Haskell.Extension
228Ian Lynagh <igloo@earth.li>**20101124223953
229 Ignore-this: 2d072a45d76770cf97553b0e5df9e998
230]
231[Export commandParseArgs
232Duncan Coutts <duncan@haskell.org>**20101105140655
233 Ignore-this: f452f13b130e886ecd8262c6f24a0c52
234]
235[Add some more extensions that GHC knows about
236Ian Lynagh <igloo@earth.li>**20101026220409
237 Ignore-this: 92bbbb269985fe576798cd2cdba4ceca
238]
239[Whitespace only
240Ian Lynagh <igloo@earth.li>**20101026220403
241 Ignore-this: 8746b070884de3ed45db486a0a49db3e
242]
243[Fix parsing of empty default-language fields
244Ian Lynagh <igloo@earth.li>**20101026220312
245 Ignore-this: 99011d6c9af431e7c8d90c3cee364606
246]
247[Add support for general extension en/disabling
248Ian Lynagh <igloo@earth.li>**20101026145503]
249[Tweak a couple of types
250Ian Lynagh <igloo@earth.li>**20101026131250]
251[Generalise deprecatedExtensions
252Ian Lynagh <igloo@earth.li>**20101026131121
253 It now works with Extensions rather than KnownExtensions
254]
255[Split known-extensions off into their own type, and remove knownExtensions
256Ian Lynagh <igloo@earth.li>**20101025232624
257 The knownExtensions list had already got out of sync with the datatype.
258 Now we use an Enum instance to get the list of constructors.
259 Also, having the actual extensions in a separate type than UnknownExtension
260 and EnableExtension makes it easier to add extension disabling support
261 later.
262]
263[Add a test program to look for ghc extensions that are not registered
264Duncan Coutts <duncan@haskell.org>**20101025163536
265 Ignore-this: cf38e2434eba386b83b818a29fd5ac14
266 Should live in the ghc testsuite but no harm having it here too.
267]
268[Make the .cabal file fully 1.10-compliant
269Ian Lynagh <igloo@earth.li>**20101020133037
270 Ignore-this: 66409062c8d4b698f69aa58a83b85ef1
271 Add Default-Language field, and change Extensions to Default-Extensions.
272]
273[Require "cabal-version: >= 1.10" as we use the new testsuite syntax
274Ian Lynagh <igloo@earth.li>**20101020131829
275 Ignore-this: 6aecdd77f78234f0359af0509f1ba636
276]
277[Fix warnings: Remove duplicate imports
278Ian Lynagh <igloo@earth.li>**20101020125710
279 Ignore-this: dea9d889078c729459e1ab92a8e54c08
280]
281[Merge conflicts
282Ian Lynagh <igloo@earth.li>**20101020112200
283 Ignore-this: d96cab403511f914d9d8df1a29ca58ee
284]
285[Add final newline
286Simon Marlow <marlowsd@gmail.com>**20101013125337
287 Ignore-this: 99e055c7186219369902a63c63c3fd76
288 Something in the Windows build was complaining about the lack of a
289 final newline.
290]
291[Update the pretty printer to the current testsuite interface
292Duncan Coutts <duncan@haskell.org>**20101020120506
293 Ignore-this: 480a349e93be8228f81f93632cabe2c7
294]
295[Improve error messages about programs not being found
296Duncan Coutts <duncan@haskell.org>**20101019074436
297 Ignore-this: 9b4daf9a09179482049146669af59f76
298 Make it clear it is a program we are talking about, not a library.
299]
300[Add a note about the remaining issue with runhugs scripts
301Duncan Coutts <duncan@haskell.org>**20101018232248
302 Ignore-this: 3e83a3238d08cdb3ad9e353d43fbf7fa
303]
304[Add package QA checks for the new language and extensions fields
305Duncan Coutts <duncan@haskell.org>**20101018180343
306 Ignore-this: a063fd21e86e4e19b8152258c5a0711f
307]
308[Check at configure time that languages are supported by the compiler
309Duncan Coutts <duncan@haskell.org>**20101018180300
310 Ignore-this: e3988c2eff46129b1f2732cd9647c935
311]
312[Add compiler support for using the new languages and extensions fields
313Duncan Coutts <duncan@haskell.org>**20101018180151
314 Ignore-this: ec1b61767d492dcd2dfa6a07ace3b982
315]
316[Add hugs support for the languages and extensions fields
317Duncan Coutts <duncan@haskell.org>**20101018175647
318 Ignore-this: 9b39c392119aebbbad22a64dcf992f88
319 Incidentally, should fixe ticket #43.
320]
321[Add parsing for the new language and extensions fields
322Duncan Coutts <duncan@haskell.org>**20101018091918
323 Ignore-this: c59c8ef96c83f35e293c8f495b89fda6
324]
325[Add new language and extensions fields (internal data structures)
326Duncan Coutts <duncan@haskell.org>**20101018090620
327 Ignore-this: f49dd9278b0053bc441a37beeb2f6145
328 New fields default-language and other-languages for specifying the
329 base languages for the package, e.g. Haskell98, Haskell2010
330 New fields default-extensions and other-extensions for the language
331 extensions. Separate from the old extensions field.
332 The separation lets us express the difference between declaring to
333 the outside world that a package uses certain languages or extensions
334 and whether certain languages or extensions should be applied to
335 all modules in the package component.
336]
337[Extend the Compiler interface to list the supported languages
338Duncan Coutts <duncan@haskell.org>**20101018082608
339 Ignore-this: 8b1ab7cc14f35dd6604c2a85173ad48
340]
341[Add a Language type, starting with Haskell98 and Haskell2010
342Duncan Coutts <duncan@haskell.org>**20101018082208
343 Ignore-this: de80df5317b5d44900e30c947a86364b
344]
345[Merge and tweaks following pretty printer changes
346Duncan Coutts <duncan@haskell.org>**20101018195344
347 Ignore-this: 513a2b0ce02fed98f5beba0dd893eb16
348]
349[pretty printer fixes (FreeText starting with ., version tags, version range parens, option order).
350jnf@arcor.de**20101011094517
351 Ignore-this: 400ac5be014f1529632bd16ffd878a92
352]
353[reentered accidentally lost exports
354jnf@arcor.de**20100929105852
355 Ignore-this: 2ad4ecfac6feba4c2a59a131c05c8a40
356]
357[new cabal pretty printer.
358jnf@arcor.de**20100929103653
359 Ignore-this: 43f954ec31373e327f2c29fcbf3f0865
360]
361[Fix old doc links
362Duncan Coutts <duncan@haskell.org>**20100727012425
363 Ignore-this: 9e9d0f2045adebe7bb38b5d1a7d2d71a
364]
365[Add note about ticket #689 about deprecated extensions
366Duncan Coutts <duncan@haskell.org>**20100622151328
367 Ignore-this: 56cf0027a4c10f4c07045e2ccdbb819c
368]
369[Head version needs cabal-version: >=1.8 due to test stanza
370Duncan Coutts <duncan@haskell.org>**20101017155521
371 Ignore-this: 6652a529071ccb2eb1cdeda3451aac30
372]
373[Remove unused cpp version definition
374Duncan Coutts <duncan@haskell.org>**20101017155218
375 Ignore-this: 8dc3425bd811d60d28c2eaf365ec1e66
376]
377[Change the way we handle the version number during bootstrapping
378Duncan Coutts <duncan@haskell.org>**20101016191252
379 Ignore-this: e21559acc28b7bd811dc4fe147e645b2
380 Means we only need to have the version in one place now. Yay.
381]
382[Restore compatability with ghc-6.8 and 6.6 but drop support for ghc-6.4
383Duncan Coutts <duncan@haskell.org>**20101016182714
384 Ignore-this: 6aef933e4bfb4a9c47021d17370805ea
385]
386[Add the Cabal unit tests as a test-suite stanza
387Duncan Coutts <duncan@haskell.org>**20101016165656
388 Ignore-this: b9abbfe867754b8bf5b02919c1f25509
389 Still some other tests that need hooking up to this mechanism
390]
391[Update the unit tests of the testsuite feature
392Duncan Coutts <duncan@haskell.org>**20101016165615
393 Ignore-this: bc08d2a8609943f40e901c42916072c2
394]
395[Rename test --human-log to just --log
396Duncan Coutts <duncan@haskell.org>**20101016153441
397 Ignore-this: a2ccb95759a67ae2888a2db2d2ba678d
398 Still have --machine-log as a separate flag
399]
400[Remove the test --append-human-log and --replay features
401Duncan Coutts <duncan@haskell.org>**20101016153235
402 Ignore-this: 23d9c6431f929cd4078c54e03928cef2
403]
404[Add instance Text TestShowDetails parsing and use it for --show-details flag
405Duncan Coutts <duncan@haskell.org>**20101016153015
406 Ignore-this: 1018e874b8acbf51bd7081df1210285
407 Rather than Read/Show
408]
409[Fix a cabal-version check so it accepts the field missing entirely
410Duncan Coutts <duncan@haskell.org>**20101016151929
411 Ignore-this: e30f6fe6e7f54cc5c791a3b6761e93de
412]
413[Add testsuites to the allBuildInfo function, used mainly in checks
414Duncan Coutts <duncan@haskell.org>**20101013172229
415 Ignore-this: be876b609bf1266f3928f25e94f87703
416]
417[Update the message for a package check
418Duncan Coutts <duncan@haskell.org>**20101013172206
419 Ignore-this: 875cc7c6a763321f2e3251195c9dfb1e
420]
421[Add a few TODOs about package checks
422Duncan Coutts <duncan@haskell.org>**20101013172128
423 Ignore-this: 837bda043d740f0b92549f3379d43909
424]
425[Check test-suite sections even when they have been disabled at configure time
426Duncan Coutts <duncan@haskell.org>**20101013171851
427 Ignore-this: 938113ec297b2e5c511a72c5ac8a86d
428]
429[Default to Haskell98 for GHC 7.x
430Duncan Coutts <duncan@haskell.org>**20101013022258
431 Ignore-this: c34b946f55e5ec054cc842914f58b5a5
432 GHC 7 defaults to Haskell2010, we stick with 98 for the moment.
433 We will later introduce a new language field to control this.
434]
435[Change the syntax and behaviour of the cabal-version field
436Duncan Coutts <duncan@haskell.org>**20101013014933
437 Ignore-this: c4cb33360d623ff312b5c3f2d78f730c
438 For historical reasons the cabal-version is specified with a version range,
439 to indicate the range of versions of tools that the package will work with.
440 We now think it makes more sense to specify the version of the Cabal spec
441 that the package follows. Old Cabal versions will not be able to parse simple
442 versions in this field. So we initially make the parser allow plain versions
443 but then we add a check to warn about using it prior to Cabal-1.12 at which
444 point it will be allowed.
445 Added a check about using version ranges that are not of the form '>= x.y'.
446 Also change behaviour to ignore upper bounds in the given version range.
447]
448[Fix duplicate import warnings
449Ian Lynagh <igloo@earth.li>**20101012131227
450 Ignore-this: a9b51a864f95206f4d972f1e7506be55
451]
452[Remove the ghc Makefile stuff for the old docbook xml
453Duncan Coutts <duncan@haskell.org>**20101010210026
454 Ignore-this: 6c714ba98b60e15e44577b64d2de3e1c
455 Not woth keeping it, none of it can sensibly be reused. The GHC
456 devs will need to add something new for the markdown user guide.
457]
458[Update Makefile for new markdown user guide
459Duncan Coutts <duncan@haskell.org>**20101010205938
460 Ignore-this: dcb5bd072c619516e23329f170458d72
461]
462[Add a FIXME about parsing cabal files
463Duncan Coutts <duncan@haskell.org>**20101010203421
464 Ignore-this: 12804d54e81b5ea5878e52628717bc1d
465]
466[Refactor the missing VCS info QA check
467Duncan Coutts <duncan@haskell.org>**20101010192346
468 Ignore-this: fa6a50a9bd43cf9069e7cd16e23a2b4e
469 Starting with Marc Weber's code and just moving
470 it about and making it fit in a bit nicer.
471]
472[Remove redundant import
473Duncan Coutts <duncan@haskell.org>**20101010190724
474 Ignore-this: a978a6a257a31a57d07d57471f04af49
475]
476[Rename LocalBuildInfo extraArgs to extraConfigArgs to avoid name clashes
477Duncan Coutts <duncan@haskell.org>**20101010190036
478 Ignore-this: 817061002399a51cbf31da2ba002737b
479]
480[Add a bunch of TODOs about the test feature
481Duncan Coutts <duncan@haskell.org>**20101010173245
482 Ignore-this: f2acc005fef4996a2c5260356eaf219f
483]
484[Change how the test suite interfaces are represented, parsed and used
485Duncan Coutts <duncan@haskell.org>**20101010162526
486 Ignore-this: 8773e7756fc23bc04c9e5b2b14031512
487 Also, stick to version 0.9 of the "detailed" test interface, since it's
488 not quite finalised yet. Misc other minor code cleanups.
489]
490[Added test suites to Cabal User Guide
491Thomas Tuegel <ttuegel@gmail.com>**20100811141332
492 Ignore-this: 3975acc803fdba809ca1c8abeef21677
493 Ticket #215 (Overhaul support for packages' tests).
494]
495[Removed "$stdio" from acceptable template variables
496Thomas Tuegel <ttuegel@gmail.com>**20100810201828
497 Ignore-this: c50e05e9a73c726567eff0a364f29750
498 Ticket #215 (Overhaul support for packages' tests).  In the usage message, the
499 template variable "$stdio" was incorrectly listed as being available in the
500 "--human-log" and "--machine-log" flags.  The variable has been removed.
501]
502[Added --test-option(s) flags
503Thomas Tuegel <ttuegel@gmail.com>**20100809161341
504 Ignore-this: cea82267bbc0b16d5f21bfc086285905
505 Ticket #215 (Overhaul support for packages' tests).  This patch adds the
506 --test-option(s) flags for passing command-line options to test executables.
507]
508[Respect verbosity flag when outputting test log
509Thomas Tuegel <ttuegel@gmail.com>**20100809151517
510 Ignore-this: 73668e49eeea216c27b5233c7e3fe2cb
511 Ticket #215 (Overhaul support for packages' tests).  This patch corrects the
512 printing of the human-readable test log to the terminal so the setting of the
513 verbosity flag is respected.
514]
515[Added --replay option to cabal test
516Thomas Tuegel <ttuegel@gmail.com>**20100803164932
517 Ignore-this: c97d70e21d3847aa4d889304a7e94451
518 Ticket #215 (Overhaul support for packages' tests).  This patch adds support for
519 using machine logs from previous runs to replay tests with the same options.
520 When using --replay, Cabal will replay all test suites listed in the machine log
521 specified; test suite names specified on the command line are ignored.
522]
523[Renamed "library" test suite type to "detailed"
524Thomas Tuegel <ttuegel@gmail.com>**20100803141125
525 Ignore-this: 457c1a155020303962ae55b2bcd8415c
526 Ticket #215 (Overhaul support for packages' tests).
527]
528[Fixed human test log output for failing tests
529Thomas Tuegel <ttuegel@gmail.com>**20100803030246
530 Ignore-this: f9d3ef127cdb849762af79f31a0c80c9
531 Ticket #215 (Overhaul support for packages' tests).  This patch corrects the bug
532 in the human test log output to terminal where the line wrapping code in Cabal
533 caused terminal control codes output by the test framework to be placed
534 incorrectly.  Line wrapping is no longer performed.
535]
536[Displaying human-readable test log when requested
537Thomas Tuegel <ttuegel@gmail.com>**20100730151818
538 Ignore-this: 98f0adb8e47a52a59ccb3581982157ed
539 Ticket #215 (Overhaul support for packages' tests).  This patch causes Cabal to
540 display the contents of the human-readable log file on the terminal when run
541 with --show-details=always or when run with --show-details=failures and a
542 failure is detected.  The structure of the test logging code has been changed
543 for clarity to debug a problem where test executables that write to their stderr
544 channel disrupt terminal output.
545]
546[Added debugging output to test summary
547Thomas Tuegel <ttuegel@gmail.com>**20100730134008
548 Ignore-this: 826d20639f17ae0650d1c9b8a56b43a7
549 Ticket #215 (Overhaul support for packages' tests).
550]
551[Using correct name of log file in human-readable log
552Thomas Tuegel <ttuegel@gmail.com>**20100730041720
553 Ignore-this: 3c6df44f5d6414ce1fe2b58c50590726
554 Ticket #215 (Overhaul support for packages' tests).  Previously, human-readable
555 logs listed the name of the temporary file where test suite output is
556 initially logged.
557]
558[Renamed option '--test-filter' to '--show-details'
559Thomas Tuegel <ttuegel@gmail.com>**20100730023026
560 Ignore-this: 8b78eed5ccf9cb7ed6a55b86d886e5cc
561 Ticket #215 (Overhaul support for packages' tests).
562]
563[Displaying location of test suite log on terminal
564Thomas Tuegel <ttuegel@gmail.com>**20100729141159
565 Ignore-this: e98a67180c6ff1511b86e442f9acf3c1
566 Ticket #215 (Overhaul support for packages' tests).  It was decided that
567 indicating the location of the human-readable test suite log made Cabal's test
568 runner easier to use.
569]
570[Passing names of test suites to run to test stage
571Thomas Tuegel <ttuegel@gmail.com>**20100726150811
572 Ignore-this: bf556a0a06fe26b132f1eb5caec21805
573 Ticket #215 (Overhaul support for packages' tests).
574]
575[Fixed deprecation warning in Distribution.TestSuite
576Thomas Tuegel <ttuegel@gmail.com>**20100726141448
577 Ignore-this: 64cd6a5a936efd6b0ee0f50564440a9d
578 Ticket #215 (Overhaul support for packages' tests).  Warning resulted from use
579 of Control.OldException.
580]
581[Fixed help message for machine-log path template
582Thomas Tuegel <ttuegel@gmail.com>**20100724164652
583 Ignore-this: 52205830166a307eedce807e908f7a0a
584 Ticket #215 (Overhaul support for packages' tests).  The message previously
585 indicated that $test-suite is acceptable in the machine log path template,
586 which is not true.
587]
588[Catching exceptions when lifting pure tests to IO
589Thomas Tuegel <ttuegel@gmail.com>**20100724134336
590 Ignore-this: 89a2265a94ee0082935d236dd64c12d4
591 Ticket #215 (Overhaul support for packages' tests).
592]
593[Using common function to name path environment variables in PathsModule and Test
594Thomas Tuegel <ttuegel@gmail.com>**20100722145840
595 Ignore-this: 5cea1a3e77acb84a162de3d1c85a3fe6
596 Ticket #215 (Overhaul support for packages' tests).  The names of environment
597 variables used to set package paths at runtime were previously hard-coded into
598 the function that generates the paths module.  A function generating the
599 variable names is now exported from Distribution.Simple.Build.PathsModule and
600 used to set the datadir in Distribution.Simple.Test to prevent breakage if the
601 naming scheme changes.
602]
603[Added documentation for machine-readable test log types
604Thomas Tuegel <ttuegel@gmail.com>**20100722140017
605 Ignore-this: 60f934e11b1c3ee4df9f48677528af47
606 Ticket #215 (Overhaul support for packages' tests).
607]
608[Improved documentation for Distribution.TestSuite
609Thomas Tuegel <ttuegel@gmail.com>**20100722124239
610 Ignore-this: f7b1261270c4815b0691ce33c664908c
611 Ticket #215 (Overhaul support for packages' tests).
612]
613[Fixed documentation errors in Distribution.Simple.Test
614Thomas Tuegel <ttuegel@gmail.com>**20100721221844
615 Ignore-this: b111e727b4a556b17c2a1eb4dfd6971b
616 Ticket #215 (Overhaul support for packages' tests).
617]
618[Renamed Distribution.TestSuite.optionLookup to lookupOption
619Thomas Tuegel <ttuegel@gmail.com>**20100721170724
620 Ignore-this: 3a5e79fd0a14d974e664a74af5cb83d1
621 Ticket #215 (Overhaul support for packages' tests.)
622]
623[Added console-style test summary information to human-readable logs
624Thomas Tuegel <ttuegel@gmail.com>**20100721163516
625 Ignore-this: 494c2220285ef4bda036ecdfd7242adf
626 Ticket #215 (Overhaul support for packages' tests).
627]
628[Added flag allowing human-readable test logs to be appended instead of overwritten
629Thomas Tuegel <ttuegel@gmail.com>**20100721160421
630 Ignore-this: f157a4830f82a4a978c1cfb1931a0258
631 Ticket #215 (Overhaul support for packages' tests).
632]
633[Added clarifying comments to Distribution.Simple.Test
634Thomas Tuegel <ttuegel@gmail.com>**20100721160417
635 Ignore-this: 100000890351a75557a6dfa0f71c419f
636 Ticket #215 (Overhaul support for packages' tests).
637]
638[Using a separate PathTemplateEnv for machine test logs
639Thomas Tuegel <ttuegel@gmail.com>**20100720204724
640 Ignore-this: 4920c6e88b8d3d3d788ba42d6b5268af
641 Ticket #215 (Overhaul support for packages' tests).  Previously, the use of a
642 dummy test suite name would lead to unintuitive expansions of the PathTemplate
643 governing the location of the machine-readable package test log.
644]
645[Exporting machine log types from Distribution.Simple.Test
646Thomas Tuegel <ttuegel@gmail.com>**20100720204558
647 Ignore-this: 6920621dbabf471cef7d688904b9b1b8
648 Ticket #215 (Overhaul support for packages' tests).  These types were exported
649 to enable parsing of test logs by external utilities.
650]
651[Added 'check' and 'optionLookup' to Distribution.TestSuite
652Thomas Tuegel <ttuegel@gmail.com>**20100720134707
653 Ignore-this: 21ef44dc0087ff8333b1722309f8fbdd
654 Ticket #215 (Overhaul support for packages' tests).  These functions were added
655 for the benefit of test runner authors.
656]
657[Saving Options from test runs for reproducability
658Thomas Tuegel <ttuegel@gmail.com>**20100715180003
659 Ignore-this: 858c387d83e93e193f7c66df3901f6e3
660 Ticket #215 (Overhaul support for packages' tests).  Saving the Options used
661 required changes to the TestSuite interface, with the Option values now being
662 specified as Strings and not Dynamics.  This was necessary because the lack of
663 a Read instance for Dynamic.
664]
665[Improvements to test suite logging
666Thomas Tuegel <ttuegel@gmail.com>**20100715020549
667 Ignore-this: b47f4358302b283e93ccaff81db123f2
668 Ticket #215 (Overhaul support for packages' tests).  This patch includes proper
669 support for both machine- and human-readable logs.
670]
671[Removed duplicate code for test suite interface version checks
672Thomas Tuegel <ttuegel@gmail.com>**20100713144835
673 Ignore-this: e06c264351013480a66c013ca398db4b
674 Ticket #215 (Overhaul support for packages' tests).  Duplicate code for checking
675 the test suite interface version was replaced with a single function
676 'testVersion1 :: Version -> Bool' exported from Distribution.PackageDescription.
677]
678[Added QA checks for test suite name conflicts
679Thomas Tuegel <ttuegel@gmail.com>**20100712154401
680 Ignore-this: df13e2f16cf4e879f5d5f6538c6e7db8
681 Ticket #215 (Overhaul suppport for packages' tests).
682]
683[New test suite log format
684Thomas Tuegel <ttuegel@gmail.com>**20100708132650
685 Ignore-this: 96a300e6acedd0de63757713fbb1d832
686 Ticket #215 (Overhaul support for package's tests).  This patch adds a new test
687 log file format based on the TestSuiteLog data structure.  The interface between
688 Cabal and the library test suite runner has consequently changed.
689]
690[Inheriting existing environment for test suite executables
691Thomas Tuegel <ttuegel@gmail.com>**20100707222244
692 Ignore-this: 6f08245c83817a85c7da5a05f810abd6
693 Ticket #215 (Overhaul support for packages' tests).  Previously, the test
694 runner replaced the environment for test suite executables with one containing
695 only the datadir path for package data files.  For test suites invoking other
696 programs, it is necessary to preserve the system paths, so the datadir path
697 variable is appended to the inherited environment.
698]
699[Improvements to library test suite runner, including documentation
700Thomas Tuegel <ttuegel@gmail.com>**20100624181304
701 Ignore-this: 45baa7905de5423e91707f52e590bbad
702 Ticket #215 (Overhaul support for packages' tests).
703]
704[Renamed 'result' and 'getResult' to 'run' and 'runM'
705Thomas Tuegel <ttuegel@gmail.com>**20100623184640
706 Ignore-this: 7bb6dd598eaa135fcbf73e82ab0d2ce2
707 Ticket #215 (Overhaul support for packages' tests).
708]
709[Setting datadir environment variables when running tests
710Thomas Tuegel <ttuegel@gmail.com>**20100623183201
711 Ignore-this: 7a9e26c684417871609847f6e4d4883e
712 Ticket #215 (Overhaul support for packages' tests).
713]
714[Added convenience functions and default instances making export of 'Test' constructors unnecessary
715Thomas Tuegel <ttuegel@gmail.com>**20100623151934
716 Ignore-this: 1979265e345e268787b5b6fe49bdfd64
717 Ticket #215 (Overhaul support for packages' tests).
718]
719[Added support for running the default stub executables Cabal creates for library test suites
720Thomas Tuegel <ttuegel@gmail.com>**20100623151903
721 Ignore-this: 2be1bbfb07a7fc0e3a0d2c9e5bdf2252
722 Ticket #215 (Overhaul support for packages' tests).
723]
724[Removed dependency on extensible-exceptions from detailed test suite interface
725Thomas Tuegel <ttuegel@gmail.com>**20100623150227
726 Ignore-this: 50ad3ee8c2dc5f62b48aa84d0318c3e6
727 Ticket #215 (Overhaul support for packages' tests).
728]
729[Added support for building detailed library test suites
730Thomas Tuegel <ttuegel@gmail.com>**20100623150222
731 Ignore-this: 1f2a6034af9adf493088265cc8481df5
732 Ticket #215 (Overhaul support for packages' tests).  This patch preprocesses
733 and builds library test suites.  The fake packages are created for each test
734 suite, where the fake package and test suite share the same name; the packages
735 and libraries are registered in the inplace package database so that test
736 agents can build stub executables against them.
737]
738[Improved security of test log file creation
739Thomas Tuegel <ttuegel@gmail.com>**20100621114726
740 Ignore-this: 6fed3aa4ebcb587b48bb2a256fcbc61b
741 Ticket #215 (Overhaul support for packages' tests).  The algorithm previously
742 used to name the log files for test output suffers from a known vulnerability
743 due to the predictability of chosen names.
744]
745[Added detailed test interface
746Thomas Tuegel <ttuegel@gmail.com>**20100617210631
747 Ignore-this: 161624662d6ec7946a33415ddbff4445
748 Ticket #215 (Overhaul support for packages' tests).  This patch provides the
749 detailed test interface for exposing individual tests to Cabal and other test
750 agents.  It also provides the simple function Cabal will provide as the default
751 test runner.
752]
753[Fixed test suite breakage due to TestSuite API changes
754Thomas Tuegel <ttuegel@gmail.com>**20100629212935
755 Ignore-this: 8de228836efb206e1adb833c841ae757
756 Ticket #215 (Overhaul support for packages' tests).  The update to the
757 TestSuite parser which stopped disallowed configurations during parsing also
758 broke the existing test suite with API changes.
759]
760[Added --test-filter flag
761Thomas Tuegel <ttuegel@gmail.com>**20100624175917
762 Ignore-this: e8fcaddf34a42326d0f3a1081aafb724
763 Ticket #215 (Overhaul support for packages' tests).
764]
765[Qualified import of Distribution.Simple.Setup in Distribution.Simple.Haddock
766Thomas Tuegel <ttuegel@gmail.com>**20100623193755
767 Ignore-this: ec5750f56b22f67e5862036fcdd8ecee
768]
769[Using path templates to name test log files
770Thomas Tuegel <ttuegel@gmail.com>**20100622162317
771 Ignore-this: af6564bf6154e29e363ee343c9fc5806
772 Ticket #215 (Overhaul support for packages' tests).
773]
774[More docs about the meaning of the cabal-version field
775Duncan Coutts <duncan@haskell.org>**20101010154251
776 Ignore-this: 381ede9227f7a9db78f1007364660648
777]
778[Document how Cabal-Version affects behaviour of build-depends
779Ben Millwood <haskell@benmachine.co.uk>**20100926025550
780 Ignore-this: ba6367db93c15906331457a0468db436
781]
782[initial support for building executables with UHC
783Atze Dijkstra <atze@cs.uu.nl>**20100923214130
784 Ignore-this: bbbf1adcec2fcfe87ce1db18c804f21a
785]
786[Added flags related to UHC, uhcbase package
787Atze Dijkstra <atze@cs.uu.nl>**20100706115341
788 Ignore-this: f7dd2b14e3146f8844635ddcb70ac3b9
789]
790[Minor changes to the auto-reconfiguration feature.
791Duncan Coutts <duncan@haskell.org>**20101010144111
792 Ignore-this: 944f595482ea42eb1907fb1150d6d4c0
793 Change the messages slightly. Make configure return the
794 new lbi, rather than having to re-read the lbi from file
795 (avoiding potential infinite loop if the IO failed).
796]
797[Auto-reconfiguration when .cabal is newer than setup-config
798Dmitry Astapov <dastapov@gmail.com>**20100825131106
799 Ignore-this: 22ab2b6de0251f6cf1da7c2538544d4
800 
801 This patch adds "ConfigFlags" to the "LocalBuildInfo" and reuses them to
802 perform "configureAction" when .cabal file is changed. This has
803 the same effect as re-running "configure" with the most recent used
804 set of options, which should be the sensible thing to do.
805 
806 Closes #294, #477, #309 and #518.
807]
808[Fix processing of ghc-shared-options
809Duncan Coutts <duncan@haskell.org>**20101009204809
810 Ignore-this: 571b3d70fbc705282b9fdfdafdc2f009
811 Original patch was:
812   Sun Oct  7 13:41:53 BST 2007  Thorkil Naur <naur@post11.tele.dk>
813     * Fix processing of shared options
814 Re-recorded due to code churn
815]
816[Correct spelling of 'transative'
817Duncan Coutts <duncan@haskell.org>**20101009202836
818 Ignore-this: fe7ec5ae621135024403ae0aa42094c2
819 Original patch by:
820   Thu Aug 21 21:19:51 MDT 2008  dbueno@gmail.com
821     * Correct spelling of 'transative'.
822 Re-recorded due to conflict.
823]
824[print a warning if repository location isn't specified and the cabal project looks like being tracked by a version control system
825marco-oweber@gmx.de**20091129192013
826 Ignore-this: 5ce5073f1793193e437353490eff0276
827]
828[Bump Cabal HEAD version to 1.11.0
829Duncan Coutts <duncan@haskell.org>**20101010154518
830 Ignore-this: 407e2b1c0de8c10f399841b3fbea1dd3
831]
832[TAG 1.10 branch forked
833Duncan Coutts <duncan@haskell.org>**20101010155050
834 Ignore-this: 7b0241166f919e2a374a2a69669b2e6b
835]
836Patch bundle hash:
837a8df698937922ccab48e8926f4c54ddd2fdb6f00