From: Techentin, R. W. <tec...@ma...> - 2005-10-07 16:03:44
|
> Please give them a whirl. I downloaded the preview, unpacked, configured, and ran "make test." Everything passes on Fedora Core 3, ActiveTcl 8.4.6. But I got failures doing the same thing on HP-UX, WinXP/MingW/Msys, and Red Hat Enterprise Linux (RHEL) 3. I've gotten to the point of expecting something strange from HP-UX, but several of the errors are common. ActiveTcl 8.4.6 was installed everywhere. Just a nit, but wouldn't it be nice if a "clean" test results log file was less than 500 lines long? I personally like the "no news is good news" style, where passing tests print nothing. If the official Tcllib "style" prints name and version for each module, then I guess that is OK. But many tests just print stuff. Does that bother anybody other than me? Many RHEL errors stemmed from the fact that 'configure' picked up /usr/bin/tclsh8.3 in preference to /usr/bin/tclsh, which is linked to ActiveTcl 8.4.6. This same behavior occurs on Fedora, but it gets tclsh8.4 there. Is the configure supposed to prefer a numbered tclsh, if available? Modules with "Error: No test files remain after applying your match and skip patterns!" were ftp, ftpd, grammer_peg, http, irc, javascript, jpeg, ldap, nntp, page, pluginmgr, smtpd, tar. So I'm not testing these on unix, but they appeared to run tests on WinXP. Is anybody testing these on Unix? Many aes and blowfish tests failed with "integer value too large to represent" on HP-UX and "integer value too large to represent as non-long integer" on RHEL with tclsh8.3. For example, I include just one test, but there were 27 others. The fileutil install errors occurred only on WinXP. A couple of fumagic tests actually succeed on HP-UX where they are expected to fail. The same tests failed in a different way on WinXP. I have always had a couple of discrepancies with the Tcl test suite when it came to directory/file tests. Might be related to our network file server. Perhaps this isn't a serious problem. And I'm not sure how to interpret the logger/appender failures on both HP-UX, and WinXP. Perhaps someone else could shed some light on those. Same thing for ripemd on all of HP-UX, RHEL and WinXP. I don't know what that package is supposed to do. I modified pop3-3.5 to capture the error string, and it returns "POP3 TOP ERROR:" without additional information, but I don't know how to debug that. Uri has a couple of canonicalization failures on WinXP that I didn't see elsewhere. They all fail the same way, with an extra ":", so I appended only the first failure. If anybody has any suggestions, I'd be happy to run tests on an HP box. Bob -- Bob Techentin tec...@ma... Mayo Foundation (507) 538-5495 200 First St. SW FAX (507) 284-9171 Rochester MN, 55901 USA http://www.mayo.edu/sppdg/ ==== aes-fips-C.1e Test vector for AES-128 from FIPS-197 Appendix C.1 FAILED ==== Contents of test case: list [catch { set txt [binary format H* 00112233445566778899aabbccddeeff] set key [binary format H* 000102030405060708090a0b0c0d0e0f] set enc [aes::aes -mode ecb -dir enc -key $key $txt] binary scan $enc H* r set r } msg] $msg ---- Result was: 1 {integer value too large to represent} ---- Result should have been (exact matching): 0 69c4e0d86a7b0430d8cdb78070b4c55a ==== aes-fips-C.1e FAILED ==== install-2.1 install a directory FAILED ==== Contents of test case: fileutil::install [file join installSrc subdir] installDst set result [lsort [glob -tails -directory [file join installDst subdir] [file join . / *]]] file delete -force installDst set result ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ---- errorInfo: no files matched glob pattern "/*" while executing "glob -tails -directory [file join installDst subdir] [file join . / *]" invoked from within "lsort [glob -tails -directory [file join installDst subdir] [file join . / *]]" invoked from within "set result [lsort [glob -tails -directory [file join installDst subdir] [file join . / *]]]" ("uplevel" body line 3) invoked from within "uplevel 1 $script" ---- errorCode: NONE ==== install-2.1 FAILED ==== install-2.2 install a directory FAILED ==== Contents of test case: fileutil::install [file join installSrc subdir] installDst set result [lsort [glob -directory [file join installDst subdir] [file join . / *]]] file delete -force installDst set result ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ---- errorInfo: error copying "installSrc/subdir" to "installDst/subdir": file already exists while executing "file copy -force $src $dst" (procedure "fileutil::install" line 13) invoked from within "fileutil::install [file join installSrc subdir] installDst" ("uplevel" body line 2) invoked from within "uplevel 1 $script" ---- errorCode: POSIX EEXIST {file already exists} ==== install-2.2 FAILED ==== fumagic.filetype-1.2 test file directory FAILED ==== Contents of test case: set f [file join $dir fileTypeTest] set res [catch {fileutil::magic::filetype $f} msg] regsub {file[0-9]+} $msg {fileXXX} msg list $res $msg ---- Result was: 0 {DBase 3 index file} ---- Result should have been (exact matching): 1 {error reading "fileXXX": illegal operation on a directory} ==== fumagic.filetype-1.2 FAILED ==== fumagic.mimetype-1.2 test file directory FAILED ==== Contents of test case: set f [file join $dir fileTypeTest] set res [catch {fileutil::magic::mimetype $f} msg] regsub {file[0-9]+} $msg {fileXXX} msg list $res $msg ---- Result was: 0 {} ---- Result should have been (exact matching): 1 {error reading "fileXXX": illegal operation on a directory} ==== fumagic.mimetype-1.2 FAILED -- and on WinXP with MingW/Msys, we get a different failure -- ==== fumagic.filetype-1.2 test file directory FAILED ==== Contents of test case: set f [file join $dir fileTypeTest] set res [catch {fileutil::magic::filetype $f} msg] regsub {file[0-9]+} $msg {fileXXX} msg list $res $msg ---- Result was: 1 {couldn't open "C:/Temp/tcllib-1.8/fileTypeTest": permission denied} ---- Result should have been (exact matching): 1 {error reading "fileXXX": illegal operation on a directory} ==== fumagic.filetype-1.2 FAILED modules/fumagic/mimetypes.test - tcltest 2.2.5 - fileutil::magic::mimetype 1.0 - fileutil::magic::rt 1.0 ==== fumagic.mimetype-1.2 test file directory FAILED ==== Contents of test case: set f [file join $dir fileTypeTest] set res [catch {fileutil::magic::mimetype $f} msg] regsub {file[0-9]+} $msg {fileXXX} msg list $res $msg ---- Result was: 1 {couldn't open "C:/Temp/tcllib-1.8/fileTypeTest": permission denied} ---- Result should have been (exact matching): 1 {error reading "fileXXX": illegal operation on a directory} ==== fumagic.mimetype-1.2 FAILED ==== fumagic.mimetype-1.13 test binary graphic gif FAILED ==== Contents of test case: set f [file join $dir fileTypeTest gifFile] set res [catch {fileutil::magic::mimetype $f} msg] list $res $msg ---- Result was: 1 {file not found: "C:/Temp/tcllib-1.8/fileTypeTest/gifFile"} ---- Result should have been (exact matching): 0 image/gif ==== fumagic.mimetype-1.13 FAILED ==== createFormatCmd-1 check for %d FAILED ==== Contents of test case: set a [logger::utils::createFormatCmd %d] set b [subst $a] regexp {\d\d\d\d/\d\d/\d\d \d\d:\d\d:\d\d} $b ---- Result was: 0 ---- Result should have been (exact matching): 1 ==== createFormatCmd-1 FAILED ==== createLogProc-1 create a proc and test it FAILED ==== Contents of test case: set a [logger::utils::createLogProc -category catTest -priority critical -procName ::bobo -conversionPattern {\[%d\] \[%c\] \[%M\] \[%p\] %m}] eval $a ::bobo test ---- Output was: [G/10/07 07:40:13] [catTest] [namespace] [critical] test ---- Output should have been (regexp matching): \[[\d:\/ ]+\] \[catTest\] \[namespace\] \[critical\] test ==== createLogProc-1 FAILED ==== applyAppender-1 apply an appender FAILED ==== Contents of test case: set log [logger::init testLog] logger::utils::applyAppender -appender console -serviceCmd $log ${log}::error "this is error" ---- Output was: [G/10/07 07:40:13] [testLog] [namespace] [error] this is error ---- Output should have been (regexp matching): \[[\d:\/ ]+\] \[testLog\] \[namespace\] \[error\] this is error ==== applyAppender-1 FAILED ==== applyAppender-2 apply an appender, to 2 loggers FAILED ==== Contents of test case: set log1 [logger::init testLog1] set log2 [logger::init testLog2] logger::utils::applyAppender -appender console -serviceCmd [list $log1 $log2] ${log1}::error "this is error1" ${log2}::error "this is error2" ---- Output was: [G/10/07 07:40:13] [testLog1] [namespace] [error] this is error1 [G/10/07 07:40:13] [testLog2] [namespace] [error] this is error2 ---- Output should have been (regexp matching): \[[\d:\/ ]+\] \[testLog1\] \[namespace\] \[error\] this is error1\n\[[\d:\/ ]+\] \[testLog2\] \[namespace\] \[error\] this is error2 ==== applyAppender-2 FAILED ==== applyAppender-3 auto apply FAILED ==== Contents of test case: logger::utils::applyAppender -appender console set log [logger::init applyAppender-3] ${log}::error "this is error" ---- Output was: [G/10/07 07:40:13] [applyAppender-3] [namespace] [error] this is error ---- Output should have been (regexp matching): \[[\d:\/ ]+\] \[applyAppender-3\] \[namespace\] \[error\] this is error ==== applyAppender-3 FAILED ==== applyAppender-4 auto apply FAILED ==== Contents of test case: logger::utils::applyAppender -appender colorConsole set log [logger::init applyAppender-4] ${log}::error "this is error" ---- Output was: [31m[G/10/07 07:40:13] [applyAppender-4] [namespace] [error] this is error[0m ---- Output should have been (regexp matching): \[[\d:\/ ]+\] \[applyAppender-4\] \[namespace\] \[error\] this is error ==== applyAppender-4 FAILED ==== pop3-3.5 top FAILED ==== Contents of test case: dialog::dialog_set {topMessage $__messageA} set psock [pop3::open localhost ak smash [dialog::listener]] set res [pop3::top $psock 1 1] pop3::close $psock dialog::waitdone set res ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ---- errorInfo: POP3 TOP ERROR: while executing "error "POP3 TOP ERROR: $errorStr"" (procedure "pop3::top" line 5) invoked from within "pop3::top $psock 1 1" invoked from within "set res [pop3::top $psock 1 1]" ("uplevel" body line 4) invoked from within "uplevel 1 $script" ---- errorCode: NONE ==== pop3-3.5 FAILED ==== ripemd128-trf-1.20 RIPEMD-128 test strings (trf impl) FAILED ==== Contents of test case: ::ripemd::ripemd128 -hex -- $msg ---- Result was: d12cd5e9e6222c9acfb7e6f55d237b5f ---- Result should have been (exact matching): 4eb9e2f034b961f464647021b99291ef ==== ripemd128-trf-1.20 FAILED ==== ripemd128-trf-2.1 HMAC RIPEMD-128 test vectors (trf impl) FAILED ==== Contents of test case: ::ripemd::hmac128 -hex -key $key -- $msg ---- Result was: 25359443edb0c092eb54a15ccb954146 ---- Result should have been (exact matching): ad9db2c1e22af9ab5ca9dbe5a86f67dc ==== ripemd128-trf-2.1 FAILED ==== ripemd128-trf-3.1 HMAC RIPEMD-128 test vectors (trf) FAILED ==== Contents of test case: ::ripemd::hmac128 -hex -key $key -- $msg ---- Result was: 948ec12cbc6ae1c35b972b690f084598 ---- Result should have been (exact matching): 8931eeee56a6b257fd1ab5418183d826 ==== ripemd128-trf-3.1 FAILED modules/ripemd/ripemd160.test - ripemd160 1.0.3 (Trf based) - ripemd160 1.0.3 (pure Tcl) ==== ripemd160-trf-1.20 RIPEMD-160 test strings (trf impl) FAILED ==== Contents of test case: list [catch {::ripemd::ripemd160 -hex -- $msg} r] $r ---- Result was: 0 d50ec733b28b84b96a7a625140a1e1c83b6825a1 ---- Result should have been (exact matching): 0 5cc1e0793bad0c5208f3903a8230a712887fcabd ==== ripemd160-trf-1.20 FAILED ==== ripemd160-trf-2.1 HMAC RIPEMD-160 test vectors (trf) FAILED ==== Contents of test case: ::ripemd::hmac160 -hex -key $key -- $msg ---- Result was: ac0bf50168c60b84bb492d18c10edba08b46f152 ---- Result should have been (exact matching): cf387677bfda8483e63b57e06c3b5ecd8b7fc055 ==== ripemd160-trf-2.1 FAILED ==== ripemd160-trf-3.1 HMAC RIPEMD-160 test vectors (trf) FAILED ==== Contents of test case: list [catch {::ripemd::hmac160 -hex -key $key $msg} r] $r ---- Result was: 0 a4eb34bf539c7f33ece5684febb214b2d126013f ---- Result should have been (exact matching): 0 fe69a66c7423eea9c8fa2eff8d9dafb4f17a62f5 ==== ripemd160-trf-3.1 FAILED Module: sasl modules/sasl/ntlm.test - SASL::NTLM 1.0.0 ==== SASL-NTLM-1.1 NTLM client response FAILED ==== Contents of test case: list [catch { set ctx [SASL::new -mechanism NTLM -callback NTLMCallback] SASL::step $ctx "" SASL::step $ctx [base64::decode $Chk(2)] set response [SASL::response $ctx] SASL::cleanup $ctx base64::encode -maxlen 0 $response } res] $res ---- Result was: 0 TlRMTVNTUAADAAAAGAAYAGoAAAAYABgAggAAAAwADABAAAAACAAIAEwAAAAWABYAVAAAAJoAAAAB AgAAAAAAAABEAE8ATQBBAEkATgB1AHMAZQByAFcATwBSAEsAUwBUAEEAVABJAE8ATsM3zVy9RPyX gqZnr21CfG3mfCDC0+d8VoLTftHx9ZaM2NlnEeJBCjvPm4ryx3aR4A== ---- Result should have been (exact matching): 0 TlRMTVNTUAADAAAAGAAYAGoAAAAYABgAggAAAAwADABAAAAACAAIAEwAAAAWABYAVAAAAJoAAAAB AgAAAAAAAEQATwBNAEEASQBOAHUAcwBlAHIAVwBPAFIASwBTAFQAQQBUAEkATwBOAMM3zVy9RPyX gqZnr21CfG3mfCDC0+d8ViWpjBwx6BhHRmspst9GgPOZWPuMITqcxg== ==== SASL-NTLM-1.1 FAILED ==== uri-5.1-2 uri::canonicalize FAILED ==== Contents of test case: uri::canonicalize file://goo.test.net/path1/./remove/../path2/resource ---- Result was: file://goo.test.net:/path1/path2/resource ---- Result should have been (exact matching): file://goo.test.net/path1/path2/resource ==== uri-5.1-2 FAILED |