Check-in [ead6a9e0ca]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Corrected code generation for attribute reading function when an array was involved. Corrected conversion code for size_t types. Removed -doc command options: it was never implemented. Preparing for release of bosal 1.2.2.
Timelines: family | ancestors | descendants | both | micca-harness
Files: files | file ages | folders
SHA1: ead6a9e0cae4aca210151b00af1eff39a1b9781f
User & Date: andrewm 2019-10-29 15:58:06
Context
2019-10-30
14:07
Commiting windows build for bosal 1.2.2. Preparing for new bosal release. check-in: 8fa6f5bf65 user: andrewm tags: micca-harness
2019-10-29
15:58
Corrected code generation for attribute reading function when an array was involved. Corrected conversion code for size_t types. Removed -doc command options: it was never implemented. Preparing for release of bosal 1.2.2. check-in: ead6a9e0ca user: andrewm tags: micca-harness
2019-10-03
17:28
Minor clean up of mecate to remove an extraneous "puts" debug printout and correct the version numbers on the man pages. check-in: 01434c3ba9 user: andrewm tags: micca-harness
Changes

Changes to bosal/code/starpack/macosx10.5-x86_64/bosal.tpj.

10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
###
##
#

App/Code               {}
App/Package            {}
App/PostCode           {}
Metadata               {as::origin www.modelrealization.com subject micca copyright {2018 Model Realization} author {G. Andrew Mangogna} description {Automated test harness generator for micca} tdk-licensed-to {George Mangogna <amangogna@modelrealization.com> (Commercial license, serial number S2346083DA)} name bosal as::build::date 2018-08-28 license {Same as Tcl} platform linux-glibc2.27-x86_64 version 1.2.1 summary {Test harness}}
OSX/Info.plist         {}
Path                   {Relativeto /Users/andrewm/develop/mrtools-harness/bosal/code/tcl}
Path                   {File /Users/andrewm/develop/mrtools-harness/bosal/code/tcl/bosal.tcl}
Path                   {File /Users/andrewm/develop/mrtools-harness/bosal/code/tcl/bosal_main.tcl}
Path                   Startup
Pkg/Architecture       macosx10.10-i386-x86_64
Pkg/Architecture       macosx10.5-i386-x86_64







|







10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
###
##
#

App/Code               {}
App/Package            {}
App/PostCode           {}
Metadata               {as::origin www.modelrealization.com subject micca copyright {2018 Model Realization} author {G. Andrew Mangogna} description {Automated test harness generator for micca} tdk-licensed-to {George Mangogna <amangogna@modelrealization.com> (Commercial license, serial number S2346083DA)} name bosal as::build::date 2018-08-28 license {Same as Tcl} platform linux-glibc2.27-x86_64 version 1.2.2 summary {Test harness}}
OSX/Info.plist         {}
Path                   {Relativeto /Users/andrewm/develop/mrtools-harness/bosal/code/tcl}
Path                   {File /Users/andrewm/develop/mrtools-harness/bosal/code/tcl/bosal.tcl}
Path                   {File /Users/andrewm/develop/mrtools-harness/bosal/code/tcl/bosal_main.tcl}
Path                   Startup
Pkg/Architecture       macosx10.10-i386-x86_64
Pkg/Architecture       macosx10.5-i386-x86_64

Changes to bosal/code/starpack/win32-x86_64/bosal.tpj.

10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
###
##
#

App/Code               {}
App/Package            {}
App/PostCode           {}
Metadata               {subject micca as::origin www.modelrealization.com copyright {2018 Model Realization} author {G. Andrew Mangogna} description {Automated test harness generator for micca} tdk-licensed-to {George Mangogna <amangogna@modelrealization.com> (Commercial license, serial number S2346083DA)} name bosal as::build::date 2018-09-23 license {Same as Tcl} platform win32-x86_64 summary {Test harness} version 1.2.1}
OSX/Info.plist         {}
Path                   {Relativeto C:/Users/andrewm/Working/modelrealization/mrtools-harness/bosal/code/tcl}
Path                   {File C:/Users/andrewm/Working/modelrealization/mrtools-harness/bosal/code/tcl/bosal.tcl}
Path                   {File C:/Users/andrewm/Working/modelrealization/mrtools-harness/bosal/code/tcl/bosal_main.tcl}
Path                   Startup
Pkg/Architecture       win32-x86_64
Pkg/Reference          {Tcl 8.6}







