úΙïYe      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdSafe ;=>?ACLSTVZ X –Given a number of microseconds and an improving IO action, run that improving IO action only for at most the given period before giving up. See also e. As  7, but don't bother applying a timeout to the action if NothingC is given as the number of microseconds to apply the time out for.  fg Safe ;=>?ACLSTVZ ?hij Safe ;=>?ACLSTVZ äklmkl Safe ;=>?ACLSTVZ ’n None ;=>?ACLSTVZ /o Safe ;=>?ACLSTVZûpþExecute IO actions on several threads and return their results in the original order. It is guaranteed that no action from the input list is executed unless all the items that precede it in the list have been executed or are executing at that moment.qúKeep grabbing items out of the infinite list of worker outputs until we have recieved word that all of the workers have shut down. This lets us turn a possibly infinite list of outputs into a certainly finite one suitable for use with reorderFrom.rŒThis function carefully shuffles the input list so it in the total order defined by the integers paired with the elements. If the list is xs& and the supplied initial integer is n, it must be the case that: -sort (map fst xs) == [n..n + (length xs - 1)]sThis function returns items in the lazy result list as soon as it is sure it has the right item for that position.pNumber of threads to use9Actions to execute: these will be scheduled left to right=Ordered results of executing the given IO actions in parallelpstuSafe ;=>?ACLSTVZ#7Like vV, 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 w*, which does not append a trailing space.  Safe ;=>?ACLSTVZ&žGiven a –, returns a new random number generator based on that seed and the actual numeric seed that was used to build that generator, so it can be recreated.! Safe ;=>?ACLSTVZ/ZxÖEvaluates the given list for the given number of microseconds. After the time limit 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.©The spine of the list is evaluated on the current thread, so if spine evaluation blocks this function will also block, potentially for longer than the specificed delay.xNone ;=>?ACLSTVZ/÷"#$"#$"yz{|}~€‚ƒ„…Safe ;=>?ACLSTVZ0ↇˆ‰Š‹Œ†‡ˆ‰Š‹Safe ;=>?ACLSTVZ8ý)ESeed that should be used to create random numbers for generated tests*HMaximum number of tests to generate when using something like QuickCheck+dMaximum number of unsuitable tests to consider before giving up when using something like QuickCheck,DMaximum size of generated tests when using something like QuickCheck-EMaximum depth of generated tests when using something like SmallCheck.MThe number of microseconds to run tests for before considering them a failure '(.-,+*)/0 0/'()*+,-.21'()*+,-.None ;=>?ACLSTVZ:"3456789:;<=>?@AB?@AB>=3456789:;<DC"3 456789:;<?@ABSafe1;=>?ACLSTVZSàGÃMain test data type: builds up a list of tests to be run. Users should use the utility functions in e.g. the test-framework-hunit and test-framework-quickcheck2 packages to create instances of G3, and then build them up into testsuites by using S and lists.9For an example of how to use test-framework, please see ]http://github.com/batterseapower/test-framework/raw/master/example/Test/Framework/Example.lhsH%A single test of some particular typeI0Assemble a number of tests into a cohesive groupJAdd some options to child testsK'Convenience for creating tests from an  action, with cleanupL$The name of a type of test, such as  Propertiese or "Test Cases". Tests of types of the same names will be grouped together in the test run summary.M7Test names or descriptions. These are shown to the userNãSomething test-like in its behaviour. The type parameters are the type that is used for progress reports, the type of the final output of the test and the data type encapsulating the whole potential to do a test respectively.Q;Something like the result of a test: works in concert with N. The type parameters are the type that is used for progress reports and the type of the final output of the test respectively.S0Assemble a number of tests into a cohesive groupTAdd some options to child testsU'Convenience for creating tests from an  actionV'Convenience for creating tests from an ; action, with a cleanup handler for when tests are finishedW\Mark all tests in this portion of the tree as mutually exclusive, so only one runs at a timeEFGKJIHLMNPOQRSTUVWEFGHIJKNOPQRNone ;=>?ACLSTVZ]‚XX class simplifies folding a GX. You need to specify the important semantic actions by instantiating this class, and ]0 will take care of recursion and test filtering.YHow to handle a single testZ3How to skip a test that doesn't satisfy the pattern['How to handle an IO test (created with V)\How to run a test groupŽ?A test that has been executed or is in the process of execution]Run the test tree using a XTop-level runner options Tests to run]Qskip the tests that do not match any of these patterns, unless the list is emptyXYZ[\‘’“Ž”•]–—˜XYZ[\’“Ž”•None ;=>?ACLSTVZlŠ™ÿAn overall description of the test suite run. This is currently styled after the JUnit xml. It contains records that are not yet used, however, it provides a sensible structure to populate as we are able, and the serialiazation code behaves as though these are filled.šMThe number of tests that triggered error conditions (unanticipated failures)›2Count 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.¡6The time stamp that identifies when this run happened.¢"Included for completness w/ junit.£Jholdover from Junit spec. Could be used to specify the module under test.¤3detailed description and results for each test run.¥ Serializes a ™ value to a ¦.§Maps a ™ value to an XML Element™¨ ¤š›œžŸ¡¢£¥™ ¨š›œžŸ ¡¢£¤None ;=>?ACLSTVZsö©˜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.ª?Records a count of the various kinds of test that have been run«7The number of tests of all kinds recorded in the given ª¬‚Create some test statistics that simply records the total number of tests to be run, ready to be updated by the actual test runs.©­®¯°±ª²³´«µ¶¬·¸¹©­®¯°±ªº»None ;=>?ACLSTVZ{§¼ƒGenerates a description of the complete test run, given some initial over-all test statistics and the list of tests that was run.BThis is only specific to the XML code because the console output Runner} doesn't need this level of detail to produce summary information, and the per-test details are generated during execution.QThis could be done better by using a State monad in the notifier defined within  issueTests.½None ;=>?ACLSTVZ~t¾4Displays statistics as a string something like this: U Properties Total Passed 9 9 Failed 1 1 Total 10 10 ¾None ;=>?ACLSTVZ"3456789:;<=>?@ABXYZ[\]XYZ[\]None ;=>?ACLSTVZ€¿None ;=>?ACLSTVZ‹;^Nothing8 signifies that usage information should be displayed. JustP simply gives us the contribution to overall options by the command line option._eOptions understood by test-framework. This can be used to add more options to the tester executable.`2Parse the specified command line arguments into a >F and some remaining arguments, or return a reason as to why we can't.a A version of `# that ends the process if it fails.c A version of bO that lets you ignore the command line arguments in favour of another list of ¦s.d A version of bR that lets you ignore the command line arguments in favour of an explicit set of >.À$Print out a list of available tests.^_`abcdbcd^_`aSafe ;=>?ACLSTVZŒ = '()*+,-./0EFGHIJKLMNOPQRSTUVW.QRNOPMLGHIJKSTUVEFW  None ;=>?ACLSTVZŽO."'()*+,-./03456789:;<=>?@ABGMSTUVW^_`abcdQRNOPMLGHIJKSTUVEFWÁ !"#$%&&'()*+,-./0123456789:;<=>?@ABCDEFG@HIJKLMNOPQRSTKUVWXYZ[\]]^_`abcdefghijklmnopqrstuvwxyz{|}~  € ‚ ‚ ƒ „ … † ‡ ˆ ‰ Š ‹zŒzŒŽ:‘’“”•–—˜™š›œœžŸ ¡¢£¤¥¦§¨©©¥ª««¬­®¯°±²³´µ¶·¸¹zº»¼­½¾¿À½ÁÂÃÄÅÆÇÈÉÊË̾ÍÎÏÐÑÒÓ-test-framework-0.8.2.0-G4CfJXdmekx7VMF606mT4dTest.Framework.Providers.APITest.Framework.Seed"Test.Framework.Runners.TestPatternTest.Framework.OptionsTest.Framework.Runners.OptionsTest.Framework.Runners.APITest.Framework.Runners.ConsoleTest.Framework.Improving%Test.Framework.Runners.Console.Colors*Test.Framework.Runners.Console.ProgressBar(Test.Framework.Runners.Console.Utilities!Test.Framework.Runners.Processors!Test.Framework.Runners.ThreadPoolTest.Framework.Utilities'Test.Framework.Runners.TimedConsumption$Test.Framework.Runners.Console.TableTest.Framework.CoreTest.Framework.Runners.Core&Test.Framework.Runners.XML.JUnitWriter!Test.Framework.Runners.StatisticsTest.Framework.Runners.XML)Test.Framework.Runners.Console.Statistics"Test.Framework.Runners.Console.RunTest.Framework ImprovingIO:~>Finished ImprovingbimapImproving improvingLastconsumeImprovingyieldImprovementtunnelImprovingIOrunImprovingIOliftIOtimeoutImprovingIOmaybeTimeoutImprovingIOKunKsecondsToMicrosecondsmicrosecondsToPicosecondslistToMaybeLast mappendByorElseonLeftonRightunlinesConcise mapAccumLMpadRightdropLastSeed FixedSeed RandomSeednewSeededStdGennewStdGenWithKnownSeed $fReadSeed $fShowSeed TestPatternparseTestPatterntestPatternMatches$fReadTestPattern $fEqToken TestOptions' TestOptions topt_seedtopt_maximum_generated_tests'topt_maximum_unsuitable_generated_teststopt_maximum_test_sizetopt_maximum_test_depth topt_timeoutCompleteTestOptions$fMonoidTestOptions'$fSemigroupTestOptions'RunnerOptions' RunnerOptions ropt_threadsropt_test_optionsropt_test_patternsropt_xml_outputropt_xml_nestedropt_color_moderopt_hide_successesropt_list_onlyCompleteRunnerOptions ColorMode ColorAuto ColorNever ColorAlways$fMonoidRunnerOptions'$fSemigroupRunnerOptions'MutuallyExcludedMETest TestGroupPlusTestOptionsBuildTestBracketed TestTypeNameTestNameTestlikerunTest testTypeNameTestResultlike testSucceeded testGroupplusTestOptions buildTestbuildTestBracketedmutuallyExclusive TestRunner runSimpleTestskipTest runIOTestrunGroup runTestTreeSuppliedRunnerOptionsoptionsDescription interpretArgsinterpretArgsOrExit defaultMaindefaultMainWithArgsdefaultMainWithOptsbaseSystem.TimeouttimeoutIIOunIIO colorFail colorPasscolorPassOrFailProgress progressBarhideCursorDuringprocessorCount executeOnPooltakeWhileWorkersExist reorderFrom WorkerEventWorkerTermination WorkerItem Data.OldListunlinesunwordsconsumeListInIntervaltp_categories_only tp_negated tp_match_mode tp_tokensTestPatternMatchMode TestMatchMode PathMatchModeToken SlashToken WildcardTokenDoubleWildcardToken LiteralTokenColumnSeperatorColumnCellTextCell SeperatorCell renderTableghc-prim GHC.TypesIORunTestrunTests FinishedTest RunningTest SomeImproving RunTestGroup StdRunnerrunRunDescriptionerrors failedCountskippedhostname suiteName testCounttime timeStamprunIdpackagetests serializeGHC.BaseStringtoXmlTestStatistics TestCounttestCountTotalinitialTestStatisticsts_total_tests ts_run_teststs_passed_teststs_failed_teststestCountTestTypestestCountForTypeadjustTestCountts_pending_teststs_no_failuresupdateTestStatisticstotalRunTestsListgatherStatistics unTestCount mergeResults produceReportshowFinalTestStatisticsshowRunTestsTop listTests