Hello community,
here is the log from the commit of package perl-Devel-NYTProf for
openSUSE:Factory checked in at 2018-06-29 22:26:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Devel-NYTProf (Old)
and /work/SRC/openSUSE:Factory/.perl-Devel-NYTProf.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Devel-NYTProf"
Fri Jun 29 22:26:28 2018 rev:14 rq:616711 version:6.06
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Devel-NYTProf/perl-Devel-NYTProf.changes
2018-04-20 17:26:25.117178350 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Devel-NYTProf.new/perl-Devel-NYTProf.changes
2018-06-29 22:26:34.822475445 +0200
@@ -1,0 +2,23 @@
+Sun Jun 10 05:19:51 UTC 2018 - [email protected]
+
+- updated to 6.06
+ see /usr/share/doc/packages/perl-Devel-NYTProf/Changes
+
+ =head2 Changes in Devel::NYTProf 6.06 - 4th June 2018
+
+ Fix sorting of numbers ending ...5s as microsec
+ thanks to pichi. #120
+
+ Fix tests for Strawberry Perl portable
+ thanks to shawnlaffan. #123
+
+ Fixed broken link in the pod to YAPC::NA 2014 talk video
+ thanks to manwar. #116
+
+ Add "NYTProf" to buffer overflow error message for easier triage
+ thanks to atomicstack. #119.
+
+ Add appveyor config file for CI on Windows
+ thanks to shawnlaffan. #117
+
+-------------------------------------------------------------------
Old:
----
Devel-NYTProf-6.05.tar.gz
New:
----
Devel-NYTProf-6.06.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Devel-NYTProf.spec ++++++
--- /var/tmp/diff_new_pack.ZXkZGZ/_old 2018-06-29 22:26:35.374475029 +0200
+++ /var/tmp/diff_new_pack.ZXkZGZ/_new 2018-06-29 22:26:35.378475025 +0200
@@ -17,7 +17,7 @@
Name: perl-Devel-NYTProf
-Version: 6.05
+Version: 6.06
Release: 0
%define cpan_name Devel-NYTProf
Summary: Powerful fast feature-rich Perl source code profiler
++++++ Devel-NYTProf-6.05.tar.gz -> Devel-NYTProf-6.06.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-NYTProf-6.05/Changes
new/Devel-NYTProf-6.06/Changes
--- old/Devel-NYTProf-6.05/Changes 2018-03-23 23:19:49.000000000 +0100
+++ new/Devel-NYTProf-6.06/Changes 2018-06-04 15:29:30.000000000 +0200
@@ -4,6 +4,23 @@
=cut
+=head2 Changes in Devel::NYTProf 6.06 - 4th June 2018
+
+ Fix sorting of numbers ending ...5s as microsec
+ thanks to pichi. #120
+
+ Fix tests for Strawberry Perl portable
+ thanks to shawnlaffan. #123
+
+ Fixed broken link in the pod to YAPC::NA 2014 talk video
+ thanks to manwar. #116
+
+ Add "NYTProf" to buffer overflow error message for easier triage
+ thanks to atomicstack. #119.
+
+ Add appveyor config file for CI on Windows
+ thanks to shawnlaffan. #117
+
=head2 Changes in Devel::NYTProf 6.05 - 23rd March 2018
Fix test failures on Perl 5.27.6+ #113
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-NYTProf-6.05/META.json
new/Devel-NYTProf-6.06/META.json
--- old/Devel-NYTProf-6.05/META.json 2018-03-26 10:21:33.000000000 +0200
+++ new/Devel-NYTProf-6.06/META.json 2018-06-04 16:21:01.000000000 +0200
@@ -62,6 +62,6 @@
},
"x_MailingList" : "http://groups.google.com/group/develnytprof-dev"
},
- "version" : "6.05",
+ "version" : "6.06",
"x_serialization_backend" : "JSON::PP version 2.27203"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-NYTProf-6.05/META.yml
new/Devel-NYTProf-6.06/META.yml
--- old/Devel-NYTProf-6.05/META.yml 2018-03-26 10:21:33.000000000 +0200
+++ new/Devel-NYTProf-6.06/META.yml 2018-06-04 16:21:00.000000000 +0200
@@ -33,5 +33,5 @@
homepage: https://code.google.com/p/perl-devel-nytprof/
license: http://dev.perl.org/licenses/
repository: git://github.com/timbunce/devel-nytprof.git
-version: '6.05'
+version: '6.06'
x_serialization_backend: 'CPAN::Meta::YAML version 0.012'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-NYTProf-6.05/NYTProf.xs
new/Devel-NYTProf-6.06/NYTProf.xs
--- old/Devel-NYTProf-6.05/NYTProf.xs 2018-03-23 23:18:40.000000000 +0100
+++ new/Devel-NYTProf-6.06/NYTProf.xs 2018-06-04 15:22:24.000000000 +0200
@@ -240,7 +240,7 @@
static unsigned int profile_opts = NYTP_OPTf_OPTIMIZE | NYTP_OPTf_SAVESRC;
static int profile_start = NYTP_START_BEGIN; /* when to start profiling */
-static char *nytp_panic_overflow_msg_fmt = "panic: buffer overflow of %s on
'%s' (see TROUBLESHOOTING section of the documentation)";
+static char *nytp_panic_overflow_msg_fmt = "panic: buffer overflow of %s on
'%s' (see TROUBLESHOOTING section of the NYTProf documentation)";
struct NYTP_options_t {
const char *option_name;
@@ -630,7 +630,7 @@
NYTP_read(ifile, &tag, sizeof(tag), "string prefix");
if (NYTP_TAG_STRING != tag && NYTP_TAG_STRING_UTF8 != tag)
- croak("Profile format error at offset %ld%s, expected string tag but
found %d ('%c') (see TROUBLESHOOTING in docs)",
+ croak("Profile format error at offset %ld%s, expected string tag but
found %d ('%c') (see TROUBLESHOOTING in NYTProf docs)",
NYTP_tell(ifile)-1, NYTP_type_of_offset(ifile), tag, tag);
len = read_u32(ifile);
@@ -3710,7 +3710,7 @@
}
}
if (negative_time_calls) {
- logwarn("Warning: %d subroutine calls had negative time! See
TROUBLESHOOTING in the documentation. (Clock %ld)\n",
+ logwarn("Warning: %d subroutine calls had negative time! See
TROUBLESHOOTING in the NYTProf documentation. (Clock %ld)\n",
negative_time_calls, (long)profile_clock);
}
}
@@ -4745,7 +4745,7 @@
if (NYTP_read_unchecked(in, &c, sizeof(c)) != sizeof(c)) {
if (NYTP_eof(in))
break;
- croak("Profile format error '%s' whilst reading tag at %ld (see
TROUBLESHOOTING in docs)",
+ croak("Profile format error '%s' whilst reading tag at %ld (see
TROUBLESHOOTING in NYTProf docs)",
NYTP_fstrerror(in), NYTP_tell(in));
}
@@ -4895,7 +4895,7 @@
char *end = NYTP_gets(in, &buffer, &buffer_len);
if (NULL == end)
/* probably EOF */
- croak("Profile format error reading attribute (see
TROUBLESHOOTING in docs)");
+ croak("Profile format error reading attribute (see
TROUBLESHOOTING in NYTProf docs)");
--end; /* End, as returned, points 1 after the \n */
if ((NULL == (value = (char *)memchr(buffer, '=', end -
buffer)))) {
logwarn("attribute malformed '%s'\n", buffer);
@@ -4926,7 +4926,7 @@
char *end = NYTP_gets(in, &buffer, &buffer_len);
if (NULL == end)
/* probably EOF */
- croak("Profile format error reading attribute (see
TROUBLESHOOTING in docs)");
+ croak("Profile format error reading attribute (see
TROUBLESHOOTING in NYTProf docs)");
--end; /* end, as returned, points 1 after the \n */
if ((NULL == (value = (char *)memchr(buffer, '=', end -
buffer)))) {
logwarn("option malformed '%s'\n", buffer);
@@ -4946,7 +4946,7 @@
char *end = NYTP_gets(in, &buffer, &buffer_len);
if (!end)
/* probably EOF */
- croak("Profile format error reading comment (see
TROUBLESHOOTING in docs)");
+ croak("Profile format error reading comment (see
TROUBLESHOOTING in NYTProf docs)");
if (callbacks[nytp_comment])
callbacks[nytp_comment](state, nytp_comment, buffer,
@@ -4971,7 +4971,7 @@
}
default:
- croak("Profile format error: token %d ('%c'), chunk %lu, pos
%ld%s (see TROUBLESHOOTING in docs)",
+ croak("Profile format error: token %d ('%c'), chunk %lu, pos
%ld%s (see TROUBLESHOOTING in NYTProf docs)",
c, c, state->input_chunk_seqn, NYTP_tell(in)-1,
NYTP_type_of_offset(in));
}
@@ -5017,7 +5017,7 @@
if (HvKEYS(state.live_pids_hv)) {
logwarn("Profile data incomplete, no terminator for %"IVdf" pids %s\n",
(IV)HvKEYS(state.live_pids_hv),
- "(refer to TROUBLESHOOTING in the documentation)");
+ "(refer to TROUBLESHOOTING in the NYTProf documentation)");
store_attrib_sv(aTHX_ state.attr_hv, STR_WITH_LEN("complete"),
&PL_sv_no);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-NYTProf-6.05/README.md
new/Devel-NYTProf-6.06/README.md
--- old/Devel-NYTProf-6.05/README.md 2014-10-05 16:02:54.000000000 +0200
+++ new/Devel-NYTProf-6.06/README.md 2018-06-04 15:22:24.000000000 +0200
@@ -1,14 +1,14 @@
# Devel::NYTProf
-Devel::NYTProf is a powerful feature-rich perl source code profiler.
+Devel::NYTProf is a powerful feature-rich source code profiler for Perl 5.
[](http://travis-ci.org/timbunce/devel-nytprof)
For more information see:
- https://www.youtube.com/watch?v=T7EK6RZAnEA
- http://www.slideshare.net/Tim.Bunce/nyt-prof-201406key
- http://blog.timbunce.org/tag/nytprof/
+* https://www.youtube.com/watch?v=T7EK6RZAnEA
+* http://www.slideshare.net/Tim.Bunce/nyt-prof-201406key
+* http://blog.timbunce.org/tag/nytprof/
## DOWNLOAD AND INSTALLATION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-NYTProf-6.05/bin/nytprofcalls
new/Devel-NYTProf-6.06/bin/nytprofcalls
--- old/Devel-NYTProf-6.05/bin/nytprofcalls 2018-03-23 22:53:36.000000000
+0100
+++ new/Devel-NYTProf-6.06/bin/nytprofcalls 2018-06-04 15:23:46.000000000
+0200
@@ -14,7 +14,7 @@
use Devel::NYTProf::Core;
require Devel::NYTProf::Data;
-our $VERSION = '6.05';
+our $VERSION = '6.06';
use Data::Dumper;
use Getopt::Long;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-NYTProf-6.05/bin/nytprofcsv
new/Devel-NYTProf-6.06/bin/nytprofcsv
--- old/Devel-NYTProf-6.05/bin/nytprofcsv 2018-03-23 23:18:40.000000000
+0100
+++ new/Devel-NYTProf-6.06/bin/nytprofcsv 2018-06-04 15:23:59.000000000
+0200
@@ -16,7 +16,7 @@
use Devel::NYTProf::Reader;
-our $VERSION = '6.05';
+our $VERSION = '6.06';
use constant NUMERIC_PRECISION => 5;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-NYTProf-6.05/bin/nytprofhtml
new/Devel-NYTProf-6.06/bin/nytprofhtml
--- old/Devel-NYTProf-6.05/bin/nytprofhtml 2018-03-23 23:18:40.000000000
+0100
+++ new/Devel-NYTProf-6.06/bin/nytprofhtml 2018-06-04 15:23:54.000000000
+0200
@@ -61,7 +61,7 @@
);
use Devel::NYTProf::Constants qw(NYTP_SCi_CALLING_SUB);
-our $VERSION = '6.05';
+our $VERSION = '6.06';
if ($VERSION != $Devel::NYTProf::Core::VERSION) {
die "$0 version '$VERSION' doesn't match version
'$Devel::NYTProf::Core::VERSION' of $INC{'Devel/NYTProf/Core.pm'}\n";
@@ -1676,7 +1676,7 @@
// console.log(orig);
var val = orig.replace(/ns/,'');
if (val != orig) { return val / (1000*1000*1000); }
- val = orig.replace(/[µ\\xB5]s/,''); /* micro */
+ val = orig.replace(/[µ\xB5]s/,''); /* micro */
if (val != orig) { return val / (1000*1000); }
val = orig.replace(/ms/,'');
if (val != orig) { return val / (1000); }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-NYTProf-6.05/bin/nytprofmerge
new/Devel-NYTProf-6.06/bin/nytprofmerge
--- old/Devel-NYTProf-6.05/bin/nytprofmerge 2018-03-23 22:53:36.000000000
+0100
+++ new/Devel-NYTProf-6.06/bin/nytprofmerge 2018-06-04 15:23:50.000000000
+0200
@@ -16,7 +16,7 @@
require Devel::NYTProf::Data;
use List::Util qw(min sum);
-our $VERSION = '6.05';
+our $VERSION = '6.06';
if ($VERSION != $Devel::NYTProf::Core::VERSION) {
die "$0 version '$VERSION' doesn't match version
'$Devel::NYTProf::Core::VERSION' of $INC{'Devel/NYTProf/Core.pm'}\n";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-NYTProf-6.05/bin/nytprofpf
new/Devel-NYTProf-6.06/bin/nytprofpf
--- old/Devel-NYTProf-6.05/bin/nytprofpf 2018-03-23 22:53:36.000000000
+0100
+++ new/Devel-NYTProf-6.06/bin/nytprofpf 2018-06-04 15:23:41.000000000
+0200
@@ -54,7 +54,7 @@
);
use Devel::NYTProf::Constants qw(NYTP_SCi_CALLING_SUB);
-our $VERSION = '6.05';
+our $VERSION = '6.06';
if ($VERSION != $Devel::NYTProf::Core::VERSION) {
die "$0 version '$VERSION' doesn't match version
'$Devel::NYTProf::Core::VERSION' of $INC{'Devel/NYTProf/Core.pm'}\n";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-NYTProf-6.05/lib/Devel/NYTProf/Core.pm
new/Devel-NYTProf-6.06/lib/Devel/NYTProf/Core.pm
--- old/Devel-NYTProf-6.05/lib/Devel/NYTProf/Core.pm 2018-03-23
22:53:36.000000000 +0100
+++ new/Devel-NYTProf-6.06/lib/Devel/NYTProf/Core.pm 2018-06-04
15:24:07.000000000 +0200
@@ -12,7 +12,7 @@
use XSLoader;
-our $VERSION = '6.05'; # increment with XS changes too
+our $VERSION = '6.06'; # increment with XS changes too
XSLoader::load('Devel::NYTProf', $VERSION);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-NYTProf-6.05/lib/Devel/NYTProf.pm
new/Devel-NYTProf-6.06/lib/Devel/NYTProf.pm
--- old/Devel-NYTProf-6.05/lib/Devel/NYTProf.pm 2018-03-23 23:18:40.000000000
+0100
+++ new/Devel-NYTProf-6.06/lib/Devel/NYTProf.pm 2018-06-04 15:24:03.000000000
+0200
@@ -9,7 +9,7 @@
###########################################################
package Devel::NYTProf;
-our $VERSION = '6.05'; # also change in Devel::NYTProf::Core
+our $VERSION = '6.06'; # also change in Devel::NYTProf::Core
package # hide the package from the PAUSE indexer
DB;
@@ -65,7 +65,7 @@
I give talks on profiling perl code, including a detailed look at how to use
NYTProf and how to optimize your code, every year. A video of my YAPC::NA 2014
-talk can be found at
L<http://perltv.org/v/performance-profiling-with-develnytprof>
+talk can be found at L<https://youtu.be/T7EK6RZAnEA>
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-NYTProf-6.05/t/40-savesrc.t
new/Devel-NYTProf-6.06/t/40-savesrc.t
--- old/Devel-NYTProf-6.05/t/40-savesrc.t 2014-09-14 23:20:02.000000000
+0200
+++ new/Devel-NYTProf-6.06/t/40-savesrc.t 2018-06-04 15:22:24.000000000
+0200
@@ -10,7 +10,7 @@
use Devel::NYTProf::Run qw(profile_this);
run_test_group( {
- extra_test_count => 7,
+ extra_test_count => 8,
extra_test_code => sub {
my ($profile, $env) = @_;
@@ -37,9 +37,17 @@
}
else { pass() for 1..2 }
- my $fi_e = $profile->fileinfo_of('(eval 1)[-:1]');
+ # Strawberry perl portable has eval ID '(eval 5)[-:1]',
+ # others have '(eval 0)[-:1]'.
+ # Assume that, if we get two fileinfos then second is what we wanted.
+ # Possibly should check if we match /\(eval [15]\)\[-:1\]/.
+ my @file_infos = $profile->all_fileinfos;
+ is (scalar @file_infos, 2, 'Got two file infos');
+ my $target_eval_name = $file_infos[-1]->filename;
+
+ my $fi_e = $profile->fileinfo_of($target_eval_name);
isa_ok $fi_e, 'Devel::NYTProf::FileInfo',
- 'should have fileinfo for "(eval 0)[-:1]"'
+ 'should have fileinfo for "$target_eval_name"'
or do {
diag "Have fileinfo for: '$_'"
for sort map { $_->filename } $profile->all_fileinfos;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-NYTProf-6.05/t/lib/NYTProfTest.pm
new/Devel-NYTProf-6.06/t/lib/NYTProfTest.pm
--- old/Devel-NYTProf-6.05/t/lib/NYTProfTest.pm 2017-12-31 19:27:14.000000000
+0100
+++ new/Devel-NYTProf-6.06/t/lib/NYTProfTest.pm 2018-06-04 15:22:24.000000000
+0200
@@ -452,12 +452,74 @@
my @got = slurp_file($got_file); chomp @got;
my @exp = slurp_file($exp_file); chomp @exp;
+
+ my $updated = update_file_content_array (\@got);
+ # Sort the got and exp data if we updated.
+ # This avoids mismatches due to file sort orders.
+ if ($updated) {
+ @got = sort @got;
+ @exp = sort @exp;
+ }
is_deeply(\@got, \@exp, $testname)
? unlink($got_file)
: diff_files($exp_file, $got_file, $got_file."_patch");
}
+sub update_file_content_array {
+ my $lines = shift;
+
+ my $file_info_start;
+ foreach my $i (0 .. $#$lines) {
+ next if not $lines->[$i] =~ /^fid_fileinfo/;
+ # Remove path info that creeps in when run under prove
+ # Should perhaps use Regexp::Common, or borrow from it.
+ $lines->[$i] =~ s|(\d\t\[ )(\w:/)?([\-\w\s]+/)+|$1|;
+ $file_info_start ||= $i;
+ last if $i > $file_info_start + 4;
+ }
+
+ return if !$file_info_start;
+
+ my $re_eval_id = qr /\(eval ([0-9]+)\)/;
+ my $start_eval_id = 1;
+ # find the first fid_fileinfo line with an eval in it
+ for my $i ($file_info_start .. 10+$file_info_start) {
+ if ($lines->[$i] =~ $re_eval_id) {
+ $start_eval_id = $1;
+ last;
+ };
+ }
+ return if $start_eval_id <= 1;
+
+ my $eval_id_offset = $start_eval_id - 1;
+
+ # now update the eval IDs for the offset
+ foreach my $i ($file_info_start .. $#$lines) {
+ if (my @matches = ($lines->[$i] =~ m/$re_eval_id/g)) {
+ foreach my $got (@matches) {
+ my $replace = $got - $eval_id_offset;
+ if ($lines->[$i] =~ /test22-strevala.p/) {
+ # Correct for the alphabetical ordering
+ # as otherwise the 10 is listed before the 9
+ # and the line does not match exactly.
+ # Clunky, but works for now.
+ if ($got == 10) {
+ $replace -= 1;
+ }
+ elsif (@matches > 2 && $got == 9) {
+ $replace += 1;
+ }
+ }
+ $lines->[$i] =~ s/\(eval $got\)/\(eval $replace\)/;
+ }
+ }
+ }
+
+ # indicate changes
+ return 1;
+}
+
sub dump_data_to_file {
my ($profile, $file) = @_;
@@ -494,7 +556,10 @@
# we don't care if this fails, it's just an aid to debug test failures
# XXX needs to behave better on windows
my @opts = split / /, $ENV{NYTPROF_DIFF_OPTS} || $diff_opts; # e.g. '-y'
- system("diff @opts $old_file $new_file 1>&2");
+ # can sometimes cause issues with cmd shell
+ if ($^O ne 'MSWin32') {
+ system("diff @opts $old_file $new_file 1>&2");
+ }
}