|







10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
###
##
#

App/Code               {}
App/Package            {}
App/PostCode           {}
Metadata               {subject micca as::origin www.modelrealization.com copyright {2018 Model Realization} author {G. Andrew Mangogna} description {Automated test harness generator for micca} tdk-licensed-to {George Mangogna <amangogna@modelrealization.com> (Commercial license, serial number S2346083DA)} name bosal as::build::date 2018-09-23 license {Same as Tcl} platform win32-x86_64 summary {Test harness} version 1.2.2}
OSX/Info.plist         {}
Path                   {Relativeto C:/Users/andrewm/Working/modelrealization/mrtools-harness/bosal/code/tcl}
Path                   {File C:/Users/andrewm/Working/modelrealization/mrtools-harness/bosal/code/tcl/bosal.tcl}
Path                   {File C:/Users/andrewm/Working/modelrealization/mrtools-harness/bosal/code/tcl/bosal_main.tcl}
Path                   Startup
Pkg/Architecture       win32-x86_64
Pkg/Reference          {Tcl 8.6}

Changes to bosal/code/starpack/x86_64-linux-tcl8.6/bosal.

cannot compute difference between binary files

Changes to bosal/code/starpack/x86_64-linux-tcl8.6/bosal.tpj.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29



30
31
32
33
34
35
36
format  {TclDevKit Project File}
fmtver  2.0
fmttool {TclDevKit TclApp} 5.3

##  Saved at : Fri Oct 26 10:04:46 PDT 2018
##  By       : andrewm@Office-NUC

########
#####
###
##
#

App/Code               {}
App/Package            {}
App/PostCode           {}
Metadata               {as::origin www.modelrealization.com subject micca copyright {2018 Model Realization} author {G. Andrew Mangogna} description {Automated test harness generator for micca} tdk-licensed-to {George Mangogna <amangogna@modelrealization.com> (Commercial license, serial number S2346083DA)} name bosal as::build::date 2018-08-28 license {Same as Tcl} platform linux-glibc2.27-x86_64 version 1.2.1 summary {Test harness}}
OSX/Info.plist         {}
Path                   {Relativeto /home/andrewm/working/mrtools-harness/bosal/code/tcl}
Path                   {File /home/andrewm/working/mrtools-harness/bosal/code/tcl/bosal.tcl}
Path                   {File /home/andrewm/working/mrtools-harness/bosal/code/tcl/bosal_main.tcl}
Path                   Startup
Pkg/Architecture       linux-glibc2.28-x86_64
Pkg/Architecture       linux-glibc2.3-x86_64
Pkg/Reference          {Tcl 8.6}
Pkg/Reference          char
Pkg/Reference          cmdline
Pkg/Reference          lambda
Pkg/Reference          logger



Pkg/Reference          micca
Pkg/Reference          oo::util
Pkg/Reference          pt::ast
Pkg/Reference          pt::pe
Pkg/Reference          pt::rde::oo
Pkg/Reference          pt::util
Pkg/Reference          ral




|











|





|
|





>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
format  {TclDevKit Project File}
fmtver  2.0
fmttool {TclDevKit TclApp} 5.3

##  Saved at : Tue Oct 29 15:55:38 PDT 2019
##  By       : andrewm@Office-NUC

########
#####
###
##
#

App/Code               {}
App/Package            {}
App/PostCode           {}
Metadata               {as::origin www.modelrealization.com subject micca copyright {2018 Model Realization} author {G. Andrew Mangogna} description {Automated test harness generator for micca} tdk-licensed-to {George Mangogna <amangogna@modelrealization.com> (Commercial license, serial number S2346083DA)} name bosal as::build::date 2018-08-28 license {Same as Tcl} platform linux-glibc2.27-x86_64 version 1.2.2 summary {Test harness}}
OSX/Info.plist         {}
Path                   {Relativeto /home/andrewm/working/mrtools-harness/bosal/code/tcl}
Path                   {File /home/andrewm/working/mrtools-harness/bosal/code/tcl/bosal.tcl}
Path                   {File /home/andrewm/working/mrtools-harness/bosal/code/tcl/bosal_main.tcl}
Path                   Startup
Pkg/Architecture       linux-glibc2.3-x86_64
Pkg/Architecture       linux-glibc2.30-x86_64
Pkg/Reference          {Tcl 8.6}
Pkg/Reference          char
Pkg/Reference          cmdline
Pkg/Reference          lambda
Pkg/Reference          logger
Pkg/Reference          {logger::appender 1.3}
Pkg/Reference          {logger::utils 1.3}
Pkg/Reference          {md5 2.0.7}
Pkg/Reference          micca
Pkg/Reference          oo::util
Pkg/Reference          pt::ast
Pkg/Reference          pt::pe
Pkg/Reference          pt::rde::oo
Pkg/Reference          pt::util
Pkg/Reference          ral

