Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/linux_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -436,9 +436,9 @@ jobs:
# libtclenvmodules build requirements
sudo apt-get install -y gcc autoconf
# manually install tcl9.1
curl -L --output tcl9.1a1-src.tar.gz http://downloads.sourceforge.net/tcl/tcl9.1a1-src.tar.gz
tar xfz tcl9.1a1-src.tar.gz
cd tcl9.1a1/unix
curl -L --output tcl9.1b0-src.tar.gz http://downloads.sourceforge.net/tcl/tcl9.1b0-src.tar.gz
tar xfz tcl9.1b0-src.tar.gz
cd tcl9.1b0/unix
./configure
make -j
sudo make install
Expand Down
10 changes: 10 additions & 0 deletions testsuite/config/unix.exp
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,16 @@
# Tcl>=8.6): use channel pipe instead of saving these outputs in file
if {[lindex [lsort -dictionary [list 8.6 [info tclversion]]] 1] eq [info tclversion]} {

# catch background errors, like a modulecmd process killed by a signal that
# makes readpipe raise an uncaught CHILDKILLED error from its event handler.
# without this catching procedure defined, such an error leaves the endpipe
# variable unset and the vwait call in modulecmd_xxx_ hangs forever
proc bgerror {msg} {
send_user "ERROR: background error caught: $msg\n"
# release ongoing command wait to make related test fail right away
set ::endpipe error
}

proc readpipe {p1 p2 varname {exit_varname {}}} {
append ::$varname [read $p1]
if {[eof $p1]} {
Expand Down
Loading