aboutsummaryrefslogtreecommitdiff
path: root/testsuite/runtest.libs/load_lib.exp
blob: 21e282440962632e10d2b8c62e251bdcf4d48a21 (plain)
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
40
41
42
43
44
45
# test load_lib

# Verify that load_lib searches for a lib not only in its default
# search_dirs but also in the libdirs list of directories.

# load_lib f exits with a failure if it does not find f.
# Arrange for the testcase to handle this:
rename exit saved_exit
proc exit { args } { return [lindex $args 0] }

# The test right below is supposed to fail.
# Prettify default output by only printing the message in verbose mode.
rename send_error saved_send_error
proc send_error { args } {
  verbose [lindex $args 0] 2
}

if { [ load_lib "subfile1" ] != 1} {
    fail "load_lib subfile1 found per default"
} else {
    pass "load_lib subfile1 not found per default"
}

rename send_error ""
rename saved_send_error send_error

set extradir [testsuite file -source -test "topdir" "subdir1"]
global libdirs
lappend libdirs $extradir
verbose "now added libdirs: $libdirs" 2

# In this testcase, we did not exit 1 from load_lib as per above
# rename.  subfile1 thus is in the loaded_libs LUT and we won't walk
# the search_dirs again. Use another file for testing the lappend
# worked.

if { [load_lib "subfile2"] eq ""} {
    pass "load_lib subfile2 loaded"
} else {
    fail "load_lib subfile2 not found"
}

# cleanup after us
rename exit ""
rename saved_exit exit