Enbugger v2.016 Perl 5 v5.34.1 x86_64-linux-thread-multi-ld
- Status
- Fail
- From
- Lukas Mai
- Dist
-
Enbugger v2.016
- Platform
- Perl 5 v5.34.1 x86_64-linux-thread-multi-ld
- Date
- 2023-07-30 12:03:58
- ID
- 2a11a2be-2ed1-11ee-97f5-7704fec66bff
This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language. See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org
--
Dear jjore,
This is a computer-generated report for Enbugger-2.016
on perl 5.34.1, created by CPAN-Reporter-1.2018.
Thank you for uploading your work to CPAN. However, there was a problem
testing your distribution.
If you think this report is invalid, please consult the CPAN Testers Wiki
for suggestions on how to avoid getting FAIL reports for missing library
or binary dependencies, unsupported operating systems, and so on:
http://wiki.cpantesters.org/wiki/CPANAuthorNotes
Sections of this report:
* Tester comments
* Program output
* Prerequisites
* Environment and other context
------------------------------
TESTER COMMENTS
------------------------------
Additional comments from tester:
none provided
------------------------------
PROGRAM OUTPUT
------------------------------
Output from '/usr/bin/make test':
"/home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Enbugger.bs blib/arch/auto/Enbugger/Enbugger.bs 644
PERL_DL_NONLAZY=1 "/home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/10load.t .............. ok
#!perl
# COPYRIGHT AND LICENCE
#
# Copyright (C) 2007,2008 WhitePages.com, Inc. with primary
# development by Joshua ben Jore.
#
# This program is distributed WITHOUT ANY WARRANTY, including but not
# limited to the implied warranties of merchantability or fitness for
# a particular purpose.
#
# The program is free software. You may distribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation (either version 2 or any later version)
# and the Perl Artistic License as published by OâÃÂÃÂReilly Media, Inc.
# Please open the files named gpl-2.0.txt and Artistic for a copy of
# these licenses.
use strict;
use warnings;
use Getopt::Long qw( GetOptions );
use vars qw( $Ok );
use lib qw( ./t/ );
BEGIN {
require 'reset_perms.pl';
=head1 DESCRIPTION
This test attempts to run the perl5db debugger, gives it some
commands, then tests that the commands occurred. In general the idea
is that depending on how the Enbugger.xs code is modifying COP nodes,
it could have either removed instrumentation from code that should be
instrumented or done the reverse and instrumented the debugger itself.
The output of this program can be read by another program and used in
a test.
=head1 OPTIONS
=over
=item --noimport
Enbugger will be loaded without calling C<< ->import >>.
=item --import ELT
Adds an item to the C<< ->import >> argument list.
=item --help
Runs perldoc on this program.
=item --load_perl5db
After loading Enbugger, C<< Enbugger->load_perl5db >> will also be called.
=back
=cut
$ENV{PERLDB_OPTS} = 'noTTY';
# Option parsing.
my $import = 1;
my @import = ();
my $loadPerl5Db = 0;
my $onError = 0;
GetOptions(
help => sub { exec {'perldoc'} 'perldoc', $0 },
noimport => sub { $import = 0 },
'import=s' => \@import,
load_perl5db => \ $loadPerl5Db,
onerror => \ $onError,
)
or exec {'perldoc'} 'perldoc', $0;
# Promote some options into constants.
require constant;
constant->import( LoadPerl5Db => !! $loadPerl5Db );
# The test is whether the debugger runs and is controlled by my
# test commands here.
{
no warnings 'once';
push @DB::typeahead, '$main::Ok = 1', 'c', 'q';
}
# All our output will go to *OUT. If this program was given a
# parameter, we accept it as file that we should write our output too.
{
my ( $file ) = shift @ARGV;
if ( defined $file ) {
open OUT, '>', $file
or die "Can't open $file for writing: $!";
}
else {
*OUT = *STDOUT;
}
# OUTPUT is HOT.
select *OUT;
$| = 1;
# Things written to STDERR should also go to our single *OUT.
no warnings 'once';
*STDERR = $DB::OUT = $DB::LINEINFO = *OUT;
}
# Look to see if the debugger is on. Before I go and load
# Enbugger, I figure I can at least count on being able to examine
# $^P to see if we were started with the -d debugger flag.
constant->import( UnderTheDebugger => !! $^P );
# Load Enbugger and completely knacker our process. This little
# snippet used to just be a static `use Enbugger;' but I moved it
# up here when it became obvious that I wanted to optionally avoid
# importing anything.
if ( $onError ) {
require Enbugger::OnError;
Enbugger::OnError->import;
}
else {
require Enbugger;
if ( $import ) {
Enbugger->import( @import );
}
}
# Now dropping into normal run-time.
}
# Load the perl5db debugger if the user asked for us to do it
# manually. Normally the ->stop method call will also do this for us.
if ( LoadPerl5Db ) {
Enbugger->load_perl5db;
}
# Trigger a breakpoint.
#
# At this point, I already supplied some commands to the debugger so
# it should go set our $ok variable and then continue on
# automatically.
Enbugger->stop unless $Ok;
# Check that the debugger was stopped and it processed the commands
# requested of it.
$Ok = 'undef' if not defined $Ok;
print "\$ok = $Ok.\n";
## Local Variables:
## mode: cperl
## mode: auto-fill
## cperl-indent-level: 4
## tab-width: 8
## End:
main::(t/11load.pl:159): $Ok = 'undef' if not defined $Ok;
$ok = 1.
Failed to run /home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble/bin/perl -Mblib t/11load.pl /tmp/CjrsWMAp0T: signal: 11 at t/Test/Enbugger.pm line 104.
# Looks like your test exited with 255 before it could output anything.
t/11load.t ..............
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 12/12 subtests
Loading DB routines from perl5db.pl version 1.60_01
Editor support available.
Enter h or 'h h' for help, or 'man perldebug' for more help.
Received signal An exception.
at t/20error.t line 42.
Enbugger::OnError::(/home/mauke/.cpan/build/Enbugger-2.016-5/blib/lib/Enbugger/OnError.pm:107):
107: DB::DB();
auto(-2) DB<1> main::is( "$@", "An exception.\n")
auto(-1) DB<2> q
t/20error.t ............. ok
t/21error.t ............. ok
Loading DB routines from perl5db.pl version 1.60_01
Editor support available.
Enter h or 'h h' for help, or 'man perldebug' for more help.
Received signal USR1 at t/22signal.t line 50.
eval {...} called at t/22signal.t line 50
Enbugger::OnError::(/home/mauke/.cpan/build/Enbugger-2.016-5/blib/lib/Enbugger/OnError.pm:107):
107: DB::DB();
auto(-2) DB<1> main::is( "$@", 'USR1')
auto(-1) DB<2> q
t/22signal.t ............ ok
#!perl
# COPYRIGHT AND LICENCE
#
# Copyright (C) 2014 Joshua ben Jore.
#
# This program is distributed WITHOUT ANY WARRANTY, including but not
# limited to the implied warranties of merchantability or fitness for
# a particular purpose.
#
# The program is free software. You may distribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation (either version 2 or any later version)
# and the Perl Artistic License as published by OâÃÂÃÂReilly Media, Inc.
# Please open the files named gpl-2.0.txt and Artistic for a copy of
# these licenses.
use strict;
use warnings;
use Getopt::Long qw( GetOptions );
use vars qw( $Caught $Value );
use lib qw( ./t );
BEGIN {
require 'reset_perms.pl';
=head1 DESCRIPTION
This test attempts to run the perl5db debugger, break on a line, then
tests that the break occurred where expected. This tests both that
%{"_<30break.pl"} with L magic and @{"_<30break.pl"} with dual-var
strings has been created.
The output of this program can be read by another program and used in
a test.
=head1 OPTIONS
=over
=item --noimport
Enbugger will be loaded without calling C<< ->import >>.
=item --import ELT
Adds an item to the C<< ->import >> argument list.
=item --help
Runs perldoc on this program.
=item --load_perl5db
After loading Enbugger, C<< Enbugger->load_perl5db >> will also be called.
=back
=cut
$ENV{PERLDB_OPTS} = 'noTTY';
# Option parsing.
my $import = 1;
my @import = ();
my $loadPerl5Db = 0;
GetOptions(
help => sub { exec {'perldoc'} 'perldoc', $0 },
noimport => sub { $import = 0 },
'import=s' => \@import,
load_perl5db => \ $loadPerl5Db,
)
or exec {'perldoc'} 'perldoc', $0;
# Promote some options into constants.
require constant;
constant->import( LoadPerl5Db => !! $loadPerl5Db );
# The test is whether the debugger runs and is controlled by my
# test commands here.
{
no warnings 'once';
@DB::typeahead = (
'l 1-200',
'b 146',
'c',
'$main::Caught = $main::Value',
'c',
'q'
);
}
# All our output will go to *OUT. If this program was given a
# parameter, we accept it as file that we should write our output too.
{
my ( $file ) = shift @ARGV;
if ( defined $file ) {
open OUT, '>', $file
or die "Can't open $file for writing: $!";
}
else {
*OUT = *STDOUT;
}
# OUTPUT is HOT.
select *OUT;
$| = 1;
# Things written to STDERR should also go to our single *OUT.
no warnings 'once';
*STDERR = $DB::OUT = $DB::LINEINFO = *OUT;
}
# Look to see if the debugger is on. Before I go and load
# Enbugger, I figure I can at least count on being able to examine
# $^P to see if we were started with the -d debugger flag.
constant->import( UnderTheDebugger => !! $^P );
# Load Enbugger and completely knacker our process. This little
# snippet used to just be a static `use Enbugger;' but I moved it
# up here when it became obvious that I wanted to optionally avoid
# importing anything.
require Enbugger;
if ( $import ) {
Enbugger->import( @import );
}
}
# Commands executed here:
# > l 1-200
# > b 146
# > c
Enbugger->stop;
$Value = 0;
$Value = 1;
$Value = 2;
$Value = 3;
# Commands executed here when the breakpoint works.
# > $main::Caught = $main::Value
# > c
$Value = 4;
$Value = 5;
$Value = 6;
$Value = 7;
$Value = 8;
$Value = 9;
$Value = 0;
$Caught = 'undef' if ! defined $Caught;
print "\$Caught = $main::Caught.\n";
# Commands executed here:
# > q
main::(t/30break.pl:138): $Value = 0;
Failed to run /home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble/bin/perl -Mblib t/30break.pl /tmp/pl1nY2dBLf: signal: 6 at t/Test/Enbugger.pm line 104.
# Looks like your test exited with 255 before it could output anything.
t/30break.t .............
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 24/24 subtests
t/nytprof.t ............. skipped: Skipped because Devel::NYTProf isn't installed
t/release-pod-syntax.t .. skipped: these tests are for release candidate testing
t/trepantest.t .......... skipped: Skipped because Devel::Trepan isn't installed
Test Summary Report
-------------------
t/11load.t (Wstat: 65280 Tests: 0 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 12 tests but ran 0.
t/30break.t (Wstat: 65280 Tests: 0 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 24 tests but ran 0.
Files=9, Tests=5, 2 wallclock secs ( 0.03 usr 0.01 sys + 2.02 cusr 0.15 csys = 2.21 CPU)
Result: FAIL
Failed 2/9 test programs. 0/5 subtests failed.
make: *** [Makefile:1115: test_dynamic] Error 255
------------------------------
PREREQUISITES
------------------------------
Prerequisite modules loaded:
requires:
Module Need Have
------------------- ---- --------
B::Utils 0.25 0.27
Test::More 0 1.302183
build_requires:
Module Need Have
------------------- ---- --------
ExtUtils::MakeMaker 0 7.62
configure_requires:
Module Need Have
------------------- ---- --------
B::Utils 0.22 0.27
ExtUtils::CBuilder 0 0.280236
Test::More 0 1.302183
------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------
Environment variables:
LANG = en_US.UTF-8
LANGUAGE = en_US:en
LC_ADDRESS = de_DE.UTF-8
LC_COLLATE = POSIX
LC_IDENTIFICATION = de_DE.UTF-8
LC_MEASUREMENT = de_DE.UTF-8
LC_MONETARY = de_DE.UTF-8
LC_NAME = de_DE.UTF-8
LC_NUMERIC = en_US.UTF-8
LC_PAPER = de_DE.UTF-8
LC_TELEPHONE = de_DE.UTF-8
LC_TIME = de_DE.UTF-8
NONINTERACTIVE_TESTING = 1
PATH = /home/mauke/perl5/perlbrew/bin:/home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble/bin:/home/mauke/perl5/perlbrew/bin:/home/mauke/perl5/perlbrew/perls/perl-5.38.0/bin:/home/mauke/bin:/home/mauke/.local/bin:/home/mauke/.cargo/bin:/home/mauke/.ghcup/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
PERL5LIB =
PERL5OPT =
PERL5_CPANPLUS_IS_RUNNING = 260095
PERL5_CPAN_IS_RUNNING = 260095
PERLBREW_BASHRC_VERSION = 0.74
PERLBREW_HOME = /home/mauke/.perlbrew
PERLBREW_LIB =
PERLBREW_MANPATH = /home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble/man
PERLBREW_PATH = /home/mauke/perl5/perlbrew/bin:/home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble/bin
PERLBREW_PERL = perl-5.34.1-thread-longdouble
PERLBREW_ROOT = /home/mauke/perl5/perlbrew
PERLBREW_VERSION = 0.94
PERLDOC = -oterm
PERL_LOCAL_LIB_ROOT =
PERL_MM_USE_DEFAULT = 1
PERL_UNICODE = SAL
PERL_USE_UNSAFE_INC = 1
SHELL = /bin/bash
TERM = tmux-256color
Perl special variables (and OS-specific diagnostics, for MSWin32):
$^X = /home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble/bin/perl
$UID/$EUID = 1000 / 1000
$GID = 1000 4 24 27 29 30 44 46 113 129 1000
$EGID = 1000 4 24 27 29 30 44 46 113 129 1000
Perl module toolchain versions installed:
Module Have
------------------- --------
CPAN 2.36
CPAN::Meta 2.150010
Cwd 3.80
ExtUtils::CBuilder 0.280236
ExtUtils::Command 7.62
ExtUtils::Install 2.20
ExtUtils::MakeMaker 7.62
ExtUtils::Manifest 1.73
ExtUtils::ParseXS 3.43
File::Spec 3.80
JSON n/a
JSON::PP 4.06
Module::Build 0.4232
Module::Signature n/a
Parse::CPAN::Meta 2.150010
Test::Harness 3.43
Test::More 1.302183
YAML n/a
YAML::Syck n/a
version 0.9928
--
Summary of my perl5 (revision 5 version 34 subversion 1) configuration:
Platform:
osname=linux
osvers=6.1.0-1009-tuxedo
archname=x86_64-linux-thread-multi-ld
uname='linux luum 6.1.0-1009-tuxedo #11 smp preempt_dynamic tue feb 21 19:40:50 utc 2023 x86_64 x86_64 x86_64 gnulinux '
config_args='-de -Dprefix=/home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble -Duselongdouble -Dusethreads -Aeval:scriptdir=/home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble/bin'
hint=recommended
useposix=true
d_sigaction=define
useithreads=define
usemultiplicity=define
use64bitint=define
use64bitall=define
uselongdouble=define
usemymalloc=n
default_inc_excludes_dot=define
Compiler:
cc='cc'
ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
optimize='-O2'
cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
ccversion=''
gccversion='11.3.0'
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='long double'
nvsize=16
Off_t='off_t'
lseeksize=8
alignbytes=16
prototype=define
Linker and Libraries:
ld='cc'
ldflags =' -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib/x86_64-linux-gnu /usr/lib /usr/lib64
libs=-lpthread -lnsl -ldb -ldl -lm -lcrypt -lutil -lc
perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/x86_64-linux-gnu/libc.so.6
so=so
useshrplib=false
libperl=libperl.a
gnulibc_version='2.35'
Dynamic Linking:
dlsrc=dl_dlopen.xs
dlext=so
d_dlsymun=undef
ccdlflags='-Wl,-E'
cccdlflags='-fPIC'
lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'
Characteristics of this binary (from libperl):
Compile-time options:
HAS_TIMES
MULTIPLICITY
PERLIO_LAYERS
PERL_COPY_ON_WRITE
PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP
PERL_OP_PARENT
PERL_PRESERVE_IVUV
USE_64_BIT_ALL
USE_64_BIT_INT
USE_ITHREADS
USE_LARGE_FILES
USE_LOCALE
USE_LOCALE_COLLATE
USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC
USE_LOCALE_TIME
USE_LONG_DOUBLE
USE_PERLIO
USE_PERL_ATOF
USE_REENTRANT_API
USE_THREAD_SAFE_LOCALE
Built under linux
Compiled at Mar 25 2023 07:54:14
%ENV:
PERL5LIB=""
PERL5OPT=""
PERL5_CPANPLUS_IS_RUNNING="260095"
PERL5_CPAN_IS_RUNNING="260095"
PERLBREW_BASHRC_VERSION="0.74"
PERLBREW_HOME="/home/mauke/.perlbrew"
PERLBREW_LIB=""
PERLBREW_MANPATH="/home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble/man"
PERLBREW_PATH="/home/mauke/perl5/perlbrew/bin:/home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble/bin"
PERLBREW_PERL="perl-5.34.1-thread-longdouble"
PERLBREW_ROOT="/home/mauke/perl5/perlbrew"
PERLBREW_VERSION="0.94"
PERLDOC="-oterm"
PERL_LOCAL_LIB_ROOT=""
PERL_MM_USE_DEFAULT="1"
PERL_UNICODE="SAL"
PERL_USE_UNSAFE_INC="1"
@INC:
/home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble/lib/site_perl/5.34.1/x86_64-linux-thread-multi-ld
/home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble/lib/site_perl/5.34.1
/home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble/lib/5.34.1/x86_64-linux-thread-multi-ld
/home/mauke/perl5/perlbrew/perls/perl-5.34.1-thread-longdouble/lib/5.34.1
.