úÎ=O9kF      !"#$%&'()*+,-./0123456789:;<=>?@ABCDE Safe-Infered #Interaction with a Haskell system. KExecute the given Haskell code and return the response as a list of lines. %Load a file into the Haskell system. Terminate with prejudice.  Clean exit.  A driver for GHCi using a slave process.  ghci command name flags     Safe-Infered A collection of conventions. The directory convention. The filename convention. The test conventions. A test convention maps a line in a TestFile into a function  that runs the test. A test file convention" maps a file name into an action. A directory convention' maps a directory name into an action. An action7 tells TBC what to do when it (recursively) encounters  a directory or file.  Process this file or directory. Skip this file or directory. Cease testing. 'The collection of rendering functions. Allocate a new test state. Render a compilation failure. S FIXME refine: skipped a file, skipped some tests, some tests told us to skip, ... !$Render a skipped directory or file. "Handle being told to stop. #&Execute a test and render its result. $ Yield an F" depending on how the tests went. %AA renderer maps a verbosity level into a bunch of functions that # tells the user of various events. &The result of a single -. ''The test failed with this explanation. )The test succeeded. *Cease testing. +$This test has not yet been written. ,Skip this test. -A single test. /Each - in a TestFile must have a different name. 2Location of a -. 7Construct a location. 8ADiscern a test name from a string, viz the entirety of the varid C starting at the start of the string. FIXME this should follow the 9 Haskell lexical conventions and perhaps be more robust. 9%Visit all files in a directory tree.  FIXME try to eliminate the . with some refactoring. :-Apply a list of conventions to the guts of a TestFile. + !"#$%&'()*+,-./0123456789:G4  !"#$%&'()*+,-./0123456789: !"#$%&,+*)'(-./0123456789:G Safe-InferedHA TAP generator (noisy). I#UNIX style: only reports failures. HIHIHI Safe-Infered;Skip .darcs and .git directories, and Cabal's dist  directory. 4Could also imagine skipping subproject directories. < Skip Cabal's Setup.hs. =!The test should yield the string J. This should work for  tests of type Bool, IO Bool, IO () with a putStrLn, ...  Note the K4 in its implementation is not entirely useless: the  test may use unsafePerformIO or trace to incidentally output  things after J. >The K#ed test should throw an exception. ?A HUnit unit test. @A QuickCheck test. We use the  % driver, i.e., the default settings. A!The standard set of conventions. ;<=>?@A;<=>?@A;<=>?@A Safe-InferedB*A parametrised bells-and-whistles driver. C#A hardwired (conventional) driver. D'This is a drop-in replacement for Cabal's   . DHowever the test infrastructure in Cabal has changed since this was B written, and its use is discouraged. Use the TBC binary instead. EA driver compatible with Cabal's runTests hook. DHowever the test infrastructure in Cabal has changed since this was B written, and its use is discouraged. Use the TBC binary instead.  This is used by the TBC binary. BCDE&Where are the tests (dirs and files)? F  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF=>?@;<A-./01&,+*)'(% !"#$ 23456789: CBEDBCDEL         !"#$%&'())*+,-./01234567889:;<<=>?@ABCDEFGHIJKL MNOPQRSTUVTWXY TBC-0.0.3Test.TBCTest.TBC.Drivers Test.TBC.CoreTest.TBC.RenderersTest.TBC.ConventionTest.QuickCheck quickCheckDistribution.Simple defaultMain Cabal-1.14.0Distribution.Simple.Utilsdebuginfo setupMessagenoticewarnDistribution.Verbosity deafeningverbosenormalsilent VerbosityDriverMkDriver hci_send_cmd hci_load_filehci_kill hci_closeghci Conventions cDirectory cTestFilecTestsTestConventionTestFileConventionDirectoryConventionActionContSkipStop RenderFns rInitialStaterCompilationFailurerSkiprStoprTestrFinalRendererResultTestResultFailuremsgTestResultSuccessTestResultStopTestResultToDoTestResultSkipTesttName tLocationtRunLocationlFilelLinelColumn mkLocation mkTestNametraverseDirectoriesapplyTestConventionsstdDirectoryConvstdTestFileConvbooltest exceptionhunit quickcheckstd tbcWithHookstbctbcCabalbaseGHC.IO.ExceptionExitCode$fShowLocationtapquietghc-prim GHC.TypesTrueGHC.Primseq