#
# Test various things using the masktest program
#

# Initialisation

load_lib env-single.exp

set timeout 10

# Test each wildcard individually, then all together at once

set testlist {{"abc" "<"} {"abc" ">"} {"abc" "\""} {"abc" "?"} {"abc" "*"} \
	{"abc" "."} {"abc" "<>\"?*."}}

foreach { test } $testlist {

    set got_output 0
    set fail 0

    # Spawn masktest

    spawn bin/masktest //$server/$share -U $user -n 1000 -a \
	    -f [lindex $test 0] -m [concat [lindex $test 0] [lindex $test 1]]
    
    # Check output

    while 1 {
	expect {
	    -re "(...) (...) \[0-9\]+ mask=" { 
		if { $expect_out(1,string) != $expect_out(2,string) } {
		    fail "masktest [lindex $test 1]"
		    puts $expect_out(0,string);
		    set fail 1
		    break;
		} else {
		    set got_output 1
		}
	    }
	    eof    { break }
	}
    }

    # Produce result

    set testname "[lindex $test 0] [lindex $test 1]"
    
    if {$got_output} {
	if {$fail} { 
	    fail "masktest $testname"
	} else {
	    pass "masktest $testname"
	}
    } else {
	perror "no output seen for test $testname"
    }
}
