|  | load_lib utils.exp   ;# Get the file of utilities for Texinfo tests | 
|  |  | 
|  | default MAKEINFO makeinfo      ;# ensure Tcl var MAKEINFO has value | 
|  |  | 
|  | #                                   Ensure we can execute this tool | 
|  | if [is_executable $MAKEINFO] then { | 
|  | verbose "$MAKEINFO is executable\n" 1 | 
|  | } else { | 
|  | perror "$MAKEINFO: cannot execute\n" | 
|  | exit 1                      ;# no point in running any makeinfo tests | 
|  | } | 
|  |  | 
|  | # makeinfo_start undefined by choice; | 
|  | # 1) it makes it clearer where the output is to start | 
|  | # $MAKEINFO directly with `catch' from each test case, | 
|  | # and | 
|  | # 2) this takes no more lines than it would to call makeinfo_start | 
|  |  | 
|  | proc makeinfo_exit {} {} | 
|  |  | 
|  | proc makeinfo_version {} { | 
|  | global MAKEINFO | 
|  | set tmp [ exec $MAKEINFO --version ] | 
|  | regexp "version.*$" $tmp vn      ;# "vn" undef if pattern not found | 
|  | if [info exists vn] then { | 
|  | clone_output "[which $MAKEINFO] $vn\n" | 
|  | } | 
|  | } | 
|  |  |