blob: 9e87b9b7cba63ed7f040dc8ad0cf65cc00dcf222 [file] [log] [blame]
# $Id$
set testfilename1 config.rvt
::tcltest::test config-1.1 {ErrorScript config test} {
apachetest::start {
-c "RivetUserConf ErrorScript 'puts \"Page broken\"'"
} {} {
catch {
set page [::http::geturl "${urlbase}$testfilename1?brokenpage"]
set match [string trim [::http::data $page]]
::http::cleanup $page
}
}
set match
} {Page broken}
::tcltest::test config-1.2 {ErrorScript config test} {
apachetest::start {
-c "RivetUserConf ErrorScript 'puts \"Page broken\"'" -c "AccessFileName test-htaccess"
} {} {
catch {
set page [::http::geturl "${urlbase}$testfilename1?brokenpage"]
set match [string trim [::http::data $page]]
::http::cleanup $page
}
}
set match
} {Local Page Header
this page is BROKEN}
::tcltest::test config-2.1 {BeforeScript test} {
set fl [open htaccess2 w]
puts $fl {RivetUserConf BeforeScript 'puts "Local Page Header"'}
close $fl
apachetest::start { -c "AccessFileName htaccess2" } {} {
catch {
set page [::http::geturl "${urlbase}$testfilename1?goodpage"]
set match [string trim [::http::data $page]]
::http::cleanup $page
# Now change what's in the ".htaccess" file, and see if it
# picks it up.
set fl [open htaccess2 w]
puts $fl {RivetUserConf BeforeScript 'puts "New Local Page Header"'}
close $fl
set page [::http::geturl "${urlbase}$testfilename1?goodpage"]
append match [string trim [::http::data $page]]
::http::cleanup $page
}
}
set match
} {Local Page Header
Page BodyNew Local Page Header
Page Body}
# List of all the configs to try
set ConfigList {
{-c "RivetUserConf BeforeScript 'puts \"Page Header\"'"}
{-c "RivetUserConf BeforeScript 'puts \"Page Header\"'" -c "AccessFileName test-htaccess"}
{-c "RivetUserConf AfterScript 'puts \"Page Footer\"'"}
{-c "RivetUserConf AfterScript 'puts \"Page Footer\"'" -c "AccessFileName test-htaccess"}
{-D DIRTEST}
{-D DIRTEST -c "AccessFileName test-htaccess"}
{-D DIRTEST -D SERVERCONFTEST}
{-D SERVERCONFTEST -c "AccessFileName test-htaccess"}
{-D SERVERCONFTEST}
{-D DIRTEST -D SERVERCONFTEST -c "AccessFileName test-htaccess"}
}
# Corresponding list of results we should get
set ResultList {
{Page Header
Page Body}
{Local Page Header
Page Body
Local Page Footer}
{Page Body
Page Footer}
{Local Page Header
Page Body
Local Page Footer}
{Page Header
Page Body
Page Footer}
{Local Page Header
Page Body
Local Page Footer}
{Page Header
Page Body
Page Footer}
{Local Page Header
Page Body
Local Page Footer}
{Page Header
Page Body
Page Footer}
{Local Page Header
Page Body
Local Page Footer}
}
set i 0
foreach Config $ConfigList {
incr i
::tcltest::test config-auto-${i}.1 {config test} {
apachetest::start $Config {} {
catch {
set page [::http::geturl "${urlbase}$testfilename1?goodpage"]
set match [string trim [::http::data $page]]
}
}
set match
} [lindex $ResultList [expr $i - 1]]
}