aboutsummaryrefslogtreecommitdiff
path: root/testsuite/runtest.all/utils.test
blob: c3e2f3c08df685e7ea5ecd4d08cbe55e0f18d35f (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# Test procedures in lib/utils.exp.

set srcdir [lindex $argv 0]
set subdir [lindex $argv 1]
set objdir [lindex $argv 2]

if [ file exists $objdir/setval.tmp ] {
    source $objdir/setval.tmp
} else {
    puts "ERROR: $objdir/setval.tmp doesn't exist"
}
if [ file exists $srcdir/$subdir/default_procs.tcl ] {
    source "$srcdir/$subdir/default_procs.tcl"
} else {
    puts "ERROR: $srcdir$subdir/default_procs.tcl doesn't exist"
}

set file $srcdir/../lib/utils.exp
if [ file exists $file] {
    source $file
} else {
    puts "ERROR: $file doesn't exist"
}

# Test getdirs:
#
if [lib_pat_test "getdirs" "${srcdir}/runtest.all" "runtest.all/topdir" ] {
    puts "FAILED: getdirs toplevel, no arguments"
} else {
    puts "PASSED: getdirs toplevel, no arguments"
}

if [lib_pat_test "getdirs" "${srcdir}/runtest.all top*" "runtest.all/topdir" ] {
    puts "FAILED: getdirs toplevel, one subdir"
} else {
    puts "PASSED: getdirs toplevel, one subdir"
}

if [lib_pat_test "getdirs" "${srcdir}/runtest.all/topdir" "subdir1*subdir2" ] {
    puts "FAILED: getdirs toplevel, two subdirs"
} else {
    puts "PASSED: getdirs toplevel, two subdirs"
}

# Test find:
#
if [string match "*/subdir2/subfile2" "[find ${srcdir}/runtest.all/topdir/subdir2 sub*]"] {
    puts "PASSED: find, only one level deep"
} else {
    puts "FAILED: find, only one level deep"
}

if [regexp ".*/subdir1/subsubdir1/subsubfile1( |$)" "[find ${srcdir}/runtest.all/topdir/subdir1 sub*]"] {
    puts "PASSED: find, two levels deep"
} else {
    puts "FAILED: find, two  levels deep"
}

# Environment varible utility tests.
#

if [info exists env(TESTRUN)] {
    unset env(TESTRUN)
}

# Test setenv:
#
setenv TESTRUN FooBar
if [info exists env(TESTRUN)] {
    if { $env(TESTRUN) == "FooBar" } {
        pass "setenv, set an environment variable"
    } else {
        fail "setenv, set an environment variable
    }
} else {
    fail "setenv, set an environment variable"
}

# Test getenv:
#
if [info exists env(TESTRUN)] {
    if { [getenv TESTRUN] == "FooBar" } {
        pass "getenv, get an environment variable"
    } else {
        fail "getenv, get an environment variable"
    }
} else {
    untested "getenv, get an environment variable"
}

# Test unsetenv:
#
if [info exists env(TESTRUN)] {
    unsetenv TESTRUN
    if [info exists env(TESTRUN)] {
        fail "unsetenv, unset an environment variable"
    } else {
        pass "unsetenv, unset an environment variable"
    }
} else {
    untested "unsetenv, unset an environment variable"
}

# which file
# grep args
# diff file_1 file_2
# runtest_file_p