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
> 
>

Reply via email to