úÎt!kųP      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO Safe-InferedPOExecute IO actions on several threads and return their results in the original T order. It is guaranteed that no action from the input list is executed unless all S the items that precede it in the list have been executed or are executing at that  moment. PNumber of threads to use :Actions to execute: these will be scheduled left to right >Ordered results of executing the given IO actions in parallel PP Safe-InferedQQQ Safe-InferedRSTRSTRST  Safe-InferedUVWUVWUVW  Safe-InferedXXX  Safe-Infered ]Given a number of microseconds and an improving IO action, run that improving IO action only 9 for at most the given period before giving up. See also Y. As   , but don'-t bother applying a timeout to the action if Nothing is given : as the number of microseconds to apply the time out for.  Z[\    Z[\  Safe-InferedLike ]2, but does not append a trailing newline if there % is at least one line. For example:  % unlinesConcise ["A", "B"] == "A\nB"  unlinesConcise [] == ""  Whereas:   unlines ["A", "B"] == "A\nB\n"  unlines [] == "" #This is closer to the behaviour of ^, which does not append  a trailing space.       Safe-Infered_`ab_`a_`ab Safe-InferedcTEvaluates the given list for the given number of microseconds. After the time limit T has been reached, a list is returned consisting of the prefix of the list that was / successfully evaluated within the time limit. This function does not= evaluate the elements of the list: it just ensures that the # list spine arrives in good order. XThe spine of the list is evaluated on the current thread, so if spine evaluation blocks R this function will also block, potentially for longer than the specificed delay. ccc Safe-Infereddefghijdefghijdfegihj Safe-InferedGiven a C, returns a new random number generator based on that seed and the T actual numeric seed that was used to build that generator, so it can be recreated. klkl Safe-Infered!FSeed that should be used to create random numbers for generated tests "IMaximum number of tests to generate when using something like QuickCheck #eMaximum number of unsuitable tests to consider before giving up when using something like QuickCheck $EMaximum size of generated tests when using something like QuickCheck %FMaximum depth of generated tests when using something like SmallCheck &NThe number of microseconds to run tests for before considering them a failure  !"#$%&'(m  !"#$%&'( (' !"#$%& !"#$%&'(m Safe-Infered)*+,-./012345678n)*+,-./012345678587643)*+,-./012) *+,-./012345876n Safe-Infered ;OMain test data type: builds up a list of tests to be run. Users should use the R utility functions in e.g. the test-framework-hunit and test-framework-quickcheck ! packages to create instances of ;), and then build them up into testsuites  by using G and lists. 8For an example of how to use test-framework, please see   ]http://github.com/batterseapower/test-framework/raw/master/example/Test/Framework/Example.lhs <'Convenience for creating tests from an o action = Add some options to child tests >1Assemble a number of tests into a cohesive group ?&A single test of some particular type @$The name of a type of test, such as  Properties or  Test Cases . Tests of K types of the same names will be grouped together in the test run summary. A8Test names or descriptions. These are shown to the user BLSomething test-like in its behaviour. The type parameters are the type that P is used for progress reports, the type of the final output of the test and the H data type encapsulating the whole potential to do a test respectively. E;Something like the result of a test: works in concert with B. L The type parameters are the type that is used for progress reports and the 4 type of the final output of the test respectively. G1Assemble a number of tests into a cohesive group H Add some options to child tests I'Convenience for creating tests from an o action J]Mark all tests in this portion of the tree as mutually exclusive, so only one runs at a time 9:;<=>?@ABCDEFGHIJp9:;<=>?@ABCDEFGHIJ 9:;?>=<@ABCDEFGHIJp Safe-Infered;  !"#$%&'(9:;<=>?@ABCDEFGHIJ,EFBCDA@;?>=<GHI9:J  Safe-Inferedq@A test that has been executed or is in the process of execution rstuqvwxTop-level runner options  Tests to run rstuqvwxrstuqwvx Safe-Inferedy=Records information about the run of a number of tests, such ? as how many tests have been run, how many are pending and how  many have passed or failed. z@Records a count of the various kinds of test that have been run {7The number of tests of all kinds recorded in the given z |DCreate some test statistics that simply records the total number of ? tests to be run, ready to be updated by the actual test runs. y}~€z‚ƒ„{…†|‡ˆ‰Š‹y}~€z‚ƒ„{…†|‡ˆ‰y}~€z‚ƒ„{…†|‡ˆ‰Š‹ Safe-InferedŒ5Displays statistics as a string something like this:   Properties Total  Passed 9 9  Failed 1 1  Total 10 10 ŒŒŒ Safe-Infered Safe-Infered ŽAAn overall description of the test suite run. This is currently C styled after the JUnit xml. It contains records that are not yet C used, however, it provides a sensible structure to populate as we C are able, and the serialiazation code behaves as though these are  filled. )The number of tests that triggered error % conditions (unanticipated failures) 3Count of tests that invalidated stated assertions. ‘/Count of tests that were provided but not run. ’&The hostname that ran the test suite. “The name of the test suite. ”$The total number of tests provided. •-The total execution time for the test suite. –7The time stamp that identifies when this run happened. —Included for completness w/ junit. ˜#holdover from Junit spec. Could be ( used to specify the module under test. ™4detailed description and results for each test run. š Serializes a Ž value to a ›. Žœ‘’“”•–—˜™šŽœ‘’“”•–—˜™šŽ œ‘’“”•–—˜™š Safe-Infered Safe-InferedK2Parse the specified command line arguments into a 4 and some remaining arguments, $ or return a reason as to why we can't. L A version of K$ that ends the process if it fails. N A version of M1 that lets you ignore the command line arguments  in favour of another list of ›s. O A version of M1 that lets you ignore the command line arguments ! in favour of an explicit set of 4. KLMNOžŸKLMNOMNOKLKLMNOžŸ Safe-Infered* !"#$%&'()*+,-./012345678;AGHIJKLMNOEFBCDA@;?>=<GHI9:J          ! " # $ $ % & ' ( ) * + , - . / 0123456789:;<=>7?@ABCDEFGHI@JKLMNOPQRSPTUVWXYZ[\]^_`abcdeffg h i j klmn o p qlrslrt u v w xyz{z|}~€‚ƒ„…†‡ˆ‰Š‹‹ŒˆŽ‘Ž’“”•–—˜™š›œžŸ ĄĒĢĪĨͧĻĐŠŦŽ­ŪlŊ°Ēąēģītest-framework-0.6.1Test.Framework.Providers.APITest.Framework.SeedTest.Framework.OptionsTest.Framework.Runners.OptionsTest.Framework.Runners.Console!Test.Framework.Runners.ThreadPool(Test.Framework.Runners.Console.Utilities*Test.Framework.Runners.Console.ProgressBar%Test.Framework.Runners.Console.Colors!Test.Framework.Runners.ProcessorsTest.Framework.ImprovingTest.Framework.Utilities"Test.Framework.Runners.TestPattern'Test.Framework.Runners.TimedConsumption$Test.Framework.Runners.Console.TableTest.Framework.CoreTest.Framework.Runners.Core!Test.Framework.Runners.Statistics)Test.Framework.Runners.Console.Statistics"Test.Framework.Runners.Console.Run&Test.Framework.Runners.XML.JUnitWriterTest.Framework.Runners.XMLTest.Framework ImprovingIO:~> ImprovingFinishedbimapImproving improvingLastconsumeImprovingyieldImprovementrunImprovingIOliftIOtimeoutImprovingIOmaybeTimeoutImprovingIOKunKsecondsToMicrosecondsmicrosecondsToPicosecondslistToMaybeLast mappendByorElseonLeftonRightunlinesConcise mapAccumLMpadRightdropLastSeed RandomSeed FixedSeednewSeededStdGennewStdGenWithKnownSeed TestOptions' TestOptions topt_seedtopt_maximum_generated_tests'topt_maximum_unsuitable_generated_teststopt_maximum_test_sizetopt_maximum_test_depth topt_timeoutCompleteTestOptionsRunnerOptions' RunnerOptions ropt_threadsropt_test_optionsropt_test_patternsropt_xml_outputropt_xml_nestedropt_color_moderopt_hide_successesropt_list_onlyCompleteRunnerOptions ColorMode ColorAlways ColorNever ColorAutoMutuallyExcludedMETest BuildTestPlusTestOptions TestGroup TestTypeNameTestNameTestlikerunTest testTypeNameTestResultlike testSucceeded testGroupplusTestOptions buildTestmutuallyExclusive interpretArgsinterpretArgsOrExit defaultMaindefaultMainWithArgsdefaultMainWithOpts executeOnPoolhideCursorDuringProgress progressBar colorFail colorPasscolorPassOrFailprocessorCountbaseSystem.Timeouttimeout$fMonadImprovingIO$fFunctorImprovingIO $fFunctor:~> Data.Listunlinesunwords TestPatternparseTestPatterntestPatternMatches$fReadTestPatternconsumeListInIntervalColumnSeperatorColumnCell SeperatorCellTextCell renderTable $fReadSeed $fShowSeed$fMonoidTestOptions'$fMonoidRunnerOptions'ghc-prim GHC.TypesIO$fTestlikeirMutuallyExcludedRunTest FinishedTest RunningTest SomeImproving RunTestGrouprunTestsTestStatistics TestCounttestCountTotalinitialTestStatisticsts_total_tests ts_run_teststs_passed_teststs_failed_teststestCountTestTypestestCountForTypeadjustTestCountts_pending_teststs_no_failuresupdateTestStatisticstotalRunTestsListgatherStatistics$fMonoidTestStatistics$fMonoidTestCountshowFinalTestStatisticsshowRunTestsTopRunDescriptionerrors failedCountskippedhostname suiteName testCounttime timeStamprunIdpackagetests serializeGHC.BaseString produceReport$fFunctorArgDescr$fFunctorOptDescr