Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BBC Catalyst tests broken by abda9fe0fe75ae824723761c1c98af958f17a41c #16353

Closed
p5pRT opened this issue Jan 8, 2018 · 7 comments
Closed

BBC Catalyst tests broken by abda9fe0fe75ae824723761c1c98af958f17a41c #16353

p5pRT opened this issue Jan 8, 2018 · 7 comments

Comments

@p5pRT
Copy link

p5pRT commented Jan 8, 2018

Migrated from rt.perl.org#132695 (status was 'resolved')

Searchable as RT132695$

@p5pRT
Copy link
Author

p5pRT commented Jan 8, 2018

From @dur-randir

Catalyst fails it's test suit on blead with the following output​:

perl -Iblib/lib -Iblib/arch t/aggregate/live_engine_request_uploads.t

1..105
ok 1 - Request
ok 2 - Response Successful 2xx
ok 3 - Response Content-Type
ok 4 - Content is a serialized Catalyst​::Request
ok 5 - Unserialize Catalyst​::Request
ok 6 - An object of class 'Catalyst​::Request' isa 'Catalyst​::Request'
ok 7 - Catalyst​::Request method
ok 8 - Catalyst​::Request Content-Type
ok 9 - Catalyst​::Request Content-Length
ok 10 - An object of class 'Catalyst​::Request​::Upload' isa
'Catalyst​::Request​::Upload'
ok 11 - Upload Content-Type
ok 12 - Upload Content-Length
ok 13 - legacy param method ok
ok 14 - Upload temp file was deleted
ok 15 - An object of class 'Catalyst​::Request​::Upload' isa
'Catalyst​::Request​::Upload'
ok 16 - Upload Content-Type
ok 17 - Upload Content-Length
ok 18 - legacy param method ok
ok 19 - Upload temp file was deleted
ok 20 - An object of class 'Catalyst​::Request​::Upload' isa
'Catalyst​::Request​::Upload'
ok 21 - Upload Content-Type
ok 22 - Upload Content-Length
ok 23 - legacy param method ok
ok 24 - Upload temp file was deleted
ok 25 - Request
ok 26 - Response Successful 2xx
ok 27 - Response Content-Type
ok 28 - Content is a serialized Catalyst​::Request
ok 29 - Unserialize Catalyst​::Request
ok 30 - An object of class 'Catalyst​::Request' isa 'Catalyst​::Request'
ok 31 - Catalyst​::Request method
ok 32 - Catalyst​::Request Content-Type
ok 33 - Catalyst​::Request Content-Length
ok 34 - An object of class 'Catalyst​::Request​::Upload' isa
'Catalyst​::Request​::Upload'
ok 35 - Upload Content-Type
ok 36 - Upload filename
ok 37 - Upload Content-Length
ok 38 - Upload basename
ok 39 - Upload temp file was deleted
ok 40 - An object of class 'Catalyst​::Request​::Upload' isa
'Catalyst​::Request​::Upload'
ok 41 - Upload Content-Type
ok 42 - Upload filename
ok 43 - Upload Content-Length
ok 44 - Upload basename
ok 45 - Upload temp file was deleted
ok 46 - An object of class 'Catalyst​::Request​::Upload' isa
'Catalyst​::Request​::Upload'
ok 47 - Upload Content-Type
ok 48 - Upload filename
ok 49 - Upload Content-Length
ok 50 - Upload basename
ok 51 - Upload temp file was deleted
ok 52 - Request
ok 53 - Response Successful 2xx
ok 54 - Response Content-Type
ok 55 - Content
ok 56 - Request
ok 57 - Response Error
ok 58 - Request
ok 59 - Response Successful 2xx
ok 60 - Response Content-Type
ok 61 - Upload with name file1
ok 62 - Upload with name file2
ok 63 - Unserialize Catalyst​::Request
ok 64 - Upload temp file was deleted
ok 65 - Upload temp file was deleted
ok 66 - Request
ok 67 - Response Successful 2xx
ok 68 - Response Content-Type
ok 69 - Content is a serialized Catalyst​::Request
ok 70 - Unserialize Catalyst​::Request
ok 71 - An object of class 'Catalyst​::Request' isa 'Catalyst​::Request'
ok 72 - Catalyst​::Request method
ok 73 - Catalyst​::Request Content-Type
ok 74 - Catalyst​::Request Content-Length
ok 75 - 2 values
ok 76 - correct value
ok 77 - filename
ok 78 - An object of class 'Catalyst​::Request​::Upload' isa
'Catalyst​::Request​::Upload'
ok 79 - Upload Content-Type
ok 80 - Upload Content-Length
ok 81 - Upload Filename
ok 82 - Upload basename
ok 83 - Upload temp file was deleted
ok 84 - Request
ok 85 - Response Successful 2xx
ok 86 - Response Content-Type
ok 87 - Content is a serialized HTTP​::Body​::OctetStream
not ok 88 - Unserialize HTTP​::Body​::OctetStream
# Failed test 'Unserialize HTTP​::Body​::OctetStream'
# at t/aggregate/live_engine_request_uploads.t line 322.
Unmatched right curly bracket at (eval 704) line 17, at end of line
syntax error at (eval 704) line 17, near ";
}"
Unmatched right curly bracket at (eval 704) line 18, at end of line
not ok 89 - undef isa 'HTTP​::Body​::OctetStream'
# Failed test 'undef isa 'HTTP​::Body​::OctetStream''
# at t/aggregate/live_engine_request_uploads.t line 329.
# undef isn't defined
Can't call method "body" on an undefined value at
t/aggregate/live_engine_request_uploads.t line 331.
# Looks like your test exited with 25 just after 89.

