Check-in [e1656e5ba2]

Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.

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

Overview
Comment:Tests use --include-dir to redirect the build into a local directory. This means that a build which needs additional include directories cannot have any during testing, making build for test impossible. Added a --test-include option as a hack to provide such directories.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: e1656e5ba2a9741ef8280724f6bb05e0eea84db911a8752750d6670156cc8111
User & Date: aku 2018-03-27 16:34:12
Context
2018-04-18
02:28
Added ability to push test execution into a child process, via a new command `kt::sub`. This is useful when each test in a set incurs a large memory penalty. Instead of adding up in the test process each is limited to the child process, keeping the test process small. check-in: ef384673c5 user: aku tags: trunk
2018-03-27
16:34
Tests use --include-dir to redirect the build into a local directory. This means that a build which needs additional include directories cannot have any during testing, making build for test impossible. Added a --test-include option as a hack to provide such directories. check-in: e1656e5ba2 user: aku tags: trunk
16:30
Enable closing of streams and use it to limit the number of open streams during tests by closing small streams for failure reporting quickly. Without that a large number of test failures can easily go over the max amount of open files allowed by the OS. check-in: 4c09346858 user: aku tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to critcl.tcl.

4
5
6
7
8
9
10






11
12
13
14
15
16
17
...
165
166
167
168
169
170
171



172
173
174
175
176
177
178
...
181
182
183
184
185
186
187



188
189
190
191
192
193
194
namespace eval ::kettle { namespace export critcl3 }

kettle option define --target {
    Critcl build option. Overrides critcl's choice of target
    configuration.
}







# # ## ### ##### ######## ############# #####################
## Locate a suitable critcl package or application (3+),
## and prepare system for its use.

if {![catch {
    package require critcl::app 3
................................................................................
	if {[option exists @dependencies]} {
	    invoke @dependencies install
	}

	set t [option get --target]
	if {$t ne {}} { lappend cmd -target $t }




	lappend cmd -includedir [path incdir]
	lappend cmd -pkg $file

	set pnc [file rootname [file tail $file]]

	CritclDo $pkgdir $root $pnc $pn $pv {*}$cmd
    } $pkgdir $root $file $pn $pv
................................................................................
	if {[option exists @dependencies]} {
	    invoke @dependencies debug
	}

	set t [option get --target]
	if {$t ne {}} { lappend cmd -target $t }




	lappend cmd -debug      all
	lappend cmd -keep
	lappend cmd -includedir [path incdir]
	lappend cmd -pkg $file

	set pnc [file rootname [file tail $file]]







>
>
>
>
>
>







 







>
>
>







 







>
>
>







4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
...
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
...
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
namespace eval ::kettle { namespace export critcl3 }

kettle option define --target {
    Critcl build option. Overrides critcl's choice of target
    configuration.
}

kettle option define --test-include {
    Critcl test option. Adds additional include-dirs the build needs.
    Because the test recipe overrides the regular --include-dir to
    redirect the build into a local destination
}

# # ## ### ##### ######## ############# #####################
## Locate a suitable critcl package or application (3+),
## and prepare system for its use.

if {![catch {
    package require critcl::app 3
................................................................................
	if {[option exists @dependencies]} {
	    invoke @dependencies install
	}

	set t [option get --target]
	if {$t ne {}} { lappend cmd -target $t }

	set t [option get --test-include]
	if {$t ne {}} { lappend cmd -includedir $t }

	lappend cmd -includedir [path incdir]
	lappend cmd -pkg $file

	set pnc [file rootname [file tail $file]]

	CritclDo $pkgdir $root $pnc $pn $pv {*}$cmd
    } $pkgdir $root $file $pn $pv
................................................................................
	if {[option exists @dependencies]} {
	    invoke @dependencies debug
	}

	set t [option get --target]
	if {$t ne {}} { lappend cmd -target $t }

	set t [option get --test-include]
	if {$t ne {}} { lappend cmd -includedir $t }

	lappend cmd -debug      all
	lappend cmd -keep
	lappend cmd -includedir [path incdir]
	lappend cmd -pkg $file

	set pnc [file rootname [file tail $file]]