Changes to bosal/src/Makefile.

10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#

DOCDIR	= ../doc
PKGDIR	= ../../packages
IMAGEDIR = ./figures
CODEDIR	= ../code

VERSION=0.1

vpath %.pdf $(DOCDIR)
vpath %.html $(DOCDIR)
vpath %.uxf $(IMAGEDIR)
vpath %.tcl $(CODEDIR)/tcl

DOCSRC 	=\







|







10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#

DOCDIR	= ../doc
PKGDIR	= ../../packages
IMAGEDIR = ./figures
CODEDIR	= ../code

VERSION=1.2.1

vpath %.pdf $(DOCDIR)
vpath %.html $(DOCDIR)
vpath %.uxf $(IMAGEDIR)
vpath %.tcl $(CODEDIR)/tcl

DOCSRC 	=\

Changes to bosal/src/bosal-docinfo.xml.

61
62
63
64
65
66
67











68
    <date>October 25, 2017</date>
    <authorinitials>GAM</authorinitials>
    <revremark>
        Cleaned up code around accepting the socket connection.
        This makes the MacOS version work.
    </revremark>
  </revision>











</revhistory>







>
>
>
>
>
>
>
>
>
>
>

61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
    <date>October 25, 2017</date>
    <authorinitials>GAM</authorinitials>
    <revremark>
        Cleaned up code around accepting the socket connection.
        This makes the MacOS version work.
    </revremark>
  </revision>
  <revision>
    <revnumber>1.2.2</revnumber>
    <date>October 29, 2019</date>
    <authorinitials>GAM</authorinitials>
    <revremark>
        Corrected code generation for attribute reading function
        when an array was involved.
        Corrected conversion code for size_t types.
        Removed -doc command options: it was never implemented.
    </revremark>
  </revision>
</revhistory>

Changes to bosal/src/codeorg.txt.

120
121
122
123
124
125
126








127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
...
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
...
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
...
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
    }
    foreach lib $libs {
        lappend ::auto_path $lib
    }
} else {
    set appdir [file dirname [info script]]
}









source [file join $appdir bosal.tcl]
package require bosal
package require cmdline

