Hi This is the verbose output of the lib/DBM_Filter/t/encode.t test case after my modification in the ext/Encode/Makefile.PL as discussed earlier.
1..26 ok 1 - use DBM_Filter; ok 2 - use SDBM_File; ok 3 - use Fcntl; ok 4 - use charnames; ok 5 - tied to SDBM_File ok 6 - push an illigal filter ok 7 - push an 'encode' filter (default to utf-8) ok 8 - StoreData called from lib/DBM_Filter/t/encode.t, line 47 ok 9 - Store Data is a hash reference ok 10 - Storing to tied hash ok 11 - VerifyData called from lib/DBM_Filter/t/encode.t, line 57 ok 12 - Expected data is a hash reference ok 13 - Verifying a tied hash ok 14 - Expected == Actual ok 15 - pop the 'utf8' filter ok 16 - push an 'encode' filter (specify iso-8859-16) ok 17 - StoreData called from lib/DBM_Filter/t/encode.t, line 72 ok 18 - Store Data is a hash reference ok 19 - Storing to tied hash ok 20 - untie without inner references ok 21 - tied to SDBM_File ok 22 - VerifyData called from lib/DBM_Filter/t/encode.t, line 90 ok 23 - Expected data is a hash reference ok 24 - Verifying a tied hash not ok 25 - Expected == Actual # Failed test (/u/isldev3/perl-5.8.6/lib/dbm_filter_util.pl at line 48) # Expected does not match actual # No Match from Expected: # 'euro' => 'u' # # No Match from Actual: # 'ÁÍÊ?' => 'u' # ok 26 - untie without inner references # Looks like you failed 1 tests of 26. The key ÁÍÊ? corresponds to \x65\x75\x72\x6F on EBCDIC platform. Since it is using iso-8859-16 codepage to encode, the test case is written wrongly in the expected key. Hence I changed the key in test case to \x65\x75\x72\x6F in verifyData, which works fine and all the test case passes. There were other test cases (PerlIO/t/encoding.t and ext/Encode/t/gsm0338.t) failing before this change. If I include iso-8859-7 and gsm0338 in %table in Makefile.PL these tests pass.Please let me know if this change is appropriate on EBCDIC. regards Sastry On 9/14/05, Paul Marquess <[EMAIL PROTECTED]> wrote: > What does the verbose output from the encode.t look like once after your > change to ext/Encode/Makefile.PL? > > Paul > > > From: Sastry [mailto:[EMAIL PROTECTED] > > > Hi > > I changed the ext/Encode/Makefile.PL with the def_t table to contain iso- > > 8859-16 > > as follows > > my %tables = > > ( > > def_t => ['ascii.ucm', > > '8859-1.ucm', > > '8859-16.ucm', > > 'null.ucm', > > 'ctrl.ucm', > > ] > > ); > > > > a) Now the encode("iso8859-16","euro"); gives \x65\x75\x72\x6F which > > is as expected. > > can this be a solution to resolve the encode failure on EBCDIC? > > b) But the test case lib/DBM_Filter/t/encode.t fails as it expects the > > "euro" key. Do we need to modify the test case? > > > > regards > > Sastry > > > > On 9/13/05, Sastry <[EMAIL PROTECTED]> wrote: > > > Hi Paul > > > > > > The other tests with DBM_Filter are working fine on EBCDIC > > > platform. The only problem is with lib/DBM_Filter/t/encode.t and I > > > guess Dan can address this! Dan! The workaround for encode() is not > > > complete. Can you recheck it? > > > > > > -regards > > > Sastry > > > > > > On 9/13/05, Paul Marquess <[EMAIL PROTECTED]> wrote: > > > > From: Sastry [mailto:[EMAIL PROTECTED] > > > > > > > > > HI Paul > > > > > > > > > > > > > > > On 9/13/05, Paul Marquess <[EMAIL PROTECTED]> wrote: > > > > > > From: Sastry [mailto:[EMAIL PROTECTED] > > > > > > > > > > > > > Hi > > > > > > > I agree with you Dan, I was referring to another test > > > > > > > lib/DBM_Filter/t/encode.t > > > > > > > where it encodes the k/v pairs using the code page iso-8859-16 > > and > > > > > > > the normal DBM_Filter to store and verify the same. Other tests > > in > > > > > > > DBM_Filter are working fine on EBCDIC platform. > > > > > > > > > > > > According to the output you posted yesterday there were two of the > > > > > > DBM_Filter test suites failing - utf8.t and encode.t. These are > > the > > > only > > > > > > tests that touch encoding in the DBM_Filters > > > > > > > > > > > > I posted a summary of what the utf8 filter was doing because it is > > a > > > > > simpler > > > > > > test, so it might be easier to figure out what is going wrong. The > > > > > encode.t > > > > > > test changes the encoding from utf8 to iso-8859-16 mid test - in > > fact > > > > > the > > > > > > euro symbol that you mention is the only thing written to the DBM > > > file > > > > > that > > > > > > should be encoded in iso-8859-16 - everything else should be in > > utf8. > > > > > > > > > > > The 'euro' symbol is not encoded properly. Hence the failure. The > > rest > > > > > of the test cases are fine. > > > > > > > > I confused. Do you mean that the other failures in the DBM_Filter test > > > suite > > > > are to be expected on an EBCDIC platform? > > > > > > > > Paul > > > > > > > > > > > > > > > > > > > > ___________________________________________________________ > > > > Does your mail provider give you FREE antivirus protection? > > > > Get Yahoo! Mail http://uk.mail.yahoo.com > > > > > > > > > > > > > > > > > -- > > > > ___________________________________________________________ > To help you stay safe and secure online, we've developed the all new Yahoo! > Security Centre. http://uk.security.yahoo.com > >