Changeset 9253 in project


Ignore:
Timestamp:
03/07/08 00:35:40 (12 years ago)
Author:
Kon Lovett
Message:

Added index items for procedures & syntax.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wiki/testbase

    r9206 r9253  
    2828
    2929=== Documentation
    30 
    31 ==== Overview
    3230
    3331This extension provides a macro based unit testing facility based upon
     
    6664a test file.
    6765
     66===== test::timing
     67===== test::filtering
     68===== test::catching
     69===== test::selecting
     70===== test::limiting
     71
    6872<macro>(define-for-syntax test::timing FLAG)</macro>
    6973
     
    99103Due to a bug the Chicken multiline string forms cannot be used. This
    100104macro is provided as a workaround.
     105
     106===== MULTILINE-STRING
    101107
    102108<macro>(MULTILINE-STRING STRING ...)</macro>
     
    118124The results are not kept and no other forms are allowed in the body.
    119125
     126===== test
     127
    120128<macro>(test (EXPECTED EXPRESSION) ...)</macro>
    121129
     
    127135==== Test Procedure Definition
    128136
    129 All test forms are grouped into a test procedure. Test forms cannot be used outside of a test procedure without generating an error.
     137All test forms are grouped into a test procedure. Test forms cannot be used
     138outside of a test procedure without generating an error.
     139
     140===== define-test
    130141
    131142<macro>(define-test PROCEDURE-VARIABLE [TEST-NAME] [(initial FORM ...)] [(final FORM ...)] CLAUSE ...)</macro>
     
    174185invoked by {{test::run}}.
    175186
     187===== declare-test
     188
    176189<macro>(declare-test PROCEDURE-VARIABLE TEST-NAME ARGUMENT ...)</macro>
    177190
     
    197210substituted.
    198211
    199 ===== Operations On Individual Test Procedures
     212===== test::procedure?
    200213
    201214<procedure>(test::procedure? OBJECT)</procedure>
     
    203216Is the {{OBJECT}} a defined test-procedure object?
    204217
     218===== test::formal-arguments
     219
    205220<procedure>(test::formal-arguments TEST-IDENTIFIER)</procedure>
    206221
    207222Returns the formal argument list of the test-procedure.
     223
     224===== test::declarations
    208225
    209226<procedure>(test::declarations TEST-IDENTIFIER)</procedure>
     
    214231{{TEST-IDENTIFIER}} should identify a parameterized test-procedure.
    215232
     233===== test::procedure
     234
    216235<procedure>(test::procedure TEST-IDENTIFIER)</procedure>
    217236
    218237Returns a test-procedure or {{#f}}.
    219238
     239===== test::name
     240
    220241<procedure>(test::name TEST-IDENTIFIER)</procedure>
    221242
    222243Returns the test-name of the test-procedure.
    223244
     245===== test::procedure-variable
     246
    224247<procedure>(test::procedure-variable TEST-IDENTIFIER)</procedure>
    225248
    226249Returns the defined symbol of the test-procedure.
     250
     251===== test::styler
    227252
    228253<procedure>(test::styler TEST-IDENTIFIER)</procedure>
     
    231256{{#f}} when no default styler is set.
    232257
     258===== test::styler-set!
     259
    233260<procedure>(test::styler-set! TEST-IDENTIFIER [STYLER])</procedure>
    234261
     
    236263missing or {{#f}} then no default styler is set.
    237264
     265===== test::tolerance
     266
    238267<procedure>(test::tolerance TEST-IDENTIFIER)</procedure>
    239268
     
    241270test-procedure.
    242271
     272===== test::tolerance-set!
     273
    243274<procedure>(test::tolerance-set! TEST-IDENTIFIER TOLERANCE)</procedure>
    244275
     
    246277{{TOLERANCE}}.
    247278
     279===== test::reset!
     280
    248281<procedure>(test::reset! TEST-IDENTIFIER)</procedure>
    249282
    250283Sets the state of the test-procedure to the initial settings.
     284
     285===== test::structure
    251286
    252287<procedure>(test::structure TEST-IDENTIFIER)</procedure>
     
    260295The top-level {{suite}} element value refers to the test-procedure.
    261296
     297===== test::add-filter!
     298
    262299<procedure>(test::add-filter! TEST-IDENTIFIER FILTER-PROCEDURE)</procedure>
    263300
     
    271308Filtering occurs ''during'' test element evaluation.
    272309
     310===== test::remove-filter!
     311
    273312<procedure>(test::remove-filter! TEST-IDENTIFIER FILTER-PROCEDURE)</procedure>
    274313
    275314Removes {{FILTER-PROCEDURE}} from the result filter chain for the
    276315test-procedure.
     316
     317===== test::add-echo!
    277318
    278319<procedure>(test::add-echo! TEST-IDENTIFIER [PORT] [KEY VALUE ...])</procedure>
     
    303344the container.
    304345
     346===== test::remove-echo!
     347
    305348<procedure>(test::remove-echo! TEST-IDENTIFIER [PORT])</procedure>
    306349
    307350Removes the {{PORT}} echo for the test-procedure.
    308351
     352===== test::set-echo-option!
     353
    309354<procedure>(test::set-echo-option! TEST-IDENTIFIER [PORT] [KEY VALUE ...])</procedure>
    310355
     
    313358The {{PORT}}, {{KEY}}, and {{VALUE}} parameters have the same interpretation as the {{test::add-echo!}} procedure.
    314359
     360===== test::run-mode
     361
    315362<procedure>(test::run-mode)</procedure>
    316363
    317364Returns the test run mode, either {{batch}}, {{interactive}} or {{driven}}.
    318365
     366===== test::selection-mode
     367
    319368<procedure>(test::selection-mode TEST-IDENTIFIER)</procedure>
    320369
     
    326375
    327376The test procedure is always taken.
     377
     378===== test::take!
    328379
    329380<procedure>(test::take! SELECTION-MODE TEST-IDENTIFIER [TEST-NAME | (TEST-TYPE TEST-NAME)] ...)</procedure>
     
    353404'''Independent of the {{(skip CLAUSE ...)}} form.'''
    354405
     406===== test::selections
     407
    355408<procedure>(test::selections TEST-IDENTIFIER)</procedure>
    356409
     
    358411
    359412The list is composed of sublists - {{(#f|test|suite|case|expect TEST-NAME take|skip)}}.
     413
     414===== test::resource-limit
    360415
    361416<procedure>(test::resource-limit TEST-IDENTIFIER RLIMIT)</procedure>
     
    370425'''Only operational on *NIX platforms.'''
    371426
     427===== test::resource-limit-set!
     428
    372429<procedure>(test::resource-limit-set! TEST-IDENTIFIER RLIMIT VALUE)</procedure>
    373430
     
    389446'''Only operational on *nix platforms.'''
    390447
    391 ==== Operations On Multiple Test Procedures
     448===== test::procedures
    392449
    393450<procedure>(test::procedures)</procedure>
    394451
    395452Returns a list of all the test-procedures.
     453
     454===== test::for-each
    396455
    397456<procedure>(test::for-each PROCEDURE [TEST-IDENTIFIER ...])</procedure>
     
    402461{{PROCEDURE}} takes one argument, a test-procedure.
    403462
     463===== test::map
     464
    404465<procedure>(test::map PROCEDURE [TEST-IDENTIFIER ...])</procedure>
    405466
     
    409470{{PROCEDURE}} takes one argument, a test-procedure.
    410471
     472===== test::forget!
     473
    411474<procedure>(test::forget! [TEST-IDENTIFIER ...])</procedure>
    412475
     
    415478
    416479'''Really only for use during test development with a REPL.'''
     480
     481===== test::run
    417482
    418483<procedure>(test::run [MESSAGE [TEST-IDENTIFIER ...]])</procedure>
     
    441506Run test-procedures and output test results.
    442507
     508===== run-test
     509
    443510<macro>(run-test [MESSAGE] [FORM ...])</macro>
    444511
     
    476543procedure.
    477544
    478 ===== Test Containers
     545==== Test Containers
    479546
    480547Test containers are test forms that group test forms. Test container
     
    482549options. A test container imposes an evaluation termination mode on
    483550the contained tests. Test containers may nest.
     551
     552===== test-suite
    484553
    485554<macro>(test-suite TEST-NAME DTOR-NAME ESCR-NAME [(warn MESSAGE)] [((VARIABLE VALUE) ...)] CLAUSE ...)</macro>
     
    527596evaluation stops immediately.
    528597
     598===== test-case
     599
    529600<macro>(test-case TEST-NAME DTOR-NAME ESCR-NAME [(warn MESSAGE)] [((VARIABLE VALUE) ...)] CLAUSE ...)</macro>
    530601
     
    568639start of each {{test-case}}.
    569640
     641===== test-collect
     642
    570643<macro>(test-collect TEST-NAME DTOR-NAME ESCR-NAME [(warn MESSAGE)] [((VARIABLE VALUE) ...)] EXPRESSION ...)</macro>
    571644
     
    617690
    618691
    619 ===== Test Flags
     692==== Test Flags
    620693
    621694These macros set test execution flags.
    622695
     696===== test-case-evaluate-thru-failure
     697
    623698<macro>(test-case-evaluate-thru-failure BOOLEAN)</macro>
    624699
     
    627702The starting value is {{#f}}.
    628703
     704===== test-timing
     705
    629706<macro>(test-timing BOOLEAN)</macro>
    630707
     
    635712Note that if timing expansion is turned off setting this flag has no effect.
    636713
     714===== test-evaluation-mode?
     715
    637716<macro>(test-evaluation-mode?)</macro>
    638717
     
    641720Potentially useful within test procedure {{initial}} and {{final}} forms.
    642721
    643 ===== Test Binding Forms
     722==== Test Binding Forms
     723
     724===== test-letrec
    644725
    645726<macro>(test-letrec ((VARIABLE VALUE) ...) CLAUSE ...)</macro>
     
    654735form of some kind, such as an expectation.
    655736
     737===== test-let*
     738
    656739<macro>(test-let* ((VARIABLE VALUE) ...) CLAUSE ...)</macro>
    657740
     
    665748some kind, such as an expectation.
    666749
     750===== test-let
     751
    667752<macro>(test-let ((VARIABLE VALUE) ...) CLAUSE ...)</macro>
    668753
     
    676761form of some kind, such as an expectation.
    677762
    678 ===== Test Expectations
     763==== Test Expectations
    679764
    680765An expectation at its core simply evaluates its arguments and check to
     
    698783treated as an abnormal termination of the entire test.
    699784
     785===== insist
     786
    700787<macro>(insist [TEST-NAME] [(warn MESSAGE)] EXPRESSION => EXPECTED)</macro>
    701788
     
    721808predicate.
    722809
     810===== expect-unary
     811
    723812<macro>(expect-unary [TEST-NAME] [(warn MESSAGE)] KIND PREDICATE EXPRESSION)</macro>
    724813
     
    739828predicate.
    740829
     830===== expect-binary
     831
    741832<macro>(expect-binary [TEST-NAME] [(warn MESSAGE)] KIND PREDICATE EXPECTED EXPRESSION)</macro>
    742833
     
    761852predicate.
    762853
     854===== expect-zero
     855
    763856<macro>(expect-zero [TEST-NAME] [(warn MESSAGE)] EXPRESSION)</macro>
    764857
     
    774867{{EXPRESSION}} should return a number.
    775868
     869===== expect-nonzero
     870
    776871<macro>(expect-nonzero [TEST-NAME] [(warn MESSAGE)] EXPRESSION)</macro>
    777872
     
    787882{{EXPRESSION}} should return a number.
    788883
     884===== expect-positive
     885
    789886<macro>(expect-positive [TEST-NAME] [(warn MESSAGE)] EXPRESSION)</macro>
    790887
     
    800897{{EXPRESSION}} should return a number.
    801898
     899===== expect-negative
     900
    802901<macro>(expect-negative [TEST-NAME] [(warn MESSAGE)] EXPRESSION)</macro>
    803902
     
    813912{{EXPRESSION}} should return a number.
    814913
     914===== expect-near
     915
    815916<macro>(expect-near [TEST-NAME] [(warn MESSAGE)] EXPECTED [TOL] EXPRESSION)</macro>
    816917
     
    837938supported!
    838939
     940===== expect-true
     941
    839942<macro>(expect-true [TEST-NAME] [(warn MESSAGE)] EXPRESSION)</macro>
    840943
     
    850953{{EXPRESSION}} should return {{#t}}.
    851954
     955===== expect-false
     956
    852957<macro>(expect-false [TEST-NAME] [(warn MESSAGE)] EXPRESSION)</macro>
    853958
     
    863968{{EXPRESSION}} should return {{#f}}.
    864969
     970===== expect-success
     971
    865972<macro>(expect-success [TEST-NAME] [(warn MESSAGE)] EXPRESSION)</macro>
    866973
     
    877984exception.
    878985
     986===== expect-failure
     987
    879988<macro>(expect-failure [TEST-NAME] [(warn MESSAGE)] EXPRESSION)</macro>
    880989
     
    890999{{EXPRESSION}} should return {{#f}}, or generate an error exception.
    8911000
     1001===== expect-not-false
     1002
    8921003<macro>(expect-not-false [TEST-NAME] [(warn MESSAGE)] EXPRESSION)</macro>
    8931004
     
    9031014{{EXPRESSION}} should not return {{#f}}, any other value is accepted.
    9041015
     1016===== expect-not-null
     1017
    9051018<macro>(expect-not-null [TEST-NAME] [(warn MESSAGE)] EXPRESSION)</macro>
    9061019
     
    9161029{{EXPRESSION}} should not return {{#f}}, any other value is accepted.
    9171030
     1031===== expect-eq
     1032
    9181033<macro>(expect-eq [TEST-NAME] [(warn MESSAGE)] EXPECTED EXPRESSION)</macro>
    9191034
     
    9391054{{EXPECTED}} expression.
    9401055
     1056===== expect-eqv
     1057
    9411058<macro>(expect-eqv [TEST-NAME] [(warn MESSAGE)] EXPECTED EXPRESSION)</macro>
    9421059
     
    9621079{{EXPECTED}} expression.
    9631080
     1081===== expect-equal
     1082
    9641083<macro>(expect-equal [TEST-NAME] [(warn MESSAGE)] EXPECTED EXPRESSION)</macro>
    9651084
     
    9851104{{EXPECTED}} expression.
    9861105
     1106===== expect-unary/values
     1107
    9871108<macro>(expect-unary/values [TEST-NAME] [(warn MESSAGE)] KIND (PREDICATE ...) EXPRESSION)</macro>
    9881109
     
    10041125{{EXPRESSION}} has a multi-valued result.
    10051126
    1006 <macro>(expect-binary/values [TEST-NAME] [(warn MESSAGE)] KIND (PREDICATE ...) VALUES EXPRESSION)</macro>
     1127===== expect-near/values
     1128
     1129<macro>(expect-near/values [TEST-NAME] [(warn MESSAGE)] KIND (PREDICATE ...) VALUES EXPRESSION)</macro>
    10071130
    10081131This expectation checks to see if the evaluated multi-valued expression
     
    10251148{{EXPRESSION}} has a multi-valued result.
    10261149
     1150===== expect-near/values
     1151
    10271152<macro>(expect-near/values [TEST-NAME] [(warn MESSAGE)] EXPECTED [TOL] EXPRESSION)</macro>
    10281153
     
    10491174supported!
    10501175
     1176===== expect-eq/values
     1177
    10511178<macro>(expect-eq/values [TEST-NAME] [(warn MESSAGE)] VALUES EXPRESSION)</macro>
    10521179
     
    10651192{{EXPRESSION}} has a multi-valued result.
    10661193
     1194===== expect-eqv/values
     1195
    10671196<macro>(expect-eqv/values [TEST-NAME] [(warn MESSAGE)] VALUES EXPRESSION)</macro>
    10681197
     
    10801209
    10811210{{EXPRESSION}} has a multi-valued result.
     1211
     1212===== expect-equal/values
    10821213
    10831214<macro>(expect-equal/values [TEST-NAME] [(warn MESSAGE)] VALUES EXPRESSION)</macro>
     
    10971228
    10981229{{EXPRESSION}} has a multi-valued result.
     1230
     1231===== expect-exception
    10991232
    11001233<macro>(expect-exception [TEST-NAME] [(warn MESSAGE)] EXCEPTION-PATTERN EXPRESSION)</macro>
     
    11621295</example>
    11631296
     1297===== expect-ec
     1298
    11641299<macro>(expect-ec [TEST-NAME] [(warn MESSAGE)] QUALIFIER ... EXPECTED [=> PREDICATE] EXPRESSION)</macro>
    11651300
     
    11841319provided to use this expectation.
    11851320
     1321===== expect-set!
     1322
    11861323<macro>(expect-set! [TEST-NAME] VARIABLE VALUE)</macro>
    11871324
     
    11921329{{EXPRESSION}} cannot evaluate to {{#f}} or a {{condition}}.
    11931330
    1194 ===== Define New Expectations
     1331==== Define New Expectations
    11951332
    11961333An API to define new expectation macros. May only be used at the
    11971334toplevel.
     1335
     1336===== define-expect-unary
    11981337
    11991338<macro>(define-expect-unary PREDICATE [SUFFIX [KIND]])</macro>
     
    12111350string form of the {{SUFFIX}} is used.
    12121351
     1352===== define-expect-binary
     1353
    12131354<macro>(define-expect-binary PREDICATE [SUFFIX [KIND]])</macro>
    12141355
     
    12251366string form of the {{SUFFIX}} is used.
    12261367
     1368===== define-expect-unary/values
     1369
    12271370<macro>(define-expect-unary/values PREDICATE [SUFFIX [KIND]])</macro>
    12281371
     
    12391382string form of the {{SUFFIX}} is used.
    12401383
     1384===== define-expect-binary/values
     1385
    12411386<macro>(define-expect-binary/values PREDICATE [SUFFIX [KIND]])</macro>
    12421387
     
    12531398string form of the {{SUFFIX}} is used.
    12541399
     1400===== define-expect-nary
     1401
    12551402<macro>(define-expect-nary (SUFFIX ARG ...) EXPR ...)</macro>
    12561403
     
    12661413{{EXPR ...}} is the body, which must return {{#f}} for failure.
    12671414
    1268 ===== Testeez Synonyms
     1415==== Testeez Synonyms
    12691416
    12701417Syntax forms mimicking some of the '''testeez''' test framework forms.
     
    12761423having possible multiple valued returns.
    12771424
     1425===== test-eval
     1426
    12781427<macro>(test-eval [TEST-NAME] EXPRESSION)</macro>
    12791428
     1429===== test/eq
     1430
    12801431<macro>(test/eq [TEST-NAME] EXPRESSION EXPECTED)</macro>
    12811432
     1433===== test/eqv
     1434
    12821435<macro>(test/eqv [TEST-NAME] EXPRESSION EXPECTED)</macro>
    12831436
     1437===== test/equal
     1438
    12841439<macro>(test/equal [TEST-NAME] EXPRESSION EXPECTED)</macro>
    12851440
    1286 ===== Test Setup (Side-Effect)
     1441==== Test Setup (Side-Effect)
    12871442
    12881443The side effecting evaluates all of its arguments as in a {{(begin
     
    12901445system and unavailable to the output analysis code.
    12911446
     1447===== side-effect
     1448
    12921449<macro>(side-effect CLAUSES)</macro>
    12931450
     
    13021459Define forms cannot be expressed here.
    13031460
     1461===== setup
     1462
    13041463<macro>(setup CLAUSES)</macro>
    13051464
    13061465A synonym for {{side-effect}}.
    13071466
    1308 ===== Test Teardown (Destructor)
     1467==== Test Teardown (Destructor)
    13091468
    13101469The destructor object allows for you to create helper functions which
     
    13191478destructor object that removes the file.
    13201479
     1480===== destructor-atexit!
     1481
    13211482<macro>(destructor-atexit! [DTOR-NAME] CALL ...)</macro>
    13221483
     
    13461507the testbase system.
    13471508
     1509===== teardown
     1510
    13481511<macro>(teardown [DTOR-NAME] (FUNC ARGUMENT ...) ...)</macro>
    13491512
     
    13641527the testbase system.
    13651528
     1529===== destructor-clear!
     1530
    13661531<macro>(destructor-clear! [DTOR-NAME])</macro>
    13671532
     
    13741539the testbase system.
    13751540
     1541===== destructor-dump
     1542
    13761543<macro>(destructor-dump [DTOR-NAME])</macro>
    13771544
     
    13851552the testbase system.
    13861553
    1387 ===== Gloss
     1554==== Gloss
    13881555
    13891556The purpose of the gloss API is to allow the author of a test suite
     
    13911558documentation purposes.
    13921559
     1560===== gloss
     1561
    13931562<macro>(gloss MESSAGE [(warn WARNING)])</macro>
    13941563
     
    14001569name is actually a syntax reserved word in the macro.
    14011570
    1402 ===== Skip
     1571==== Skip
    14031572
    14041573The purpose of the skip API is to allow the author of a test suite to
    14051574completely skip evaluation of a set of expressions.
     1575
     1576===== skip
    14061577
    14071578<macro>(skip MESSAGE [(warn WARNING)] CLAUSES)</macro>
     
    14171588that does <em>NOT</em> get evaluated at any time.
    14181589
    1419 ===== Termination
     1590==== Termination
    14201591
    14211592When executing in a test suite or a test case, one might discover some
     
    14301601analyzing the result tree.
    14311602
     1603===== terminate
     1604
    14321605<macro>(terminate MESSAGE)</macro>
    14331606
     
    14511624{{FINDING}} can be any scheme object, though usually it is a boolean.
    14521625
    1453 ===== Todo
     1626==== Todo
    14541627
    14551628The purpose of the todo API is to allow the author of a test suite the
     
    14571630something still needs to be done. This way you can count/manipulate
    14581631this information at a later date.
     1632
     1633===== todo
    14591634
    14601635<macro>(todo MESSAGE [(warn WARNING)])</macro>
     
    14771652
    14781653
    1479 ===== Any Test Result Object
     1654==== Any Test Result Object
    14801655
    14811656This section contains a few functions whose purpose is to simplify
     
    14831658error for an invalid result object.
    14841659
     1660===== test::result?
     1661
    14851662<procedure>(test::result? RESULT-OBJ)</procedure>
    14861663
     
    14891666{{#f}}.
    14901667
     1668===== test::ignore-result?
     1669
    14911670<procedure>(test::ignore-result? RESULT-OBJ)</procedure>
    14921671
     
    14951674object is not considered an evaluated result object.
    14961675
     1676===== test::result-passed?
     1677
    14971678<procedure>(test::result-passed? RESULT-OBJ)</procedure>
    14981679
     
    15011682object.
    15021683
     1684===== test::result-finding
     1685
    15031686<procedure>(test::result-finding RESULT-OBJ)</procedure>
    15041687
     
    15081691The finding is a variant type: {{boolean}} | {{condition}}.
    15091692
     1693===== test::result-name
     1694
    15101695<procedure>(test::result-name RESULT-OBJ)</procedure>
    15111696
     
    15131698{{RESULT-OBJ}} passed to it if it is indeed a true result object.
    15141699
     1700===== test::result-message
     1701
    15151702<procedure>(test::result-message RESULT-OBJ)</procedure>
    15161703
     
    15181705{{RESULT-OBJ}} passed to it if it is indeed a true result object.
    15191706
     1707===== test::result-warning?
     1708
    15201709<procedure>(test::result-warning? RESULT-OBJ)</procedure>
    15211710
     
    15231712{{RESULT-OBJ}} is any kind of an evaluated result object.
    15241713
     1714===== test::result-warning
     1715
    15251716<procedure>(test::result-warning RESULT-OBJ)</procedure>
    15261717
     
    15281719passed to it if it is indeed a true result object.
    15291720
     1721===== test::result-timing?
     1722
    15301723<procedure>(test::result-timing? RESULT-OBJ)</procedure>
    15311724
    15321725This function will return whether a timing is defined if
    15331726{{RESULT-OBJ}} is any kind of an evaluated result object.
     1727
     1728===== test::result-timing
    15341729
    15351730<procedure>(test::result-timing RESULT-OBJ)</procedure>
     
    15451740user code and 1 millisecond spent in system code.
    15461741
     1742===== test::result-timing-message
     1743
    15471744<procedure>(test::result-timing-message RESULT-OBJ)</procedure>
    15481745
     
    15501747{{RESULT-OBJ}} passed to it if it is indeed a true result object.
    15511748
     1749===== test::result-kind
     1750
    15521751<procedure>(test::result-kind RESULT-OBJ)</procedure>
    15531752
     
    15551754if it is indeed a true result object.
    15561755
    1557 ===== Test Container Result Object
    1558 
    1559 ====== Test Suite Result Object
     1756==== Test Container Result Object
     1757
     1758==== Test Suite Result Object
    15601759
    15611760If any of these API functions, except ''test::test-suite-result?'', are
     
    15631762undefined value.
    15641763
     1764===== test::test-suite-result?
     1765
    15651766<procedure>(test::test-suite-result? RESULT)</procedure>
    15661767
     
    15691770return {{#f}}.
    15701771
     1772===== test::test-suite-result-passed?
     1773
    15711774<procedure>(test::test-suite-result-passed? RESULT)</procedure>
    15721775
     
    15741777{{RESULT}} object.
    15751778
     1779===== test::test-suite-result-finding
     1780
    15761781<procedure>(test::test-suite-result-finding RESULT)</procedure>
    15771782
     
    15791784object.
    15801785
     1786===== test::test-suite-result-name
     1787
    15811788<procedure>(test::test-suite-result-name RESULT)</procedure>
    15821789
    15831790Returns the message object associated with the test suite {{RESULT}} object.
     1791
     1792===== test::test-suite-result-list
    15841793
    15851794<procedure>(test::test-suite-result-list RESULT)</procedure>
     
    15881797{{RESULT}} object.
    15891798
     1799===== test::test-suite-result-warning?
     1800
    15901801<procedure>(test::test-suite-result-warning? RESULT)</procedure>
    15911802
    15921803If a warning had been attached to this test suite, this function will
    15931804return {{#t}}, otherwise it will be {{#f}}.
     1805
     1806===== test::test-suite-result-warning
    15941807
    15951808<procedure>(test::test-suite-result-warning RESULT)</procedure>
     
    15991812return {{'()}}.
    16001813
     1814===== test::test-suite-result-timing?
     1815
    16011816<procedure>(test::test-suite-result-timing? RESULT)</procedure>
    16021817
     
    16041819{{#t}}, otherwise it will be {{#f}}.
    16051820
     1821===== test::test-suite-result-timing
     1822
    16061823<procedure>(test::test-suite-result-timing RESULT)</procedure>
    16071824
     
    16091826the timing pair, otherwise it shall return {{'(0 . 0)}}.
    16101827
     1828===== test::test-suite-results-passed?
     1829
    16111830<procedure>(test::test-suite-results-passed? RESULT-LIST)</procedure>
    16121831
     
    16141833{{RESULT-LIST}} passed, or {{#f}} otherwise.
    16151834
    1616 ====== Test Case Result Object
     1835==== Test Case Result Object
    16171836
    16181837If any of these API functions, except {{test::test-case-result?}}, are
     
    16201839return an undefined value.
    16211840
     1841===== test::test-case-result?
     1842
    16221843<procedure>(test::test-case-result? RESULT)</procedure>
    16231844
     
    16261847return {{#f}}.
    16271848
     1849===== test::test-case-result-passed?
     1850
    16281851<procedure>(test::test-case-result-passed? RESULT)</procedure>
    16291852
    16301853Returns the boolean result associated with the test case {{RESULT}} object.
    16311854
     1855===== test::test-case-result-finding
     1856
    16321857<procedure>(test::test-case-result-finding RESULT)</procedure>
    16331858
    16341859Returns the finding result associated with the test case {{RESULT}} object.
    16351860
     1861===== test::test-case-result-name
     1862
    16361863<procedure>(test::test-case-result-name RESULT)</procedure>
    16371864
    16381865Returns the message object associated with the test case {{RESULT}} object.
     1866
     1867===== test::test-case-result-list
    16391868
    16401869<procedure>(test::test-case-result-list RESULT)</procedure>
     
    16431872{{RESULT}} object.
    16441873
     1874===== test::test-case-result-warning?
     1875
    16451876<procedure>(test::test-case-result-warning? RESULT)</procedure>
    16461877
    16471878If a warning had been attached to this test case, this function will
    16481879return {{#t}}, otherwise it will be {{#f}}.
     1880
     1881===== test::test-case-result-warning
    16491882
    16501883<procedure>(test::test-case-result-warning RESULT)</procedure>
     
    16541887shall return {{'()}}.
    16551888
     1889===== test::test-case-result-timing?
     1890
    16561891<procedure>(test::test-case-result-timing? RESULT)</procedure>
    16571892
     
    16591894{{#t}}, otherwise it will be {{#f}}.
    16601895
     1896===== test::test-case-result-timing
     1897
    16611898<procedure>(test::test-case-result-timing RESULT)</procedure>
    16621899
     
    16641901the timing pair, otherwise it shall return {{'(0 . 0)}}.
    16651902
     1903===== test::test-case-results-passed?
     1904
    16661905<procedure>(test::test-case-results-passed? RESULT-LIST)</procedure>
    16671906
     
    16691908passed, or {{#f}} otherwise.
    16701909
    1671 ===== Expectation Result Objects
     1910==== Expectation Result Objects
    16721911
    16731912Procedures used to access the various kinds of expectation result
    16741913object.
    16751914
    1676 ====== Unary Expectation
     1915==== Unary Expectation
    16771916
    16781917These expectations all take the form of passing a single expression to
     
    16821921return {{'not-an-expect-result}}.
    16831922
     1923===== test::expect-result?
     1924
    16841925<procedure>(test::expect-result? RESULT)</procedure>
    16851926
     
    16881929{{#t}}. Otherwise, it will return {{#f}}.
    16891930
     1931===== test::expect-result-finding
     1932
    16901933<procedure>(test::expect-result-finding RESULT)</procedure>
    16911934
    16921935Returns the boolean result associated with the single clause style
    16931936expectation {{RESULT}} object.
     1937
     1938===== test::expect-result-kind
    16941939
    16951940<procedure>(test::expect-result-kind RESULT)</procedure>
     
    17161961</table>
    17171962
     1963===== test::expect-result-name
     1964
    17181965<procedure>(test::expect-result-name RESULT)</procedure>
    17191966
     
    17211968expectation {{RESULT}} object.
    17221969
     1970===== test::expect-result-unevaled
     1971
    17231972<procedure>(test::expect-result-unevaled RESULT)</procedure>
    17241973
     
    17261975expectation macro.
    17271976
     1977===== test::expect-result-evaled
     1978
    17281979<procedure>(test::expect-result-evaled RESULT)</procedure>
    17291980
    17301981Returns the evaluated expression supplied to a single clause style expectation macro.
     1982
     1983===== test::expect-result-warning?
    17311984
    17321985<procedure>(test::expect-result-warning? RESULT)</procedure>
     
    17341987If a warning had been attached to this expectation, this function will
    17351988return {{#t}}, otherwise it will be {{#f}}.
     1989
     1990===== test::expect-result-warning
    17361991
    17371992<procedure>(test::expect-result-warning RESULT)</procedure>
     
    17411996return {{'()}}.
    17421997
     1998===== test::expect-result-timing?
     1999
    17432000<procedure>(test::expect-result-timing? RESULT)</procedure>
    17442001
     
    17462003return {{#t}}, otherwise it will be {{#f}}.
    17472004
     2005===== test::expect-result-timing
     2006
    17482007<procedure>(test::expect-result-timing RESULT)</procedure>
    17492008
     
    17522011
    17532012
    1754 ====== Binary Expectation
     2013==== Binary Expectation
    17552014
    17562015These expectations all take the form of passing a two expressions, the
     
    17622021they will return {{'not-an-expect-equivalence-result}}.
    17632022
     2023===== test::expect-equivalence-result?
     2024
    17642025<procedure>(test::expect-equivalence-result? RESULT)</procedure>
    17652026
     
    17682029{{#t}}. Otherwise, it will return {{#f}}.
    17692030
     2031===== test::expect-equivalence-result-finding
     2032
    17702033<procedure>(test::expect-equivalence-result-finding RESULT)</procedure>
    17712034
    17722035Returns the boolean result associated with the comparison style expectation
    17732036{{RESULT}} object.
     2037
     2038===== test::expect-equivalence-result-kind
    17742039
    17752040<procedure>(test::expect-equivalence-result-kind RESULT)</procedure>
     
    17952060</table>
    17962061
     2062===== test::expect-equivalence-result-name
     2063
    17972064<procedure>(test::expect-equivalence-result-name RESULT)</procedure>
    17982065
     
    18002067expectation {{RESULT}} object.
    18012068
     2069===== test::expect-equivalence-result-lhs-evaled
     2070
    18022071<procedure>(test::expect-equivalence-result-lhs-evaled RESULT)</procedure>
    18032072
     
    18052074equivalence style expectation.
    18062075
     2076===== test::expect-equivalence-result-rhs-unevaled
     2077
    18072078<procedure>(test::expect-equivalence-result-rhs-unevaled RESULT)</procedure>
    18082079
     
    18102081equivalence style expectation.
    18112082
     2083===== test::expect-equivalence-result-rhs-evaled
     2084
    18122085<procedure>(test::expect-equivalence-result-rhs-evaled RESULT)</procedure>
    18132086
     
    18152088equivalence style expectation.
    18162089
     2090===== test::expect-equivalence-result-warning?
     2091
    18172092<procedure>(test::expect-equivalence-result-warning? RESULT)</procedure>
    18182093
    18192094If a warning had been attached to this expectation, this function will
    18202095return {{#t}}, otherwise it will be {{#f}}.
     2096
     2097===== test::expect-equivalence-result-warning
    18212098
    18222099<procedure>(test::expect-equivalence-result-warning RESULT)</procedure>
     
    18262103return {{'()}}.
    18272104
     2105===== test::expect-equivalence-result-timing?
     2106
    18282107<procedure>(test::expect-equivalence-result-timing? RESULT)</procedure>
    18292108
     
    18312110return {{#t}}, otherwise it will be {{#f}}.
    18322111
     2112===== test::expect-equivalence-result-timing
     2113
    18332114<procedure>(test::expect-equivalence-result-timing RESULT)</procedure>
    18342115
     
    18362117return the timing pair, otherwise it shall return {{'(0 . 0)}}.
    18372118
    1838 ====== Tolerance Style Expectation
     2119==== Tolerance Style Expectation
    18392120
    18402121This is a specialized expectation which accepts three expressions and
     
    18452126tolerance style expectation result object the result is unspecified.
    18462127
     2128===== test::expect-tolerance-result?
     2129
    18472130<procedure>(test::expect-tolerance-result? RESULT)</procedure>
    18482131
     
    18512134{{#t}}. Otherwise, it will return {{#f}}.
    18522135
     2136===== test::expect-tolerance-result-finding
     2137
    18532138<procedure>(test::expect-tolerance-result-finding RESULT)</procedure>
    18542139
    18552140Returns the boolean result associated with the tolerance style expectation
    18562141{{RESULT}} object.
     2142
     2143===== test::expect-tolerance-result-kind
    18572144
    18582145<procedure>(test::expect-tolerance-result-kind RESULT)</procedure>
     
    18692156</table>
    18702157
     2158===== test::expect-tolerance-result-name
     2159
    18712160<procedure>(test::expect-tolerance-result-name RESULT)</procedure>
    18722161
     
    18742163expectation {{RESULT}} object.
    18752164
     2165===== test::expect-tolerance-result-lhs-evaled
     2166
    18762167<procedure>(test::expect-tolerance-result-lhs-evaled RESULT)</procedure>
    18772168
     
    18792170tolerance style expectation.
    18802171
     2172===== test::expect-tolerance-result-lhs-tol-evaled
     2173
    18812174<procedure>(test::expect-tolerance-result-lhs-tol-evaled RESULT)</procedure>
    18822175
     
    18842177style expectation.
    18852178
     2179===== test::expect-tolerance-result-rhs-unevaled
     2180
    18862181<procedure>(test::expect-tolerance-result-rhs-unevaled RESULT)</procedure>
    18872182
     
    18892184tolerance style expectation.
    18902185
     2186===== test::expect-tolerance-result-rhs-evaled
     2187
    18912188<procedure>(test::expect-tolerance-result-rhs-evaled RESULT)</procedure>
    18922189
     
    18942191tolerance style expectation.
    18952192
     2193===== test::expect-tolerance-result-warning?
     2194
    18962195<procedure>(test::expect-tolerance-result-warning? RESULT)</procedure>
    18972196
    18982197If a warning had been attached to this expectation, this function will
    18992198return {{#t}}, otherwise it will be {{#f}}.
     2199
     2200===== test::expect-tolerance-result-warning
    19002201
    19012202<procedure>(test::expect-tolerance-result-warning RESULT)</procedure>
     
    19052206return {{'()}}.
    19062207
     2208===== test::expect-tolerance-result-timing?
     2209
    19072210<procedure>(test::expect-tolerance-result-timing? RESULT)</procedure>
    19082211
     
    19102213return {{#t}}, otherwise it will be {{#f}}.
    19112214
     2215===== test::expect-tolerance-result-timing
     2216
    19122217<procedure>(test::expect-tolerance-result-timing RESULT)</procedure>
    19132218
     
    19162221
    19172222===== Gloss Result Object
     2223
     2224===== test::gloss-result?
    19182225
    19192226<procedure>(test::gloss-result? RESULT)</procedure>
     
    19232230return {{#f}}.
    19242231
     2232===== test::gloss-result-message
     2233
    19252234<procedure>(test::gloss-result-message RESULT)</procedure>
    19262235
     
    19282237object.
    19292238
     2239===== test::gloss-result-warning?
     2240
    19302241<procedure>(test::gloss-result-warning? RESULT)</procedure>
    19312242
     
    19332244return {{#t}}, otherwise it will be {{#f}}.
    19342245
     2246
     2247===== test::gloss-result-warning
    19352248
    19362249<procedure>(test::gloss-result-warning RESULT)</procedure>
     
    19422255===== Skip Result Object
    19432256
     2257===== test::skip-result?
     2258
    19442259<procedure>(test::skip-result? RESULT)</procedure>
    19452260
     
    19482263return {{#f}}.
    19492264
     2265===== test::skip-result-message
     2266
    19502267<procedure>(test::skip-result-message RESULT)</procedure>
    19512268
     
    19542271skipped.
    19552272
     2273===== test::skip-result-warning?
     2274
    19562275<procedure>(test::skip-result-warning? RESULT)</procedure>
    19572276
    19582277If a warning had been attached to this skip, this function will return
    19592278{{#t}}, otherwise it will be {{#f}}.
     2279
     2280===== test::skip-result-warning
    19602281
    19612282<procedure>(test::skip-result-warning RESULT)</procedure>
     
    19712292unspecified value.
    19722293
     2294===== test::terminate-result?
     2295
    19732296<procedure>(test::terminate-result? RESULT)</procedure>
    19742297
     
    19772300Otherwise, it will return {{#f}}.
    19782301
     2302===== test::terminate-result-finding
     2303
    19792304<procedure>(test::terminate-result-finding RESULT)</procedure>
    19802305
    19812306Returns the result associated with the termination function {{RESULT}}
    19822307object.
     2308
     2309===== test::terminate-result-scope
    19832310
    19842311<procedure>(test::terminate-result-scope RESULT)</procedure>
     
    19882315{{TERMFUNC}}.
    19892316
     2317===== test::terminate-result-container
     2318
    19902319<procedure>(test::terminate-result-container RESULT)</procedure>
    19912320
     
    19942323associated.
    19952324
     2325===== test::terminate-result-message
     2326
    19962327<procedure>(test::terminate-result-message RESULT)</procedure>
    19972328
     
    20002331
    20012332===== Todo Result Object
     2333
     2334===== test::todo-result?
    20022335
    20032336<procedure>(test::todo-result? RESULT)</procedure>
     
    20072340return {{#f}}.
    20082341
     2342===== test::todo-result-message
     2343
    20092344<procedure>(test::todo-result-message RESULT)</procedure>
    20102345
    20112346Returns the message object associated with the todo {{RESULT}} object.
     2347
     2348===== test::todo-result-warning?
    20122349
    20132350<procedure>(test::todo-result-warning? RESULT)</procedure>
     
    20152352If a warning had been attached to this todo, this function will return
    20162353{{#t}}, otherwise it will be {{#f}}.
     2354
     2355===== test::todo-result-warning
    20172356
    20182357<procedure>(test::todo-result-warning RESULT)</procedure>
     
    20232362
    20242363==== Miscellaneous
     2364
     2365===== test::walk-structure
    20252366
    20262367<procedure>(test::walk-structure WALKER TEST-STRUCTURE)</procedure>
     
    20372378==== Statistics Generation
    20382379
     2380===== test::stat-result-statistics
     2381
    20392382<procedure>(test::stat-result-statistics RESULT-TREE)</procedure>
    20402383
     
    20432386name.
    20442387
     2388===== test::stat-test-suites
     2389
    20452390<procedure>(test::stat-test-suites STATISTICS)</procedure>
    20462391
     2392===== test::stat-test-suite-warnings
     2393
    20472394<procedure>(test::stat-test-suite-warnings STATISTICS)</procedure>
    20482395
     2396===== test::stat-test-suites-passed
     2397
    20492398<procedure>(test::stat-test-suites-passed STATISTICS)</procedure>
    20502399
     2400===== test::stat-test-suites-failed
     2401
    20512402<procedure>(test::stat-test-suites-failed STATISTICS)</procedure>
    20522403
     2404===== test::stat-test-suites-timing
     2405
    20532406<procedure>(test::stat-test-suites-timing STATISTICS)</procedure>
    20542407
     2408===== test::stat-test-suites-terminated
     2409
    20552410<procedure>(test::stat-test-suites-terminated STATISTICS)</procedure>
    20562411
     2412===== test::stat-test-cases
     2413
    20572414<procedure>(test::stat-test-cases STATISTICS)</procedure>
    20582415
     2416===== test::stat-test-case-warnings
     2417
    20592418<procedure>(test::stat-test-case-warnings STATISTICS)</procedure>
    20602419
     2420===== test::stat-test-cases-passed
     2421
    20612422<procedure>(test::stat-test-cases-passed STATISTICS)</procedure>
    20622423
     2424===== test::stat-test-cases-failed
     2425
    20632426<procedure>(test::stat-test-cases-failed STATISTICS)</procedure>
    20642427
     2428===== test::stat-test-cases-timing
     2429
    20652430<procedure>(test::stat-test-cases-timing STATISTICS)</procedure>
    20662431
     2432===== test::stat-test-cases-terminated
     2433
    20672434<procedure>(test::stat-test-cases-terminated STATISTICS)</procedure>
    20682435
     2436===== test::stat-all-expectations
     2437
    20692438<procedure>(test::stat-all-expectations STATISTICS)</procedure>
    20702439
     2440===== test::stat-all-expectation-warnings
     2441
    20712442<procedure>(test::stat-all-expectation-warnings STATISTICS)</procedure>
    20722443
     2444===== test::stat-all-expectations-passed
     2445
    20732446<procedure>(test::stat-all-expectations-passed STATISTICS)</procedure>
    20742447
     2448===== test::stat-all-expectations-failed
     2449
    20752450<procedure>(test::stat-all-expectations-failed STATISTICS)</procedure>
    20762451
     2452===== test::stat-all-expectations-timing
     2453
    20772454<procedure>(test::stat-all-expectations-timing STATISTICS)</procedure>
    20782455
     2456===== test::stat-single-expectations
     2457
    20792458<procedure>(test::stat-single-expectations STATISTICS)</procedure>
    20802459
     2460===== test::stat-single-expectation-warnings
     2461
    20812462<procedure>(test::stat-single-expectation-warnings STATISTICS)</procedure>
    20822463
     2464===== test::stat-single-expectations-passed
     2465
    20832466<procedure>(test::stat-single-expectations-passed STATISTICS)</procedure>
    20842467
     2468===== test::stat-single-expectations-failed
     2469
    20852470<procedure>(test::stat-single-expectations-failed STATISTICS)</procedure>
    20862471
     2472===== test::stat-single-expectations-timing
     2473
    20872474<procedure>(test::stat-single-expectations-timing STATISTICS)</procedure>
    20882475
     2476===== test::stat-tol-expectations
     2477
    20892478<procedure>(test::stat-tol-expectations STATISTICS)</procedure>
    20902479
     2480===== test::stat-tol-expectation-warnings
     2481
    20912482<procedure>(test::stat-tol-expectation-warnings STATISTICS)</procedure>
    20922483
     2484===== test::stat-tol-expectations-passed
     2485
    20932486<procedure>(test::stat-tol-expectations-passed STATISTICS)</procedure>
    20942487
     2488===== test::stat-tol-expectations-failed
     2489
    20952490<procedure>(test::stat-tol-expectations-failed STATISTICS)</procedure>
    20962491
     2492===== test::stat-tol-expectations-timing
     2493
    20972494<procedure>(test::stat-tol-expectations-timing STATISTICS)</procedure>
    20982495
     2496===== test::stat-equiv-expectations
     2497
    20992498<procedure>(test::stat-equiv-expectations STATISTICS)</procedure>
    21002499
     2500===== test::stat-equiv-expectation-warnings
     2501
    21012502<procedure>(test::stat-equiv-expectation-warnings STATISTICS)</procedure>
    21022503
     2504===== test::stat-equiv-expectations-passed
     2505
    21032506<procedure>(test::stat-equiv-expectations-passed STATISTICS)</procedure>
    21042507
     2508===== test::stat-equiv-expectations-failed
     2509
    21052510<procedure>(test::stat-equiv-expectations-failed STATISTICS)</procedure>
    21062511
     2512===== test::stat-equiv-expectations-timing
     2513
    21072514<procedure>(test::stat-equiv-expectations-timing STATISTICS)</procedure>
    21082515
     2516===== test::stat-todos
     2517
    21092518<procedure>(test::stat-todos STATISTICS)</procedure>
    21102519
     2520===== test::stat-todo-warnings
     2521
    21112522<procedure>(test::stat-todo-warnings STATISTICS)</procedure>
    21122523
     2524===== test::stat-skips
     2525
    21132526<procedure>(test::stat-skips STATISTICS)</procedure>
    21142527
     2528===== test::stat-skip-warnings
     2529
    21152530<procedure>(test::stat-skip-warnings STATISTICS)</procedure>
    21162531
     2532===== test::stat-glosses
     2533
    21172534<procedure>(test::stat-glosses STATISTICS)</procedure>
    21182535
     2536===== test::stat-gloss-warnings
     2537
    21192538<procedure>(test::stat-gloss-warnings STATISTICS)</procedure>
    21202539
     2540===== test::stat-terminations
     2541
    21212542<procedure>(test::stat-terminations STATISTICS)</procedure>
    21222543
     
    21252546These procedures are used in the generation of test result reports.
    21262547
     2548===== test::write-object
     2549
    21272550<procedure>(test::write-object OBJECT)</procedure>
    21282551
     2552===== test::display-objects
     2553
    21292554<procedure>(test::display-objects [OBJECT ...])</procedure>
    21302555
     2556===== test::display-objects-newline
     2557
    21312558<procedure>(test::display-objects-newline [OBJECT ...])</procedure>
    21322559
     2560===== test::display-indent
     2561
    21332562<procedure>(test::display-indent INDENT)</procedure>
    21342563
     2564===== test::display-indented-objects
     2565
    21352566<procedure>(test::display-indented-objects INDENT [OBJECT ...])</procedure>
    21362567
     2568===== test::display-indented-objects-newline
     2569
    21372570<procedure>(test::display-indented-objects-newline INDENT [OBJECT ...])</procedure>
    21382571
    21392572{{INDENT}} is the number of spaces to the left.
     2573
     2574===== test::display-underlined
    21402575
    21412576<procedure>(test::display-underlined [OBJECT ...])</procedure>
     
    21452580on a single line. Then prints a line of underscores, {{#\_}}.
    21462581
     2582===== test::display-structure
     2583
    21472584<procedure>(test::display-structure TEST-STRUCTURE)</procedure>
    21482585
     
    21552592returns the {{RESULT-TREE}}.
    21562593
     2594===== test::output-style-compact
     2595
    21572596<procedure>(test::output-style-compact RESULT-TREE [PORT|FILE-NAME|#t])
    21582597
     
    21602599failed tests.
    21612600
     2601===== test::output-style-human
     2602
    21622603<procedure>(test::output-style-human RESULT-TREE [PORT|FILE-NAME|#t])</procedure>
    21632604
    21642605Prints a verbose listing of the test results.
    21652606
     2607===== test::output-style-html
     2608
    21662609<procedure>(test::output-style-html RESULT-TREE [PORT|FILE-NAME|#t])</procedure>
    21672610
    21682611Prints a verbose listing of the test results as HTML.
     2612
     2613===== test::output-style-minimal
    21692614
    21702615<procedure>(test::output-style-minimal RESULT-TREE [PORT|FILE-NAME|#t])</procedure>
     
    21822627This procedure is useful with a test report procedure. The actual
    21832628report procedures of the above report generators are examples.
     2629
     2630===== test::with-output-style
    21842631
    21852632<procedure>(test::with-output-style STYLER RESULT-TREE [PORT|FILE-NAME|#t])</procedure>
Note: See TracChangeset for help on using the changeset viewer.