set cmdOpts {
    {version {Print out version information and exit}}
    {header {Output a copy of the header file, bosal.h and exit}}
    {output.arg {-} {Output file name}}
    {main {Include a minimal main function}}
    {level.arg warn {Logger print level}}
    {nogenerate {Don't generate any output files}}
    {doc {Output a copy of the manual documentation and exit}}
    {expanderror.arg fail {How macro expansion errors are handled}}
}

set usage "\[options] file1 ...\noptions:\n"
try {
    set options [cmdline::getoptions argv $cmdOpts $usage]
} on error {result} {
................................................................................

if {[dict get $options version]} {
    chan puts "bosal: version $::bosal::version"
    chan puts {
<<copyright info>>
}
    exit 0
} elseif {[dict get $options doc]} {
    file copy -force [file join $appdir HTML] ./bosaldoc
    exit 0
} elseif {[dict get $options header]} {
    set hchan [open bosal.h w]
    try {
        chan puts $hchan $::bosal::headerFile
    } on error {result opts} {
        return -options $opts $result
    } finally {
................................................................................

This software is copyrighted.
It is licensed in the same manner as Tcl itself.

[source,tcl]
----
<<copyright info>>=
# This software is copyrighted 2017 - 2018 by G. Andrew Mangogna.
# The following terms apply to all files associated with the software unless
# explicitly disclaimed in individual files.
# 
# The authors hereby grant permission to use, copy, modify, distribute,
# and license this software and its documentation for any purpose, provided
# that existing copyright notices are retained in all copies and that this
# notice is included verbatim in any distributions. No written agreement,
................................................................................
# terms specified in this license.
----

==== Version Information

----
<<version info>>=
"1.2.1"
----

==== Edit Warning

----
<<edit warning>>=
# DO NOT EDIT THIS FILE!
# THIS FILE IS AUTOMATICALLY GENERATED FROM A LITERATE PROGRAM SOURCE FILE.
#
----







>
>
>
>
>
>
>
>












<







 







<
<
<







 







|







 







|










120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146

147
148
149
150
151
152
153
...
159
160
161
162
163
164
165



166
167
168
169
170
171
172
...
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
...
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
    }
    foreach lib $libs {
        lappend ::auto_path $lib
    }
} else {
    set appdir [file dirname [info script]]
}

# This is a hack!
# We unset the "iswrapped" variable to insure that when the micca
# package is loaded in a wrapped application, it looks in the right
# place to get the PEG parser for "C" data types. Because of the way
# micca sources in the PEG parser and the way Tcl app builds an application
# the hack works.
unset iswrapped

source [file join $appdir bosal.tcl]
package require bosal
package require cmdline

set cmdOpts {
    {version {Print out version information and exit}}
    {header {Output a copy of the header file, bosal.h and exit}}
    {output.arg {-} {Output file name}}
    {main {Include a minimal main function}}
    {level.arg warn {Logger print level}}
    {nogenerate {Don't generate any output files}}

    {expanderror.arg fail {How macro expansion errors are handled}}
}

set usage "\[options] file1 ...\noptions:\n"
try {
    set options [cmdline::getoptions argv $cmdOpts $usage]
} on error {result} {
................................................................................

if {[dict get $options version]} {
    chan puts "bosal: version $::bosal::version"
    chan puts {
<<copyright info>>
}
    exit 0



} elseif {[dict get $options header]} {
    set hchan [open bosal.h w]
    try {
        chan puts $hchan $::bosal::headerFile
    } on error {result opts} {
        return -options $opts $result
    } finally {
................................................................................

This software is copyrighted.
It is licensed in the same manner as Tcl itself.

[source,tcl]
----
<<copyright info>>=
# This software is copyrighted 2017 - 2019 by G. Andrew Mangogna.
# The following terms apply to all files associated with the software unless
# explicitly disclaimed in individual files.
# 
# The authors hereby grant permission to use, copy, modify, distribute,
# and license this software and its documentation for any purpose, provided
# that existing copyright notices are retained in all copies and that this
# notice is included verbatim in any distributions. No written agreement,
................................................................................
# terms specified in this license.
----

==== Version Information

----
<<version info>>=
"1.2.2"
----

==== Edit Warning

----
<<edit warning>>=
# DO NOT EDIT THIS FILE!
# THIS FILE IS AUTOMATICALLY GENERATED FROM A LITERATE PROGRAM SOURCE FILE.
#
----

Changes to bosal/src/docinfo.xml.

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<authorgroup>
  <author>
    <firstname>Andrew</firstname>
    <surname>Mangogna</surname>
  </author>
</authorgroup>
<copyright>
  <year>2017 - 2018</year>
  <holder>
      G. Andrew Mangogna
  </holder>
</copyright>
<legalnotice>
  <title>
      Legal Notices and Information
  </title>
  <para>
This software is copyrighted 2017 - 2018 by G. Andrew Mangogna.
The following terms apply to all files associated with the software unless
explicitly disclaimed in individual files.
  </para>
  <para>
The author hereby grants permission to use, copy, modify, distribute,
and license this software and its documentation for any purpose, provided
that existing copyright notices are retained in all copies and that this







|









|







4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<authorgroup>
  <author>
    <firstname>Andrew</firstname>
    <surname>Mangogna</surname>
  </author>
</authorgroup>
<copyright>
  <year>2017 - 2019</year>
  <holder>
      G. Andrew Mangogna
  </holder>
</copyright>
<legalnotice>
  <title>
      Legal Notices and Information
  </title>
  <para>
This software is copyrighted 2017 - 2019 by G. Andrew Mangogna.
The following terms apply to all files associated with the software unless
explicitly disclaimed in individual files.
  </para>
  <para>
The author hereby grants permission to use, copy, modify, distribute,
and license this software and its documentation for any purpose, provided
that existing copyright notices are retained in all copies and that this

Changes to bosal/src/generate.txt.

4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
....
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861






4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895

4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
                $div puts "bslFormatToContext(CmdContext, \"%\" $prifmt, attrValue) ;"
            }
            string {
                $div puts "bslFormatToContext(CmdContext, \"%\" $prifmt, attrValue) ;"
            }
            array {
                set dim [dict get $typeinfo dimension]
                $div puts "for (int index = 0 ; $index < $dim ; index++) {"
                $div push
                $div puts "bslFormatToContext(CmdContext, \"%\" $prifmt \" \",\
                        attrValue\[index]) ;"
                $div pop ; $div puts "}"
            }
            default {
                $div puts "bslResetContext(CmdContext) ;"
................................................................................
        $div puts "MRT_DomainPortal const *portal,"
        $div puts "MRT_ClassId classId,"
        $div puts "MRT_InstId instId,"
        $div puts "MRT_AttrId attrId,"
        $div puts "char const *value)" ; $div pop

        $div puts "{" ; $div push

        $div puts "int pcode ;"
        set typeinfo [GetTypeInfo $Domain $DataType convertedValue]






        switch -exact -- [dict get $typeinfo type] {
            scalar {
                $div puts "[dict get $typeinfo declaration] ;"
                set cvtRef [dict get $typeinfo varref]

                if {[dict get $typeinfo basetype] eq "bool"} {
                    $div puts "int nitems = bslScanBoolean(value, $cvtRef) ;"
                    set scnfmt \"bool\"
                } else {
                    set scnfmt [dict get $typeinfo scan]
                    $div puts "int nitems = sscanf(value, \"%\" $scnfmt,\
                            $cvtRef) ;"
                }
                $div puts "if (nitems == 1) {" ; $div push
                $div puts "pcode = mrt_PortalUpdateAttr(portal, classId,\
                    instId, attrId, $cvtRef, sizeof(convertedValue)) ;"
                $div pop ; $div puts "} else {" ; $div push
                $div puts "bslFormatToContext(CmdContext, failedConvertMsg,\
                        value, $scnfmt) ;"
                $div puts "return false ;"
                $div pop ; $div puts "}"
            }
            string {
                $div puts "pcode = mrt_PortalUpdateAttr(portal, classId,\
                    instId, attrId, value, strlen(value) + 1) ;"
            }
            array {
                $div puts "bslFormatToContext(CmdContext,
                    \"unable to update array attributes\") ;"
            }
        }

        $div puts "if (pcode < 0) {" ; $div push
        $div puts "bslFormatToContext(CmdContext, mrt_PortalErrorString(pcode)) ;"

        $div puts "return false ;"
        $div pop ; $div puts "}"

        $div puts "return true ;"

        $div pop ; $div puts "}"
    }

    $div return
}
----








|







 







<
<

>
>
>
>
>
>
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<
<
<

|
<
|
|
>
|
|

|
|







4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
....
4852
4853
4854
4855
4856
4857
4858


4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891



4892
4893

4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
                $div puts "bslFormatToContext(CmdContext, \"%\" $prifmt, attrValue) ;"
            }
            string {
                $div puts "bslFormatToContext(CmdContext, \"%\" $prifmt, attrValue) ;"
            }
            array {
                set dim [dict get $typeinfo dimension]
                $div puts "for (int index = 0 ; index < $dim ; index++) {"
                $div push
                $div puts "bslFormatToContext(CmdContext, \"%\" $prifmt \" \",\
                        attrValue\[index]) ;"
                $div pop ; $div puts "}"
            }
            default {
                $div puts "bslResetContext(CmdContext) ;"
................................................................................
        $div puts "MRT_DomainPortal const *portal,"
        $div puts "MRT_ClassId classId,"
        $div puts "MRT_InstId instId,"
        $div puts "MRT_AttrId attrId,"
        $div puts "char const *value)" ; $div pop

        $div puts "{" ; $div push


        set typeinfo [GetTypeInfo $Domain $DataType convertedValue]
        if {[dict get $typeinfo type] eq "array"} {
            $div puts "bslFormatToContext(CmdContext,\
                \"unable to update array attributes\") ;"
            $div puts "return false ;"
        } else {
            $div puts "int pcode ;"
            switch -exact -- [dict get $typeinfo type] {
                scalar {
                    $div puts "[dict get $typeinfo declaration] ;"
                    set cvtRef [dict get $typeinfo varref]

                    if {[dict get $typeinfo basetype] eq "bool"} {
                        $div puts "int nitems = bslScanBoolean(value, $cvtRef) ;"
                        set scnfmt \"bool\"
                    } else {
                        set scnfmt [dict get $typeinfo scan]
                        $div puts "int nitems = sscanf(value, \"%\" $scnfmt,\
                                $cvtRef) ;"
                    }
                    $div puts "if (nitems == 1) {" ; $div push
                    $div puts "pcode = mrt_PortalUpdateAttr(portal, classId,\
                        instId, attrId, $cvtRef, sizeof(convertedValue)) ;"
                    $div pop ; $div puts "} else {" ; $div push
                    $div puts "bslFormatToContext(CmdContext, failedConvertMsg,\
                            value, $scnfmt) ;"
                    $div puts "return false ;"
                    $div pop ; $div puts "}"
                }
                string {
                    $div puts "pcode = mrt_PortalUpdateAttr(portal, classId,\
                        instId, attrId, value, strlen(value) + 1) ;"
                }



            }


            $div puts "if (pcode < 0) {" ; $div push
            $div puts "bslFormatToContext(CmdContext,\
                    mrt_PortalErrorString(pcode)) ;"
            $div puts "return false ;"
            $div pop ; $div puts "}"

            $div puts "return true ;"
        }
        $div pop ; $div puts "}"
    }

    $div return
}
----

Changes to bosal/src/intro.txt.

132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147

where options are:

-version::
    Print out version information and exit.
-header::
    Output a copy of the header file, `bosal.h`, and exit.
-doc::
    Output a copy of the manual documentation and exit.
-output _filename_::
    Name of the output file. If this option is not supplied, then `bosal`
    writes the test harness code to the standard output.
-main::
    include a minimal `main` function in harness output.
-nogenerate::
    Don't generate any output.







<
<







132
133
134
135
136
137
138


139
140
141
142
143
144
145

where options are:

-version::
    Print out version information and exit.
-header::
    Output a copy of the header file, `bosal.h`, and exit.


-output _filename_::
    Name of the output file. If this option is not supplied, then `bosal`
    writes the test harness code to the standard output.
-main::
    include a minimal `main` function in harness output.
-nogenerate::
    Don't generate any output.

Changes to bosal/src/utils.txt.

846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
    {short int}                 {"hd"}               {"hi"}             } {
    {unsigned short}            {"hu"}               {"hi"}             } {
    {unsigned short int}        {"hu"}               {"hi"}             } {
    long                        {"ld"}               {"li"}             } {
    {long int}                  {"ld"}               {"li"}             } {
    {unsigned long}             {"lu"}               {"li"}             } {
    {unsigned long int}         {"lu"}               {"li"}             } {
    size_t                      {"z"}                {"z"}              } {
    {long long}                 {"lld"}              {"lli"}            } {
    {long long int}             {"lld"}              {"lli"}            } {
    {unsigned long long}        {"llu"}              {"lli"}            } {
    {unsigned long long int}    {"llu"}              {"lli"}            } {
    {char *}                    {"s"}                {}                 } {
    {char const *}              {"s"}                {}                 } {
    {const char *}              {"s"}                {}                 } {







|







846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
    {short int}                 {"hd"}               {"hi"}             } {
    {unsigned short}            {"hu"}               {"hi"}             } {
    {unsigned short int}        {"hu"}               {"hi"}             } {
    long                        {"ld"}               {"li"}             } {
    {long int}                  {"ld"}               {"li"}             } {
    {unsigned long}             {"lu"}               {"li"}             } {
    {unsigned long int}         {"lu"}               {"li"}             } {
    size_t                      {"zu"}               {"zu"}             } {
    {long long}                 {"lld"}              {"lli"}            } {
    {long long int}             {"lld"}              {"lli"}            } {
    {unsigned long long}        {"llu"}              {"lli"}            } {
    {unsigned long long int}    {"llu"}              {"lli"}            } {
    {char *}                    {"s"}                {}                 } {
    {char const *}              {"s"}                {}                 } {
    {const char *}              {"s"}                {}                 } {

Changes to bosal/test/bosal-test.aweb.

70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
    Version command test
} -setup {
} -cleanup {
} -body {
    set version [harnessCmdResp version]
    log::info "testing harness created by bosal $version"
    return $version
} -result {1.2.1}
----

== Query Domains

(((chunk,bosal harness tests)))
(((test,query-domains-1.0)))








|







70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
    Version command test
} -setup {
} -cleanup {
} -body {
    set version [harnessCmdResp version]
    log::info "testing harness created by bosal $version"
    return $version
} -result {1.2.2}
----

== Query Domains

(((chunk,bosal harness tests)))
(((test,query-domains-1.0)))