From: <wda...@us...> - 2010-03-23 01:26:21
|
Revision: 5733 http://oorexx.svn.sourceforge.net/oorexx/?rev=5733&view=rev Author: wdashley Date: 2010-03-23 01:26:14 +0000 (Tue, 23 Mar 2010) Log Message: ----------- Rename ootest sgml files to xml. Modified Paths: -------------- docs/trunk/ootest/Makefile Added Paths: ----------- docs/trunk/ootest/legalstuff_oot.xml docs/trunk/ootest/oorexxunit.xml docs/trunk/ootest/ootest.xml docs/trunk/ootest/ootestQuick.xml docs/trunk/ootest/ootestframework.xml docs/trunk/ootest/preface.xml docs/trunk/ootest/testoorexx.xml docs/trunk/ootest/writetests.xml Removed Paths: ------------- docs/trunk/ootest/legalstuff_oot.sgml docs/trunk/ootest/oorexxunit.sgml docs/trunk/ootest/ootest.sgml docs/trunk/ootest/ootestQuick.sgml docs/trunk/ootest/ootestframework.sgml docs/trunk/ootest/preface.sgml docs/trunk/ootest/testoorexx.sgml docs/trunk/ootest/writetests.sgml Modified: docs/trunk/ootest/Makefile =================================================================== --- docs/trunk/ootest/Makefile 2010-03-22 21:55:31 UTC (rev 5732) +++ docs/trunk/ootest/Makefile 2010-03-23 01:26:14 UTC (rev 5733) @@ -2,7 +2,7 @@ # # Description: Makefile for the ooTest Framework Documents. # -# Copyright (c) 2008-2009, Rexx Language Association. All rights reserved. +# Copyright (c) 2008-20010, Rexx Language Association. All rights reserved. # # This program and the accompanying materials are made available under # the terms of the Common Public License v1.0 which accompanies this @@ -44,21 +44,21 @@ ../shared/oorexx.html.dsl -OOTEST_SGML_FILES = ootest.sgml \ - testoorexx.sgml \ - oorexxunit.sgml \ - ootestframework.sgml \ - writetests.sgml \ - ../shared/notices.sgml \ - ../shared/legalstuff.sgml \ - ../shared/gethelp.sgml \ - ../shared/CPLv1.0.sgml +OOTEST_xml_FILES = ootest.xml \ + testoorexx.xml \ + oorexxunit.xml \ + ootestframework.xml \ + writetests.xml \ + ../shared/notices.xml \ + ../shared/legalstuff.xml \ + ../shared/gethelp.xml \ + ../shared/CPLv1.0.xml -OOTESTQS_SGML_FILES = ootestQuick.sgml \ - legalstuff_oot.sgml \ - ../shared/notices.sgml \ - ../shared/gethelp.sgml \ - ../shared/CPLv1.0.sgml +OOTESTQS_xml_FILES = ootestQuick.xml \ + legalstuff_oot.xml \ + ../shared/notices.xml \ + ../shared/gethelp.xml \ + ../shared/CPLv1.0.xml IMAGE_FILES = oorexx.jpg \ docbook-1.png \ @@ -77,14 +77,14 @@ html: ootest-html.zip -ootest.pdf: $(IMAGE_FILES) $(STYLESHEET) $(JADETEXFMT) ootest_index.sgml svnrev.tmp - docbook2pdf -d ../shared/oorexx.print.dsl ootest.sgml +ootest.pdf: $(IMAGE_FILES) $(STYLESHEET) $(JADETEXFMT) ootest_index.xml svnrev.tmp + docbook2pdf -d ../shared/oorexx.print.dsl ootest.xml -ootestQuickStart.pdf: $(IMAGE_FILES) $(STYLESHEET) $(JADETEXFMT) ootestQuick_index.sgml svnrev.tmp - docbook2pdf -d ../shared/oorexx.print.dsl ootestQuick.sgml +ootestQuickStart.pdf: $(IMAGE_FILES) $(STYLESHEET) $(JADETEXFMT) ootestQuick_index.xml svnrev.tmp + docbook2pdf -d ../shared/oorexx.print.dsl ootestQuick.xml -book1.htm: $(IMAGE_FILES) $(HTML_STYLESHEET) ootest_index.sgml svnrev.tmp - docbook2html -d ../shared/oorexx.html.dsl ootest.sgml +book1.htm: $(IMAGE_FILES) $(HTML_STYLESHEET) ootest_index.xml svnrev.tmp + docbook2html -d ../shared/oorexx.html.dsl ootest.xml ootest-html.zip: book1.htm zip ootest-html *.htm *.jpg *.png @@ -92,23 +92,23 @@ $(JADETEXFMT): $(HYPERREFCFG) pdftex -ini \&pdflatex pdfjadetex.ini -ootest_index.sgml: $(HTML_STYLESHEET) $(OOTEST_SGML_FILES) svnrev.tmp - collateindex.pl -N -o ootest_index.sgml - jade -t sgml -d ../shared/oorexx.html.dsl -V html-index ootest.sgml +ootest_index.xml: $(HTML_STYLESHEET) $(OOTEST_xml_FILES) svnrev.tmp + collateindex.pl -N -o ootest_index.xml + jade -t xml -d ../shared/oorexx.html.dsl -V html-index ootest.xml rm *.htm - collateindex.pl -p -g -o ootest_index.sgml HTML.index + collateindex.pl -p -g -o ootest_index.xml HTML.index -ootestQuick_index.sgml: $(HTML_STYLESHEET) $(OOTESTQS_SGML_FILES) svnrev.tmp - collateindex.pl -N -o ootestQuick_index.sgml - jade -t sgml -d ../shared/oorexx.html.dsl -V html-index ootestQuick.sgml +ootestQuick_index.xml: $(HTML_STYLESHEET) $(OOTESTQS_xml_FILES) svnrev.tmp + collateindex.pl -N -o ootestQuick_index.xml + jade -t xml -d ../shared/oorexx.html.dsl -V html-index ootestQuick.xml rm *.htm - collateindex.pl -p -g -o ootestQuick_index.sgml HTML.index + collateindex.pl -p -g -o ootestQuick_index.xml HTML.index svnrev.tmp: svnversion > svnrev.tmp clean: - @rm -f *.log *.aux *.out *.fmt *.pdf ootest_index.sgml *.htm *.zip \ - HTML.index *.tmp ootestQuick_index.sgml *.tmp + @rm -f *.log *.aux *.out *.fmt *.pdf ootest_index.xml *.htm *.zip \ + HTML.index *.tmp ootestQuick_index.xml *.tmp Deleted: docs/trunk/ootest/legalstuff_oot.sgml =================================================================== --- docs/trunk/ootest/legalstuff_oot.sgml 2010-03-22 21:55:31 UTC (rev 5732) +++ docs/trunk/ootest/legalstuff_oot.sgml 2010-03-23 01:26:14 UTC (rev 5733) @@ -1,94 +0,0 @@ -<!--######################################################################### - # - # Description: SGML file for ooTest Documentation. - # - # Copyright (c) 2008-2009, Rexx Language Association. All rights reserved. - # - # This program and the accompanying materials are made available under - # the terms of the Common Public License v1.0 which accompanies this - # distribution. A copy is also available at the following address: - # http://www.oorexx.org/license.html - # - # Redistribution and use in source and binary forms, with or - # without modification, are permitted provided that the following - # conditions are met: - # - # Redistributions of source code must retain the above copyright - # notice, this list of conditions and the following disclaimer. - # Redistributions in binary form must reproduce the above copyright - # notice, this list of conditions and the following disclaimer in - # the documentation and/or other materials provided with the distribution. - # - # Neither the name of Rexx Language Association nor the names - # of its contributors may be used to endorse or promote products - # derived from this software without specific prior written permission. - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - # - # Author(s): - # W. David Ashley <da...@us...> - # Mark Miesfeld <mie...@gm...> - # - ######################################################################### ---> -<orgname>Rexx Language Association</orgname> -<copyright> - <year>2008</year> - <year>2009</year> - <holder>Rexx Language Association. All rights reserved.</holder> -</copyright> -<authorgroup> - <collab><collabname>Mark Miesfeld</collabname></collab> -</authorgroup> - -<!--####################################################################### - # The following need to be modified for each release! - #######################################################################--> -<edition>Version 1.0.0</edition> -<pubdate>June 23, 2009</pubdate> -<!--####################################################################### - # The releaseinfo tag is used to show the release status of a document. - # - # Use the following for production releases. - # - # <releaseinfo>Revision 1</releaseinfo> - # or - # <releaseinfo></releaseinfo> - # - # Use the following for draft releases of a document. - # - # <releaseinfo>Draft - SVN Rev &svnrev;</releaseinfo> - # Draft - SVN Rev &svnrev; - # - #########################################################################--> -<releaseinfo>Draft - SVN Rev &svnrev;</releaseinfo> -<!--####################################################################### - # End of modification area. - #######################################################################--> - -<mediaobject> -<imageobject> -<!-- Note! - if we include a /imagedata tag we get an error for DSSSL! --> -<imagedata fileref="oorexx.jpg" align="center"> -</imageobject> -</mediaobject> -<legalnotice> -<para>This program and the accompanying materials are made available under the -terms of the <link linkend="cplv10" endterm="cplv10.title"></link>. -</para> -<para>Before using this information and the product it supports, be sure to read -the general information under <link linkend="notices" endterm="notices.title"></link>. -</para> -<para>Thanks to Julian Choy for the ooRexx logo design. -</para> -</legalnotice> Copied: docs/trunk/ootest/legalstuff_oot.xml (from rev 5725, docs/trunk/ootest/legalstuff_oot.sgml) =================================================================== --- docs/trunk/ootest/legalstuff_oot.xml (rev 0) +++ docs/trunk/ootest/legalstuff_oot.xml 2010-03-23 01:26:14 UTC (rev 5733) @@ -0,0 +1,94 @@ +<!--######################################################################### + # + # Description: SGML file for ooTest Documentation. + # + # Copyright (c) 2008-2009, Rexx Language Association. All rights reserved. + # + # This program and the accompanying materials are made available under + # the terms of the Common Public License v1.0 which accompanies this + # distribution. A copy is also available at the following address: + # http://www.oorexx.org/license.html + # + # Redistribution and use in source and binary forms, with or + # without modification, are permitted provided that the following + # conditions are met: + # + # Redistributions of source code must retain the above copyright + # notice, this list of conditions and the following disclaimer. + # Redistributions in binary form must reproduce the above copyright + # notice, this list of conditions and the following disclaimer in + # the documentation and/or other materials provided with the distribution. + # + # Neither the name of Rexx Language Association nor the names + # of its contributors may be used to endorse or promote products + # derived from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # + # Author(s): + # W. David Ashley <da...@us...> + # Mark Miesfeld <mie...@gm...> + # + ######################################################################### +--> +<orgname>Rexx Language Association</orgname> +<copyright> + <year>2008</year> + <year>2009</year> + <holder>Rexx Language Association. All rights reserved.</holder> +</copyright> +<authorgroup> + <collab><collabname>Mark Miesfeld</collabname></collab> +</authorgroup> + +<!--####################################################################### + # The following need to be modified for each release! + #######################################################################--> +<edition>Version 1.0.0</edition> +<pubdate>June 23, 2009</pubdate> +<!--####################################################################### + # The releaseinfo tag is used to show the release status of a document. + # + # Use the following for production releases. + # + # <releaseinfo>Revision 1</releaseinfo> + # or + # <releaseinfo></releaseinfo> + # + # Use the following for draft releases of a document. + # + # <releaseinfo>Draft - SVN Rev &svnrev;</releaseinfo> + # Draft - SVN Rev &svnrev; + # + #########################################################################--> +<releaseinfo>Draft - SVN Rev &svnrev;</releaseinfo> +<!--####################################################################### + # End of modification area. + #######################################################################--> + +<mediaobject> +<imageobject> +<!-- Note! - if we include a /imagedata tag we get an error for DSSSL! --> +<imagedata fileref="oorexx.jpg" align="center"> +</imageobject> +</mediaobject> +<legalnotice> +<para>This program and the accompanying materials are made available under the +terms of the <link linkend="cplv10" endterm="cplv10.title"></link>. +</para> +<para>Before using this information and the product it supports, be sure to read +the general information under <link linkend="notices" endterm="notices.title"></link>. +</para> +<para>Thanks to Julian Choy for the ooRexx logo design. +</para> +</legalnotice> Deleted: docs/trunk/ootest/oorexxunit.sgml =================================================================== --- docs/trunk/ootest/oorexxunit.sgml 2010-03-22 21:55:31 UTC (rev 5732) +++ docs/trunk/ootest/oorexxunit.sgml 2010-03-23 01:26:14 UTC (rev 5733) @@ -1,150 +0,0 @@ -<!--######################################################################### - # - # Description: ooTest Framework SGML file. - # - # Copyright (c) 2009-2009, Rexx Language Association. All rights reserved. - # - # This program and the accompanying materials are made available under - # the terms of the Common Public License v1.0 which accompanies this - # distribution. A copy is also available at the following address: - # http://www.oorexx.org/license.html - # - # Redistribution and use in source and binary forms, with or - # without modification, are permitted provided that the following - # conditions are met: - # - # Redistributions of source code must retain the above copyright - # notice, this list of conditions and the following disclaimer. - # Redistributions in binary form must reproduce the above copyright - # notice, this list of conditions and the following disclaimer in - # the documentation and/or other materials provided with the distribution. - # - # Neither the name of Rexx Language Association nor the names - # of its contributors may be used to endorse or promote products - # derived from this software without specific prior written permission. - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - # - ######################################################################### ---> - -<chapter id="chapOORexxUnit"><title>The ooRexxUnit Framework</title> -<indexterm><primary>ooRexxUnit</primary></indexterm> -<para> - x -</para> - - -<!-- - Could be chapter, or section ---> -<section id="clsTestCase"><title>TestCase Class</title> -<indexterm><primary>TestCase class</primary></indexterm> -<para> - A <emphasis role="italic">TestCase</emphasis> class -</para> -<para> - The following table summarizes the important information for a TestCase class, including all methods - and attributes relevant to writing test cases. Most of these methods are inherited from <emphasis - role="italic">TestCase</emphasis>: -</para> -<table id="tblTestCaseSummary" frame="all"> -<title>ooTestCase Summary</title> -<tgroup cols="2"> -<thead> -<row> -<entry>Item</entry> -<entry>...Description</entry> -</row> -</thead> -<tbody> -<row> -<entry>Something</entry> -<entry>some link</entry> -</row> -</tbody></tgroup> -</table> - -<section id="xxx"><title>ooTestType (Class)</title> -<indexterm><primary>ooTestType</primary></indexterm> -<indexterm><primary>ooTestType</primary> -<secondary>ooTestCase class</secondary></indexterm> -<programlisting> -<![CDATA[ ->>--ooTestType--------------------------------------------->< - ->>--ooTestType=-------------------------------------------->< - -]]> -</programlisting> - -<para> - To Be Written -</para> -</section> - -<section id="xxt"><title>new (Class)</title> -<indexterm><primary>new</primary> -<secondary>ooTestCase class</secondary></indexterm> -<programlisting> -<![CDATA[ ->>--new---------------------------------------------------->< - -]]> -</programlisting> - -<para> - To Be Written -</para> -</section> - -</section> <!-- End TestCase class --> - - -<!-- - Could be chapter, or section ---> -<section id="clsAssert"><title>Assert Class</title> -<indexterm><primary>Assert class</primary></indexterm> -<para> - An <emphasis role="italic">Assert</emphasis> class -</para> -<para> - The following table summarizes the important information for an Assert class, including all methods and - attributes relevant to writing test cases. Most of these methods are inherited from <emphasis - role="italic">TestCase</emphasis>: -</para> -<table id="tblAssertSummary" frame="all"> -<title>ooTestCase Summary</title> -<tgroup cols="2"> -<thead> -<row> -<entry>Item</entry> -<entry>...Description</entry> -</row> -</thead> -<tbody> -<row> -<entry>Something</entry> -<entry>some link</entry> -</row> -</tbody></tgroup> -</table> - - -</section> <!-- End Assert class --> - - -</chapter> - - Copied: docs/trunk/ootest/oorexxunit.xml (from rev 5725, docs/trunk/ootest/oorexxunit.sgml) =================================================================== --- docs/trunk/ootest/oorexxunit.xml (rev 0) +++ docs/trunk/ootest/oorexxunit.xml 2010-03-23 01:26:14 UTC (rev 5733) @@ -0,0 +1,150 @@ +<!--######################################################################### + # + # Description: ooTest Framework SGML file. + # + # Copyright (c) 2009-2009, Rexx Language Association. All rights reserved. + # + # This program and the accompanying materials are made available under + # the terms of the Common Public License v1.0 which accompanies this + # distribution. A copy is also available at the following address: + # http://www.oorexx.org/license.html + # + # Redistribution and use in source and binary forms, with or + # without modification, are permitted provided that the following + # conditions are met: + # + # Redistributions of source code must retain the above copyright + # notice, this list of conditions and the following disclaimer. + # Redistributions in binary form must reproduce the above copyright + # notice, this list of conditions and the following disclaimer in + # the documentation and/or other materials provided with the distribution. + # + # Neither the name of Rexx Language Association nor the names + # of its contributors may be used to endorse or promote products + # derived from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # + ######################################################################### +--> + +<chapter id="chapOORexxUnit"><title>The ooRexxUnit Framework</title> +<indexterm><primary>ooRexxUnit</primary></indexterm> +<para> + x +</para> + + +<!-- + Could be chapter, or section +--> +<section id="clsTestCase"><title>TestCase Class</title> +<indexterm><primary>TestCase class</primary></indexterm> +<para> + A <emphasis role="italic">TestCase</emphasis> class +</para> +<para> + The following table summarizes the important information for a TestCase class, including all methods + and attributes relevant to writing test cases. Most of these methods are inherited from <emphasis + role="italic">TestCase</emphasis>: +</para> +<table id="tblTestCaseSummary" frame="all"> +<title>ooTestCase Summary</title> +<tgroup cols="2"> +<thead> +<row> +<entry>Item</entry> +<entry>...Description</entry> +</row> +</thead> +<tbody> +<row> +<entry>Something</entry> +<entry>some link</entry> +</row> +</tbody></tgroup> +</table> + +<section id="xxx"><title>ooTestType (Class)</title> +<indexterm><primary>ooTestType</primary></indexterm> +<indexterm><primary>ooTestType</primary> +<secondary>ooTestCase class</secondary></indexterm> +<programlisting> +<![CDATA[ +>>--ooTestType--------------------------------------------->< + +>>--ooTestType=-------------------------------------------->< + +]]> +</programlisting> + +<para> + To Be Written +</para> +</section> + +<section id="xxt"><title>new (Class)</title> +<indexterm><primary>new</primary> +<secondary>ooTestCase class</secondary></indexterm> +<programlisting> +<![CDATA[ +>>--new---------------------------------------------------->< + +]]> +</programlisting> + +<para> + To Be Written +</para> +</section> + +</section> <!-- End TestCase class --> + + +<!-- + Could be chapter, or section +--> +<section id="clsAssert"><title>Assert Class</title> +<indexterm><primary>Assert class</primary></indexterm> +<para> + An <emphasis role="italic">Assert</emphasis> class +</para> +<para> + The following table summarizes the important information for an Assert class, including all methods and + attributes relevant to writing test cases. Most of these methods are inherited from <emphasis + role="italic">TestCase</emphasis>: +</para> +<table id="tblAssertSummary" frame="all"> +<title>ooTestCase Summary</title> +<tgroup cols="2"> +<thead> +<row> +<entry>Item</entry> +<entry>...Description</entry> +</row> +</thead> +<tbody> +<row> +<entry>Something</entry> +<entry>some link</entry> +</row> +</tbody></tgroup> +</table> + + +</section> <!-- End Assert class --> + + +</chapter> + + Deleted: docs/trunk/ootest/ootest.sgml =================================================================== --- docs/trunk/ootest/ootest.sgml 2010-03-22 21:55:31 UTC (rev 5732) +++ docs/trunk/ootest/ootest.sgml 2010-03-23 01:26:14 UTC (rev 5733) @@ -1,78 +0,0 @@ -<?xml version="1.0" standalone="no"> -<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.2//EN" -[ -<!ENTITY legalstuff SYSTEM "legalstuff_oot.sgml"> -<!ENTITY preface SYSTEM "preface.sgml"> -<!ENTITY chapOverview SYSTEM "testoorexx.sgml"> -<!ENTITY chapOORexxUnit SYSTEM "oorexxunit.sgml"> -<!ENTITY chapOOTest SYSTEM "ootestframework.sgml"> -<!ENTITY chapWriteTests SYSTEM "writetests.sgml"> -<!ENTITY notices SYSTEM "../shared/notices.sgml"> -<!ENTITY cpl SYSTEM "../shared/CPLv1.0.sgml"> -<!ENTITY gethelp SYSTEM "../shared/gethelp.sgml"> -<!ENTITY genindex SYSTEM "ootest_index.sgml"> -<!ENTITY svnrev SYSTEM "svnrev.tmp"> -]> -<!--######################################################################### - # - # Description: ooTest Framework SGML file. - # - # Copyright (c) 2008, Rexx Language Association. All rights reserved. - # - # This program and the accompanying materials are made available under - # the terms of the Common Public License v1.0 which accompanies this - # distribution. A copy is also available at the following address: - # http://www.oorexx.org/license.html - # - # Redistribution and use in source and binary forms, with or - # without modification, are permitted provided that the following - # conditions are met: - # - # Redistributions of source code must retain the above copyright - # notice, this list of conditions and the following disclaimer. - # Redistributions in binary form must reproduce the above copyright - # notice, this list of conditions and the following disclaimer in - # the documentation and/or other materials provided with the distribution. - # - # Neither the name of Rexx Language Association nor the names - # of its contributors may be used to endorse or promote products - # derived from this software without specific prior written permission. - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - # - ######################################################################### ---> -<book> -<bookinfo> -<title>The ooTest Framework</title> -<subtitle>(Testing the ooRexx Interpreter)</subtitle> -<titleabbrev>ooTest Framework Reference</titleabbrev> - -&legalstuff; - -</bookinfo> - -&preface; <!-- About This Book --> -<!-- start of body --> -&chapOverview; <!-- Overview and testOORexx --> -&chapOORexxUnit; <!-- ooRexxUnit framework --> -&chapOOTest; <!-- ooTest framework --> -&chapWriteTests; <!-- writing test cases --> -<!-- start of appendix --> -¬ices; <!-- Notices --> -&cpl; <!-- CPL --> -<!-- start of index --> -&genindex; <!-- Index --> - -</book> - Copied: docs/trunk/ootest/ootest.xml (from rev 5725, docs/trunk/ootest/ootest.sgml) =================================================================== --- docs/trunk/ootest/ootest.xml (rev 0) +++ docs/trunk/ootest/ootest.xml 2010-03-23 01:26:14 UTC (rev 5733) @@ -0,0 +1,78 @@ +<?xml version="1.0" standalone="no"> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.2//EN" +[ +<!ENTITY legalstuff SYSTEM "legalstuff_oot.xml"> +<!ENTITY preface SYSTEM "preface.xml"> +<!ENTITY chapOverview SYSTEM "testoorexx.xml"> +<!ENTITY chapOORexxUnit SYSTEM "oorexxunit.xml"> +<!ENTITY chapOOTest SYSTEM "ootestframework.xml"> +<!ENTITY chapWriteTests SYSTEM "writetests.xml"> +<!ENTITY notices SYSTEM "../shared/notices.xml"> +<!ENTITY cpl SYSTEM "../shared/CPLv1.0.xml"> +<!ENTITY gethelp SYSTEM "../shared/gethelp.xml"> +<!ENTITY genindex SYSTEM "ootest_index.xml"> +<!ENTITY svnrev SYSTEM "svnrev.tmp"> +]> +<!--######################################################################### + # + # Description: ooTest Framework SGML file. + # + # Copyright (c) 2008-2010, Rexx Language Association. All rights reserved. + # + # This program and the accompanying materials are made available under + # the terms of the Common Public License v1.0 which accompanies this + # distribution. A copy is also available at the following address: + # http://www.oorexx.org/license.html + # + # Redistribution and use in source and binary forms, with or + # without modification, are permitted provided that the following + # conditions are met: + # + # Redistributions of source code must retain the above copyright + # notice, this list of conditions and the following disclaimer. + # Redistributions in binary form must reproduce the above copyright + # notice, this list of conditions and the following disclaimer in + # the documentation and/or other materials provided with the distribution. + # + # Neither the name of Rexx Language Association nor the names + # of its contributors may be used to endorse or promote products + # derived from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # + ######################################################################### +--> +<book> +<bookinfo> +<title>The ooTest Framework</title> +<subtitle>(Testing the ooRexx Interpreter)</subtitle> +<titleabbrev>ooTest Framework Reference</titleabbrev> + +&legalstuff; + +</bookinfo> + +&preface; <!-- About This Book --> +<!-- start of body --> +&chapOverview; <!-- Overview and testOORexx --> +&chapOORexxUnit; <!-- ooRexxUnit framework --> +&chapOOTest; <!-- ooTest framework --> +&chapWriteTests; <!-- writing test cases --> +<!-- start of appendix --> +¬ices; <!-- Notices --> +&cpl; <!-- CPL --> +<!-- start of index --> +&genindex; <!-- Index --> + +</book> + Deleted: docs/trunk/ootest/ootestQuick.sgml =================================================================== --- docs/trunk/ootest/ootestQuick.sgml 2010-03-22 21:55:31 UTC (rev 5732) +++ docs/trunk/ootest/ootestQuick.sgml 2010-03-23 01:26:14 UTC (rev 5733) @@ -1,1652 +0,0 @@ -<?xml version="1.0" standalone="no"> -<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.2//EN" -[ -<!ENTITY legalstuff SYSTEM "legalstuff_oot.sgml"> -<!ENTITY notices SYSTEM "../shared/notices.sgml"> -<!ENTITY cpl SYSTEM "../shared/CPLv1.0.sgml"> -<!ENTITY gethelp SYSTEM "../shared/gethelp.sgml"> -<!ENTITY genindex SYSTEM "ootestQuick_index.sgml"> -<!ENTITY svnrev SYSTEM "svnrev.tmp"> -]> -<!--######################################################################### - # - # Description: Quick Start for the ooTest Framework SGML file. - # - # Copyright (c) 2008, Rexx Language Association. All rights reserved. - # - # This program and the accompanying materials are made available under - # the terms of the Common Public License v1.0 which accompanies this - # distribution. A copy is also available at the following address: - # http://www.oorexx.org/license.html - # - # Redistribution and use in source and binary forms, with or - # without modification, are permitted provided that the following - # conditions are met: - # - # Redistributions of source code must retain the above copyright - # notice, this list of conditions and the following disclaimer. - # Redistributions in binary form must reproduce the above copyright - # notice, this list of conditions and the following disclaimer in - # the documentation and/or other materials provided with the distribution. - # - # Neither the name of Rexx Language Association nor the names - # of its contributors may be used to endorse or promote products - # derived from this software without specific prior written permission. - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - # - ######################################################################### ---> -<book> -<bookinfo> -<title>Using the ooTest Framework to Write ooRexx Test Cases</title> -<subtitle>Quick Start</subtitle> -<titleabbrev>ooTest Quick Start</titleabbrev> - -&legalstuff; - -</bookinfo> - -<preface id="preface"><title>About This Book</title> -<para> - ooTest is a testing framework that facilitates the testing of the ooRexx - interpreter. It sits on top of the ooRexxUnit framework which is a generic - testing framework that anyone can use to test their Rexx applications. -</para> -<para> - This PDF attempts to give anyone, even those with only a small understanding - of Rexx, a quick start to writing test cases that test the ooRexx - interpreter. In particular, it is geared towards the person who says: I - would like to help the ooRexx project by writing test cases, but I don't - understand that object stuff. -</para> -<para> - The Quick Start comes from a series of e-mail messages I posted on the - ooRexx Developer's list. As such it has a rather informal tone. The basic - idea driving this book is that by using a few mechanical techniques along - with some boilerplate code, anyone who can write a small piece of Rexx code - can write a working test case. Although the ooTest framework is object - orientated, you do not need to know objects, or even understand objects, to - write test cases. -</para> -<para> - It is not my intention to fully explain every detail here. My intention is - to get some people started writing test cases. I believe that if you use - the boilerplate code to start writing test cases, some of the object stuff - will just seep in. Because of this, writing test cases is a good way to - slowly get used to using objects in your own ooRexx code. -</para> - -<section id="relinf"><title>Related Information</title> -<para>See also: -<citetitle pubwork="book">Open Object Rexx: Reference</citetitle></para> -</section> - -&gethelp; - -</preface> - -<chapter><title>First Steps</title> -<para> - We'll start with a quick explanation of how to get started and a little bit - of an overview. -</para> -<section><title>ooRexxUnit Snapshots</title> -<para> - Download one of the ooRexxUnit snapshots from SourceForge. Through out this - discussion I use the term ooRexxUnit and ooTest interchangeably. ooRexxUnit - is a generic testing framework and the term first used when talking about - testing ooRexx. Some things retain that name. What I am really concerned - with is ooTest which is a framework whose sole purpose is to test the ooRexx - interpreter. -</para> -<para> - As the ooRexx interpreter evolves, so does the ooTest framework. For that - reason you need to grab a snapshot that matches the version of ooRexx that - you will be writing and executing your tests with. -</para> -<para> - It can not be stressed enough how valuable a contribution to the ooRexx - project test cases are. You do not need to write and execute test cases - using the most current non-released version of ooRexx. Most people should - write and execute test cases using the most recent released version of - ooRexx. This provides a solid base of good test cases with known results. - These test cases then make it far easier for the developers to improve and - enhance ooRexx. After any code changes the suite of known working test - cases can be executed to ensure the new code did not break anything. -</para> -<para> - An ooRexxUnit X.X.X Snapshot is a package released by the ooRexx team that - contains both the testing framework and the set of tests used in testing the - ooRexx interpreter at that X.X.X level. As the version name implies, it is - a snapshot of ooRexxUnit at that point in time. The package contains all - the currently available test groups written to test the X.X.X interpreter. - These test groups are an excellent source of techniques for using - ooRexxUnit. -</para> -<para> - The primary purpose of releasing snapshot versions of ooRexxUnit is to - encourage individuals and organizations to contribute test cases for the - interpreter. -</para> -<para> - Writing test groups to test the interpreter requires nothing other than an - installed X.X.X interpreter and a framework package. If an individual has - limited knowledge of ooRexx programming, then writing test cases will be a - excellent way to learn the language. -</para> -<para> - Individuals wishing to contribute to ooRexx through writing test case can - get advice and help by joining the oorexx-devel list. The list is free and - open to anyone. Go to: - - <ulink url="https://sourceforge.net/mail/?group_id=119701"> - <citetitle>Subscribe oorexx-devel list</citetitle> - </ulink> - - to join the list. -</para> -<para> - In addition the RexxLA mailing list is also a good place to seek advice or - help in writing test units. If not already a member of RexxLA, more - information on the group can be found at: - - <ulink url="http://rexxla.org/"><citetitle>RexxLA Home Page</citetitle></ulink> -</para> -</section> - -<section><title>Download</title> -<para> - Go to the file download section of the ooRexx project on SourceForge: - - <ulink url="https://sourceforge.net/project/showfiles.php?group_id=119701"> - <citetitle>SourceForge.net Files</citetitle> - </ulink> - and download the snapshot for your version of ooRexx. -</para> -<para> - Most of the time the snapshots are packaged in both zip and tar format. - However, the ooTest framework and files are completely platform independent. - Either package will work on any system that ooRexx is working on. Pick the - packaging type that is most convenient for your needs. -</para> -</section> -<section><title>Extract the Files</title> -<para> - Open a console window and unzip or untar the snapshot in a convenient spot. - After unpackaging you will end up with a directory structure similar to - this: -<programlisting> -<![CDATA[ -ooRexxUnit.X.X.X - | - *------*framework - | | - | *-----<subdirectories> - | - *------*misc - | | - | *-----<subdirectories> - | - *------*ooRexx - | - *-----<subdirectories> -]]> -</programlisting> -</para> -<para> - The framework directory and subdirectories contain additional documentation - and examples. -</para> -<para> - The ooRexx directory and subdirectories contain all the tests implemented - using the ooTest framework. These sub-directories contain the tests used in - testing the ooRexx interpreter. -</para> -<para> - The misc directory has, well miscellaneous stuff. The most important of - which for this discussion is a template file that can be used to start your - test group files and several examples of test group files. -</para> -</section> -<section><title>Test Your Install</title> -<para> - After unpackaging the snapshot, cd into the top level directory and read the - ReadMe.first file. The top level directory will look similar to below: -<programlisting> -<![CDATA[ -E:\work.ooRexx\ooRexxUnit\3.2.0>dir - Volume in drive E is Blackfoot - Volume Serial Number is 9C3D-6D2A - - Directory of E:\work.ooRexx\ooRexxUnit\3.2.0 - -07/03/2008 08:00 PM <DIR> . -07/03/2008 08:00 PM <DIR> .. -07/03/2008 08:00 PM <DIR> framework -07/03/2008 08:06 PM <DIR> misc -07/03/2008 08:06 PM <DIR> ooRexx -11/29/2007 05:47 PM 11,839 CPLv1.0.txt -12/19/2007 09:15 PM 2,822 directory.structure.tests -06/30/2008 05:47 PM 1,737 Expected.Results -01/18/2008 10:39 AM 69,323 ooTest.frm -06/30/2008 05:47 PM 5,918 ReadMe.first -01/02/2008 08:03 PM 9,139 runTestGroups.rex -12/04/2007 08:07 PM 2,437 setTestEnv.bat -12/04/2007 08:06 PM 3,062 setTestEnv.sh -01/13/2008 01:15 PM 4,441 testOORexx.rex -01/12/2008 08:44 PM 18,190 worker.rex - 10 File(s) 128,908 bytes - 6 Dir(s) 14,359,519,232 bytes free -]]> -</programlisting> -</para> -<note><title>Note</title><para> - For the sake of this document I am going to show examples on Windows. But, - the same general thing applies to Linux. Just translate the slashes. In - addition the examples are from the 3.2.0 version of ooTest. The same general - principles apply to whatever snapshot you have. -</para></note> -<para> - The program file <computeroutput>testOORexx.rex</computeroutput> is what - drives the automated execution of the test cases. Provided that you have - a standard ooRexx install, you can execute the entire test suite as - follows. This command will execute the entire test suite. Depending on - your system itwill take several minutes to finish. - <programlisting> - <![CDATA[ - E:\work.ooRexx\ooRexxUnit\3.2.0>rexx testOORexx.rex -V 5 - Searching for test containers........................................ - Executing automated test suite.............................................. - ........................................................................... - .......... - - ooTest Framework - Automated Test of the ooRexx Interpreter - - - Interpreter: REXX-ooRexx_3.2.0(MT) 6.02 30 Oct 2007 - ooRexxUnit: 2.0.0_3.2.0 ooTest: 1.0.0_3.2.0 - - Tests ran: 16600 - Assertions: 537835 - Failures: 2 - (Known failures:) 42 - Errors: 2 - Exceptions: 0 - Skipped files: 0 - Messages: 0 - - [failure] [20080819 17:37:57.809000] - Test: TEST_MULTIPLE_INHERITANCE_WITH_MULTIPLE_METACLASSES - Class: Class.testGroup - File: E:\work.ooRexx\ooRexxUnit\3.2.0\ooRexx\base\class\Class.testGroup - Line: 576 - Failed: assertEquals - Expected: [['123.'], identityHash="495954478"] - Actual: [['231.'], identityHash="421451928"] - - [failure] [20080819 17:37:57.825000] - Test: TEST_SUBCLASSES - Class: Class.testGroup - File: E:\work.ooRexx\ooRexxUnit\3.2.0\ooRexx\base\class\Class.testGroup - Line: 684 - Failed: assertTrue - Expected: [1] - Actual: [[0], identityHash="535806184"] - - [error] [20080819 17:37:57.809000] - Test: TEST_MIXINCLASS_01 - Class: Class.testGroup - File: E:\work.ooRexx\ooRexxUnit\3.2.0\ooRexx\base\class\Class.testGroup - Event: [SYNTAX 97.1] raised unexpectedly. - Object "NOT_AN_EXISTING_CLASS" does not understand message "NEW" - Line: 509 - 509 *-* cl=.object~mixinclass("subTest_01", not_an_existing_class) - - [error] [20080819 17:37:57.825000] - Test: TEST_SUBCLASS_01 - Class: Class.testGroup - File: E:\work.ooRexx\ooRexxUnit\3.2.0\ooRexx\base\class\Class.testGroup - Event: [SYNTAX 97.1] raised unexpectedly. - Object "NOT_AN_EXISTING_CLASS" does not understand message "NEW" - Line: 616 - 616 *-* cl=.object~subclass("subtest_01", not_an_existing_class) - - - Interpreter: REXX-ooRexx_3.2.0(MT) 6.02 30 Oct 2007 - ooRexxUnit: 2.0.0_3.2.0 ooTest: 1.0.0_3.2.0 - - Tests ran: 16600 - Assertions: 537835 - Failures: 2 - (Known failures:) 42 - Errors: 2 - Exceptions: 0 - Skipped files: 0 - Messages: 0 - - File search: 00:00:51.456000 - Suite construction: 00:00:02.000000 - Test execution: 00:02:17.632000 - Total time: 00:03:11.620000 - - - E:\work.ooRexx\ooRexxUnit\3.2.0> - ]]> - </programlisting> -</para> -<para> - You should get results similar to the above. Included with the snapshot is a - file called <computeroutput>Expected.results</computeroutput>. That file should - show you results similar to what you actually get. -</para> -</section> -<section><title>Understanding What you See</title> -<para> - We looked at the entire output from running the automated test suite. Let's - examine some of the sections in more detail. The below stats show: -<programlisting> -<![CDATA[ -Interpreter: REXX-ooRexx_3.2.0(MT) 6.02 30 Oct 2007 -ooRexxUnit: 2.0.0_3.2.0 ooTest: 1.0.0_3.2.0 - -Tests ran: 16600 -Assertions: 537835 -Failures: 2 - (Known failures:) 42 -Errors: 2 -Exceptions: 0 -Skipped files: 0 -Messages: 0 - -File search: 00:00:51.456000 -Suite construction: 00:00:02.000000 -Test execution: 00:02:17.632000 -Total time: 00:03:11.620000 -]]> -</programlisting> - that 16,600 tests ran, comprising 537,835 assertations, taking about 3 minutes - total to finish. There were 2 failures, 42 known failures, and 2 errors. -</para> -<para> - For a little terminology. When you write a test case there are 2 expected - outcomes. It is expected that the test case either passes or fails. So in - ooTest, a failure is a test case that did not pass. An error is an - <emphasis role="bold">unexpected</emphasis> event. We are going to ignore - the errors for now. In general they indicate something is wrong, maybe with the - framework, maybe with the interpreter. -</para> -<para> - I'm going to just explain one of the failures. You have this output: -<programlisting> -<![CDATA[ -[failure] [20080819 17:37:57.809000] - Test: TEST_MULTIPLE_INHERITANCE_WITH_MULTIPLE_METACLASSES - Class: Class.testGroup - File: E:\work.ooRexx\ooRexxUnit\3.2.0\ooRexx\base\class\Class.testGroup - Line: 576 - Failed: assertEquals - Expected: [['123.'], identityHash="495954478"] - Actual: [['231.'], identityHash="421451928"] -]]> -</programlisting> -</para> -<para> - The above shows that the name of the failed test was <computeroutput> - TEST_MULTIPLE_INHERITANCE_WITH_MULTIPLE_METACLASSES</computeroutput> and it can - be found on line 576 in the file <computeroutput>Class.testGroup</computeroutput>. -</para> -<para> - What failed was an assertion that two things were equal. The thing was - expected to be equal to '123' but it actually was '231' -</para> -<para> - Unfortunately these failing two test are a little complex, maybe not the best - for an intro, but to continue with what we have. If we look at the failing - test file on line 576 we see: -<programlisting> -<![CDATA[ - self~assertEquals("'123.'", .class123~info) -]]> -</programlisting> -</para> -<para> - Okay, it has a method, but just bear with me for a second. This is - the heart of writing a test case. -<programlisting> -<![CDATA[ - assertEquals("123", .class123~info) -]]> -</programlisting> -</para> -<para> - Think of the method just as a routine for now with some prefix on it that you - do not need to worry about. The routine name is assertEquals. The routine - has 2 args and what we are doing is asserting that the 2 args are equal. -</para> -<para> - If they are not equal, the test case fails and the ooTest framework takes care - of all the details of reporting the failure. That is the print out you see - above. For now, don't worry about how the framework does this, just accept - that it does it. -</para> -<para> - Next, let's look at the lines around 567, and you see this: - -<programlisting> -<![CDATA[ -::method "test_MULTIPLE_INHERITANCE_WITH_MULTIPLE_METACLASSES" - - self~assertEquals("'123.'", .class123~info) -]]> -</programlisting> - Think of the method as a routine, for now, that is named: - <computeroutput>test_MULTIPLE_INHERITANCE_WITH_MULTIPLE_METACLASSES</computeroutput>. - And that is the test name, the name reported in the print out. Next is the assertion, - <computeroutput>assertEquals()</computeroutput>.The test writer is asserting that - <computeroutput>"123"</computeroutput> is equal to <computeroutput>.class123~info</computeroutput>. - The assertion failed, the test failed. -</para> -<para> - You and I don't need to figure out what <computeroutput>.class123~info</computeroutput> is right now. -</para> -<para> - Enough for an introduction. -</para> -</section> -</chapter> - -<chapter><title>Starting to Write a Test Case</title> -<para> - In the last section we looked at this, which I said was the heart of a test - case: -<programlisting> -<![CDATA[ - ::method "test_MULTIPLE_INHERITANCE_WITH_MULTIPLE_METACLASSES" - - self~assertEquals("'123.'", .class123~info) -]]> -</programlisting> - In this section we will start to write our own test case. -</para> -<section><title>A First Test Case</title> -<para> - Say we want to test that the interpreter is adding 2 + 3 correctly. We expect - our test case either to show that the interpreter is adding 2 + 3 correctly or - that it is not. -</para> -<para> - To write a test case, it has to be in a method, which always starts as follows: -<programlisting> -<![CDATA[ - ::method -]]> -</programlisting> -</para> -<para> - That is boilerplate, just type it. Then the next key thing is that - the framework executes each method whose name begins with 'test', case - not significant, as a test case. We need to name the test case method, - so we do this: -<programlisting> -<![CDATA[ - ::method test_simpleAddition -]]> -</programlisting> -</para> -<para> - That's also boilerplate, make up a name, start it with test. I usually add - the underscore, but it is not needed. -</para> -<para> - What's the test? We know that 2 + 3 is 5, so if the interpreter adds - 2 + 3 we would expect the result to be 5. We write some code that - adds 2 + 3 and then assert that the result is 5: - -<programlisting> -<![CDATA[ - ::method test_simpleAdditon - val = 2 + 3 - self~assertEquals(5, val) -]]> -</programlisting> -</para> -<para> - That is all there is to it. The above 3 lines of code will test that the - interpreter adds 2 plus 3 correctly. The framework takes care of all the - other details. -</para> -<para> - Well there is a little more to it, we need to add the test case methods to a - file, I'll show that later. -</para> -<para> - To summarize, to get started: Think of - <computeroutput>::method</computeroutput> as a the beginning of a function definition, - where the function name comes right after the <computeroutput>::method</computeroutput>. - Think of <computeroutput>assertEquals()</computeroutput> as a function call. And - just note that the function call has to start with a prefix of <computeroutput>'self~'</computeroutput>. - You do not need to really understand the <computeroutput>'self~'</computeroutput> part at - first. Just know that you have to add it. We'll worry about learning about classes some - other time. This is enough to write test cases. -</para></section> - -<section><title>Contributing to the ooRexx Project</title> -<para> - At this point, I'm going to interject a little info on contributing to - the ooRexx project / contributing to the ooRexx test suite. -</para> -<para> - The test suite is enormously helpful to the project. Everyone and any - one can contribute to this effort. Even though we have a large number - of tests, we still have a lot of holes in the coverage. -</para> -<para> - There are 4 main ways someone can contribute: -</para> - -<itemizedlist> -<listitem> - <para>You could write a whole new <computeroutput>*.testGroup</computeroutput> file.</para> -</listitem> -<listitem> - <para>You can add tests to an existing <computeroutput>*.testGroup</computeroutput> file.</para> -</listitem> -<listitem> - <para> - You can examine existing test case code for correctness and correct or - improve wrong or weak test cases. - </para> -</listitem> -<listitem> - <para> - You can help organize or promote the contribution of test cases into the - project. - </para> -</listitem> -</itemizedlist> - -<para> - It is my strong opinion that all the <computeroutput>.testGroup</computeroutput> - files in the test suite are works in progress. In addition, we could really use - more pairs of eye examining the existing .testGroup files with a critical eye. -</para> -<para> - Any one and every one is encouraged to either add to an existing file - or to say hey this test is wrong, it should be written this way. Or - to say, hey the <computeroutput>Lines.testGroup</computeroutput> does - not have a test for this option, here's a method that does test it. -</para> -<para> - The other thing that is really important, is that just because - something is working now, that doesn't mean there shouldn't be a test - for it. There is no guarantee that anything that is working today - will be working after I make my next commit. If I break something - with my next commit, and we have a test case for it, it will show up - right away and get fixed. -</para> -<para> - For example, you may think that there is no way the say instruction could be - broken. But what about if you have this in a Rexx file: -<programlisting> -<![CDATA[ - /* Simple.rex */ - say 'Hello World' -]]> -</programlisting> - and then run it like this: -<programlisting> -<![CDATA[ - E:\>rexx Simple.rex > myTest.file -]]> -</programlisting> -</para> -<para> - You would expect <computeroutput>myTest.File</computeroutput> to contain 1 line consisting of: -<programlisting> -<![CDATA[ - Hello World<endOfLineCharacter> -]]> -</programlisting> -</para> -<para> - Well, a real life bug we just had was that instead of the normal - Windows end of line which is 0x0d0a we were actually getting 0x0d0d0a. -</para> -<para> - Now, running the test suite did catch this, but not because we had a - test for it. The test suite caught it because some other tests were - failing with what appeared to be no reason. It took quite awhile to - locate what was really wrong. -</para> -<para> - We did not, and still don't, have a simple test case that asserts that - a say statement redirected to a file produces what it should. The - simple test should assert that the bytes in the file are exactly 13 - and then assert that byte 1 is 0x48, byte 2 is 0x45, ... byte 12 is - 0x0d, byte 13 is 0x0a. -</para> -<para> - Next chapter, create a testGroup file from the template and start a test - group. -</para></section> -</chapter> -<chapter><title>Starting a Test Group from Scratch</title> -<para> - In the ooTest framework, tests are orgainized as follows. An assertation is - a single test. A single method represents a test case. Each test case - would contain at least one assertion, but often a test case will contain - several assertation. Then a number of test cases for a similar area are - gathered together in a file, which we call a test group. -</para> -<section><title>Starting a Test Group</title> -<para> - I'm going to assume that the reader has been following along in the thread and - try not to repeat myself. The idea behind this thread is to show how to start - writing test cases even if you do not understand classes by using boilerplate - code. -</para> -<para> - If you downloaded a snapshot and unzipped it, it will have created a - directory tree. We start in the root of the tree which will be named - ooRexxUnit.X.X.X. -</para> -<para> - There is the misc/ subdirectory. It has a template file. Pick a name - for the test group and figure out roughly where it should go. Copy - the template to the subdirectory renaming it in the copy. I am going - to work with the stream BIF, since we do not even have a test group - started for that important BIF. This example is on Linux -<programlisting> -<![CDATA[ -Raven:/ooRexxUnit.3.2.0 # cp misc/template.testGroup ooRexx/base/bif/STREAM.testGroup -]]> -</programlisting> -</para> -<para> - You don't even have to put it in the proper subdirectory. To get - started you could just put it anywhere under the ooRexx subdirectory. -<programlisting> -<![CDATA[ -Raven:/ooRexxUnit.3.2.0 # cp misc/template.testGroup ooRexx/STREAM.testGroup -]]> -</programlisting> -</para> -</section> -<section><title>Editing STREAM.testGroup</title> -<para> - Open the file in an editor. The first thing I do is a search and - replace of <computeroutput>template.testGroup</computeroutput> with - <computeroutput>STREAM.testGroup</computeroutput>. I'm not going to - give editor lessons, but if you do not understand classes, be sure you - don't skip this first step. -</para> -<para> - Then starting at the top of the editor we have the first 41 lines that - you just ignore and leave alone. The first few are: -<programlisting> -<![CDATA[ - #!/usr/bin/rexx - /* - SVN Revision: $Rev: 2267 $ - Change Date: $Date: 2008-01-18 09:41:04 -0800 (Fri, 18 Jan 2008) $ - */ -]]> -</programlisting> - Which are just book keeping. The <computeroutput>#!/usr/bin/rexx</computeroutput> - causes the file to execute as a script on Linux, etc. The next is just svn - book keeping. Then there is the license text. -</para> -<para> - Starting on line 42 through 51 we have what I think of as the entry - point to an ooRexx program that has directives in it. You do not need - to understand this to start off with, it is the code that lets the - framework automate the execution of tests. You just need to be sure - you changed <computeroutput>template.testGroup</computeroutput> to - <computeroutput>STREAM.testGroup</computeroutput>. The lines look - like: -<programlisting> -<![CDATA[ - parse source . . s - - group = .TestGroup~new(s) - group~add(.STREAM.testGroup) - - if group~isAutomatedTest then return group - - testResult = group~suite~execute~~print - - return testResult - -- End of entry point. -]]> -</programlisting> -</para> -<para> - Briefly what this does is: -<itemizedlist> -<listitem> - <para> - Create a n... [truncated message content] |