Bisect points to commit abda9fe
Author​: Zefram <zefram@​fysh.org>
Date​: Fri Dec 1 17​:35​:35 2017 +0000

  in Data-Dumper, quote glob names better

  Glob name quoting should obey Useqq. Fixes [perl #119831].

which is quite strange.

Perl Info

Flags:
    category=core
    severity=low

Site configuration information for perl 5.27.7:

Configured by dur-randir at Fri Dec  1 17:01:46 MSK 2017.

Summary of my perl5 (revision 5 version 27 subversion 7) configuration:
  Commit id: 3c67ad9b9e6d659feb76f3acfc9f81cfe59e3660
  Platform:
    osname=darwin
    osvers=13.4.0
    archname=darwin-2level
    uname='darwin isengard.local 13.4.0 darwin kernel version 13.4.0:
mon jan 11 18:17:34 pst 2016; root:xnu-2422.115.15~1release_x86_64
x86_64 '
    config_args='-de -Dusedevel -DDEBUGGING'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=undef
    usemultiplicity=undef
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
    bincompat5005=undef
  Compiler:
    cc='cc'
    ccflags ='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.9
-DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector
-I/usr/local/include -DPERL_USE_SAFE_PUTENV'
    optimize='-O3 -g'
    cppflags='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.9
-DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector
-I/usr/local/include'
    ccversion=''
    gccversion='4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)'
    gccosandvers=''
    intsize=4
    longsize=8
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='cc'
    ldflags =' -mmacosx-version-min=10.9 -fstack-protector -L/usr/local/lib'
    libpth=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib
/usr/local/lib /usr/lib
    libs=-lpthread -lgdbm -ldbm -ldl -lm -lutil -lc
    perllibs=-lpthread -ldl -lm -lutil -lc
    libc=
    so=dylib
    useshrplib=false
    libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=bundle
    d_dlsymun=undef
    ccdlflags=' '
    cccdlflags=' '
    lddlflags=' -mmacosx-version-min=10.9 -bundle -undefined
dynamic_lookup -L/usr/local/lib -fstack-protector'



@INC for perl 5.27.7:
    lib
    /usr/local/lib/perl5/site_perl/5.27.7/darwin-2level
    /usr/local/lib/perl5/site_perl/5.27.7
    /usr/local/lib/perl5/5.27.7/darwin-2level
    /usr/local/lib/perl5/5.27.7


Environment for perl 5.27.7:
    DYLD_LIBRARY_PATH (unset)
    HOME=/Users/dur-randir
    LANG=en_US.UTF-8
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/Users/dur-randir/perlbrew/bin:/Users/dur-randir/perlbrew/perls/perl-5.22.1/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/texbin
    PERLBREW_BASHRC_VERSION=0.78
    PERLBREW_HOME=/Users/dur-randir/.perlbrew
    PERLBREW_MANPATH=/Users/dur-randir/perlbrew/perls/perl-5.22.1/man
    PERLBREW_PATH=/Users/dur-randir/perlbrew/bin:/Users/dur-randir/perlbrew/perls/perl-5.22.1/bin
    PERLBREW_PERL=perl-5.22.1
    PERLBREW_ROOT=/Users/dur-randir/perlbrew
    PERLBREW_VERSION=0.78
    PERL_BADLANG (unset)
    SHELL=/usr/local/bin/zsh

@p5pRT
Copy link
Author

p5pRT commented Jan 9, 2018

From @karenetheridge

as commented in https://rt.cpan.org/Ticket/Display.html?id=124036&results=3c065434009f0f9edd4a39859e17724c, this appears to be a blead-side issue.

@p5pRT
Copy link
Author

p5pRT commented Jan 9, 2018

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Jan 10, 2018

From @iabyn

On Mon, Jan 08, 2018 at 01​:19​:18PM -0800, Sergey Aleynikov wrote​:

Catalyst fails it's test suit on blead with the following output​:

abda9fe is​:

commit abda9fe
Author​: Zefram <zefram@​fysh.org>
AuthorDate​: Fri Dec 1 17​:35​:35 2017 +0000
Commit​: Zefram <zefram@​fysh.org>
CommitDate​: Fri Dec 1 17​:37​:06 2017 +0000

  in Data-Dumper, quote glob names better
 
  Glob name quoting should obey Useqq. Fixes [perl #119831].

--
Indomitable in retreat, invincible in advance, insufferable in victory
  -- Churchill on Montgomery

@p5pRT
Copy link
Author

p5pRT commented Jan 10, 2018

From @khwilliamson

On 01/10/2018 04​:35 AM, Dave Mitchell wrote​:

On Mon, Jan 08, 2018 at 01​:19​:18PM -0800, Sergey Aleynikov wrote​:

Catalyst fails it's test suit on blead with the following output​:

abda9fe is​:

commit abda9fe
Author​: Zefram <zefram@​fysh.org>
AuthorDate​: Fri Dec 1 17​:35​:35 2017 +0000
Commit​: Zefram <zefram@​fysh.org>
CommitDate​: Fri Dec 1 17​:37​:06 2017 +0000

 in Data\-Dumper\, quote glob names better
 
 Glob name quoting should obey Useqq\.  Fixes \[perl \#119831\]\.

This commit also created test cases that are failing on EBCDIC.
perlhacktips contains guidance about writing portable tests.

@p5pRT
Copy link
Author

p5pRT commented Jan 10, 2018

From zefram@fysh.org

Sergey Aleynikov wrote​:

Bisect points to commit abda9fe
...
which is quite strange.

Yes, it is. Turns out this is really a much older bug​:

$ perl5.16.0 -MData​::Dumper=Dumper -lwe '$Data​::Dumper​::Purity=1; $Data​::Dumper​::Indent=0; *{"a\x{2603}b"}={a=>3}; print Dumper(\*{"a\x{2603}b"})'
$VAR1 = \*{"​::a\x{2603}b"};} = {'a' => 3};

but it only affected upgraded glob names, until commit
abda9fe got rid of the special-case
code for quoting downgraded glob names (which didn't respect Useqq)
and made the code for the upgraded case handle all quoted glob names.
Fixed in commit fb50431.

-zefram

@p5pRT p5pRT closed this as completed Jan 11, 2018
@p5pRT
Copy link
Author

p5pRT commented Jan 11, 2018

@iabyn - Status changed from 'open' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant