Hello community,

here is the log from the commit of package perl-Mojolicious for 
openSUSE:Factory checked in at 2017-09-05 15:14:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Mojolicious.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Mojolicious"

Tue Sep  5 15:14:03 2017 rev:75 rq:520605 version:7.44

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojolicious/perl-Mojolicious.changes        
2017-08-29 11:35:54.833283793 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Mojolicious.new/perl-Mojolicious.changes   
2017-09-05 15:14:06.406627495 +0200
@@ -1,0 +2,14 @@
+Mon Sep  4 05:46:40 UTC 2017 - co...@suse.com
+
+- updated to 7.44
+   see /usr/share/doc/packages/perl-Mojolicious/Changes
+
+  7.44  2017-09-02
+    - Reverted a previous change to Mojo::Loader that allowed for load_class 
to be
+      called on the same class multiple times, since it had very bad side 
effects.
+    - Improved Mojo::IOLoop::TLS to use a little less memory.
+    - Fixed a bug where Mojolicious controllers like 
"MyApp::Controller::Foo::Bar"
+      would disappear if loading the controller "MyApp::Controller::Foo" was
+      attempted but failed.
+
+-------------------------------------------------------------------

Old:
----
  Mojolicious-7.43.tar.gz

New:
----
  Mojolicious-7.44.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Mojolicious.spec ++++++
--- /var/tmp/diff_new_pack.gnuoFW/_old  2017-09-05 15:14:07.166520682 +0200
+++ /var/tmp/diff_new_pack.gnuoFW/_new  2017-09-05 15:14:07.174519557 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Mojolicious
-Version:        7.43
+Version:        7.44
 Release:        0
 %define cpan_name Mojolicious
 Summary:        Real-time web framework

++++++ Mojolicious-7.43.tar.gz -> Mojolicious-7.44.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.43/Changes new/Mojolicious-7.44/Changes
--- old/Mojolicious-7.43/Changes        2017-08-17 22:25:27.000000000 +0200
+++ new/Mojolicious-7.44/Changes        2017-09-02 14:41:52.000000000 +0200
@@ -1,4 +1,12 @@
 
+7.44  2017-09-02
+  - Reverted a previous change to Mojo::Loader that allowed for load_class to 
be
+    called on the same class multiple times, since it had very bad side 
effects.
+  - Improved Mojo::IOLoop::TLS to use a little less memory.
+  - Fixed a bug where Mojolicious controllers like 
"MyApp::Controller::Foo::Bar"
+    would disappear if loading the controller "MyApp::Controller::Foo" was
+    attempted but failed.
+
 7.43  2017-08-18
   - Improved Mojo::Base role support with the ability to rebless objects.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.43/MANIFEST 
new/Mojolicious-7.44/MANIFEST
--- old/Mojolicious-7.43/MANIFEST       2017-08-18 10:25:25.000000000 +0200
+++ new/Mojolicious-7.44/MANIFEST       2017-09-03 18:03:41.000000000 +0200
@@ -210,6 +210,7 @@
 t/mojo/prefork.t
 t/mojo/proxy.t
 t/mojo/psgi.t
+t/mojo/reactor_detect.t
 t/mojo/reactor_ev.t
 t/mojo/reactor_poll.t
 t/mojo/request.t
@@ -277,6 +278,7 @@
 t/mojolicious/lib/MojoliciousTest/Plugin/Test/SomePlugin2.pm
 t/mojolicious/lib/MojoliciousTest/Plugin/UPPERCASETestPlugin.pm
 t/mojolicious/lib/MojoliciousTest/PODTest.pm
+t/mojolicious/lib/MojoliciousTest/SideEffects/Test.pm
 t/mojolicious/lib/MojoliciousTest/SyntaxError.pm
 t/mojolicious/lib/MojoliciousTest2/Foo.pm
 t/mojolicious/lib/MojoliciousTest3/Bar.pm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.43/META.json 
new/Mojolicious-7.44/META.json
--- old/Mojolicious-7.43/META.json      2017-08-18 10:25:25.000000000 +0200
+++ new/Mojolicious-7.44/META.json      2017-09-03 18:03:41.000000000 +0200
@@ -58,6 +58,6 @@
       },
       "x_IRC" : "irc://irc.perl.org/#mojo"
    },
-   "version" : "7.43",
+   "version" : "7.44",
    "x_serialization_backend" : "JSON::PP version 2.94"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.43/META.yml 
new/Mojolicious-7.44/META.yml
--- old/Mojolicious-7.43/META.yml       2017-08-18 10:25:24.000000000 +0200
+++ new/Mojolicious-7.44/META.yml       2017-09-03 18:03:41.000000000 +0200
@@ -31,5 +31,5 @@
   homepage: http://mojolicious.org
   license: http://www.opensource.org/licenses/artistic-license-2.0
   repository: https://github.com/kraih/mojo.git
-version: '7.43'
+version: '7.44'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.43/lib/Mojo/IOLoop/TLS.pm 
new/Mojolicious-7.44/lib/Mojo/IOLoop/TLS.pm
--- old/Mojolicious-7.43/lib/Mojo/IOLoop/TLS.pm 2017-07-17 21:07:54.000000000 
+0200
+++ new/Mojolicious-7.44/lib/Mojo/IOLoop/TLS.pm 2017-08-20 16:51:56.000000000 
+0200
@@ -51,7 +51,7 @@
   weaken $self;
   my $tls = {
     SSL_ca_file => $args->{tls_ca}
-      && -T $args->{tls_ca} ? $args->{tls_ca} : undef,
+      && -T $args->{tls_ca} ? $args->{tls_ca} : \undef,
     SSL_error_trap         => sub { $self->_cleanup->emit(error => $_[1]) },
     SSL_honor_cipher_order => 1,
     SSL_startHandshake     => 0
@@ -71,7 +71,6 @@
   else {
     $tls->{SSL_hostname}
       = IO::Socket::SSL->can_client_sni ? $args->{address} : '';
-    $tls->{SSL_verifycn_scheme} = $args->{tls_ca} ? 'http' : undef;
     $tls->{SSL_verify_mode} //= $args->{tls_ca} ? 0x01 : 0x00;
     $tls->{SSL_verifycn_name} = $args->{address};
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.43/lib/Mojo/Loader.pm 
new/Mojolicious-7.44/lib/Mojo/Loader.pm
--- old/Mojolicious-7.43/lib/Mojo/Loader.pm     2017-07-17 21:07:54.000000000 
+0200
+++ new/Mojolicious-7.44/lib/Mojo/Loader.pm     2017-09-02 14:50:22.000000000 
+0200
@@ -40,11 +40,8 @@
   # Invalid class name
   return 1 if ($class || '') !~ /^\w(?:[\w:']*\w)?$/;
 
-  # Already loaded
-  return undef if $class->can('new');
-
-  # Success
-  eval "require $class; 1" ? return undef : Mojo::Util::_teardown($class);
+  # Load if not already loaded
+  return undef if $class->can('new') || eval "require $class; 1";
 
   # Does not exist
   return 1 if $@ =~ /^Can't locate \Q@{[class_to_path $class]}\E in \@INC/;
@@ -173,7 +170,8 @@
 Load a class and catch exceptions, returns a false value if loading was
 successful, a true value if the class was not found, or a L<Mojo::Exception>
 object if loading failed. Note that classes are checked for a C<new> method to
-see if they are already loaded.
+see if they are already loaded, so trying to load the same class multiple times
+may yield different results.
 
   # Handle exceptions
   if (my $e = load_class 'Foo::Bar') {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.43/lib/Mojo/Reactor.pm 
new/Mojolicious-7.44/lib/Mojo/Reactor.pm
--- old/Mojolicious-7.43/lib/Mojo/Reactor.pm    2017-07-17 21:07:54.000000000 
+0200
+++ new/Mojolicious-7.44/lib/Mojo/Reactor.pm    2017-09-02 15:23:05.000000000 
+0200
@@ -5,12 +5,14 @@
 use Config;
 use Mojo::Loader 'load_class';
 
+my %DETECTED;
+
 sub again { croak 'Method "again" not implemented by subclass' }
 
 sub detect {
   my $default = 'Mojo::Reactor::' . ($Config{d_pseudofork} ? 'Poll' : 'EV');
   my $try = $ENV{MOJO_REACTOR} || $default;
-  return load_class($try) ? 'Mojo::Reactor::Poll' : $try;
+  return $DETECTED{$try} ||= load_class($try) ? 'Mojo::Reactor::Poll' : $try;
 }
 
 sub io         { croak 'Method "io" not implemented by subclass' }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.43/lib/Mojolicious.pm 
new/Mojolicious-7.44/lib/Mojolicious.pm
--- old/Mojolicious-7.43/lib/Mojolicious.pm     2017-08-17 13:15:48.000000000 
+0200
+++ new/Mojolicious-7.44/lib/Mojolicious.pm     2017-08-18 10:25:47.000000000 
+0200
@@ -58,7 +58,7 @@
 has validator => sub { Mojolicious::Validator->new };
 
 our $CODENAME = 'Doughnut';
-our $VERSION  = '7.43';
+our $VERSION  = '7.44';
 
 sub AUTOLOAD {
   my $self = shift;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.43/t/mojo/ioloop.t 
new/Mojolicious-7.44/t/mojo/ioloop.t
--- old/Mojolicious-7.43/t/mojo/ioloop.t        2017-07-19 18:43:26.000000000 
+0200
+++ new/Mojolicious-7.44/t/mojo/ioloop.t        2017-09-02 14:44:47.000000000 
+0200
@@ -9,22 +9,8 @@
 use Mojo::IOLoop::Server;
 use Mojo::IOLoop::Stream;
 
-# Custom reactor
-package MyReactor;
-use Mojo::Base 'Mojo::Reactor::Poll';
-
-package main;
-
-# Reactor detection
-$ENV{MOJO_REACTOR} = 'MyReactorDoesNotExist';
-my $loop = Mojo::IOLoop->new;
-is ref $loop->reactor, 'Mojo::Reactor::Poll', 'right class';
-$ENV{MOJO_REACTOR} = 'MyReactor';
-$loop = Mojo::IOLoop->new;
-is ref $loop->reactor, 'MyReactor', 'right class';
-
 # Defaults
-$loop = Mojo::IOLoop->new;
+my $loop = Mojo::IOLoop->new;
 is $loop->max_connections, 1000, 'right default';
 $loop = Mojo::IOLoop->new(max_connections => 10);
 is $loop->max_connections, 10, 'right value';
@@ -332,7 +318,7 @@
   my $loop = Mojo::IOLoop->new;
   $loop->timer(0 => sub { die 'Bye!' });
   $loop->start;
-  like $err, qr/^MyReactor:.*Bye!/, 'right error';
+  like $err, qr/^Mojo::Reactor::Poll:.*Bye!/, 'right error';
 }
 
 # Defaults
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.43/t/mojo/lib/Mojo/LoaderException.pm 
new/Mojolicious-7.44/t/mojo/lib/Mojo/LoaderException.pm
--- old/Mojolicious-7.43/t/mojo/lib/Mojo/LoaderException.pm     2017-07-17 
21:07:54.000000000 +0200
+++ new/Mojolicious-7.44/t/mojo/lib/Mojo/LoaderException.pm     2017-09-02 
13:50:38.000000000 +0200
@@ -2,6 +2,8 @@
 
 use Mojo::Base -base;
 
+sub new {}
+
 foo {
 
 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.43/t/mojo/loader.t 
new/Mojolicious-7.44/t/mojo/loader.t
--- old/Mojolicious-7.43/t/mojo/loader.t        2017-07-17 21:07:54.000000000 
+0200
+++ new/Mojolicious-7.44/t/mojo/loader.t        2017-09-02 14:24:17.000000000 
+0200
@@ -24,25 +24,20 @@
 my $e = load_class 'Mojo::LoaderException';
 isa_ok $e, 'Mojo::Exception', 'right exception';
 like $e->message, qr/Missing right curly/, 'right message';
-is $e->lines_before->[0][0], 2,                       'right number';
-is $e->lines_before->[0][1], '',                      'right line';
-is $e->lines_before->[1][0], 3,                       'right number';
-is $e->lines_before->[1][1], 'use Mojo::Base -base;', 'right line';
-is $e->lines_before->[2][0], 4,                       'right number';
-is $e->lines_before->[2][1], '',                      'right line';
-is $e->lines_before->[3][0], 5,                       'right number';
-is $e->lines_before->[3][1], 'foo {',                 'right line';
-is $e->lines_before->[4][0], 6,                       'right number';
-is $e->lines_before->[4][1], '',                      'right line';
-is $e->line->[0], 7,    'right number';
+is $e->lines_before->[0][0], 4,            'right number';
+is $e->lines_before->[0][1], '',           'right line';
+is $e->lines_before->[1][0], 5,            'right number';
+is $e->lines_before->[1][1], 'sub new {}', 'right line';
+is $e->lines_before->[2][0], 6,            'right number';
+is $e->lines_before->[2][1], '',           'right line';
+is $e->lines_before->[3][0], 7,            'right number';
+is $e->lines_before->[3][1], 'foo {',      'right line';
+is $e->lines_before->[4][0], 8,            'right number';
+is $e->lines_before->[4][1], '',           'right line';
+is $e->line->[0], 9,    'right number';
 is $e->line->[1], "1;", 'right line';
 like "$e", qr/Missing right curly/, 'right message';
 
-# Exception again
-$e = load_class 'Mojo::LoaderException';
-isa_ok $e, 'Mojo::Exception', 'right exception';
-like $e->message, qr/Attempt to reload/, 'right message';
-
 # Complicated exception
 $e = load_class 'Mojo::LoaderException2';
 isa_ok $e, 'Mojo::Exception', 'right exception';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.43/t/mojo/reactor_detect.t 
new/Mojolicious-7.44/t/mojo/reactor_detect.t
--- old/Mojolicious-7.43/t/mojo/reactor_detect.t        1970-01-01 
01:00:00.000000000 +0100
+++ new/Mojolicious-7.44/t/mojo/reactor_detect.t        2017-09-02 
15:26:35.000000000 +0200
@@ -0,0 +1,33 @@
+use Mojo::Base -strict;
+
+BEGIN { $ENV{MOJO_REACTOR} = 'Mojo::Reactor::Poll' }
+
+use Test::More;
+use Mojo::Reactor::Poll;
+
+# Dummy reactor
+package Mojo::Reactor::Test;
+use Mojo::Base 'Mojo::Reactor::Poll';
+
+package main;
+
+# Detection (success)
+{
+  local $ENV{MOJO_REACTOR} = 'Mojo::Reactor::Test';
+  is(Mojo::Reactor->detect, 'Mojo::Reactor::Test', 'right class');
+}
+
+# Detection (fail)
+{
+  local $ENV{MOJO_REACTOR} = 'Mojo::Reactor::DoesNotExist';
+  is(Mojo::Reactor->detect, 'Mojo::Reactor::Poll', 'right class');
+}
+
+# Event loop detection
+{
+  local $ENV{MOJO_REACTOR} = 'Mojo::Reactor::Test';
+  require Mojo::IOLoop;
+  is ref Mojo::IOLoop->new->reactor, 'Mojo::Reactor::Test', 'right class';
+}
+
+done_testing();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.43/t/mojo/reactor_ev.t 
new/Mojolicious-7.44/t/mojo/reactor_ev.t
--- old/Mojolicious-7.43/t/mojo/reactor_ev.t    2017-07-19 18:36:19.000000000 
+0200
+++ new/Mojolicious-7.44/t/mojo/reactor_ev.t    2017-09-02 14:35:45.000000000 
+0200
@@ -253,18 +253,6 @@
 # Detection
 is(Mojo::Reactor->detect, 'Mojo::Reactor::EV', 'right class');
 
-# Dummy reactor
-package Mojo::Reactor::Test;
-use Mojo::Base 'Mojo::Reactor::Poll';
-
-package main;
-
-# Detection (env)
-{
-  local $ENV{MOJO_REACTOR} = 'Mojo::Reactor::Test';
-  is(Mojo::Reactor->detect, 'Mojo::Reactor::Test', 'right class');
-}
-
 # EV in control
 is ref Mojo::IOLoop->singleton->reactor, 'Mojo::Reactor::EV', 'right object';
 ok !Mojo::IOLoop->is_running, 'loop is not running';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.43/t/mojo/reactor_poll.t 
new/Mojolicious-7.44/t/mojo/reactor_poll.t
--- old/Mojolicious-7.43/t/mojo/reactor_poll.t  2017-07-19 18:36:26.000000000 
+0200
+++ new/Mojolicious-7.44/t/mojo/reactor_poll.t  2017-09-02 14:35:32.000000000 
+0200
@@ -250,18 +250,6 @@
 # Detection
 is(Mojo::Reactor::Poll->detect, 'Mojo::Reactor::Poll', 'right class');
 
-# Dummy reactor
-package Mojo::Reactor::Test;
-use Mojo::Base 'Mojo::Reactor::Poll';
-
-package main;
-
-# Detection (env)
-{
-  local $ENV{MOJO_REACTOR} = 'Mojo::Reactor::Test';
-  is(Mojo::Reactor->detect, 'Mojo::Reactor::Test', 'right class');
-}
-
 # Reactor in control
 is ref Mojo::IOLoop->singleton->reactor, 'Mojo::Reactor::Poll', 'right object';
 ok !Mojo::IOLoop->is_running, 'loop is not running';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.43/t/mojolicious/app.t 
new/Mojolicious-7.44/t/mojolicious/app.t
--- old/Mojolicious-7.43/t/mojolicious/app.t    2017-07-17 21:07:54.000000000 
+0200
+++ new/Mojolicious-7.44/t/mojolicious/app.t    2017-09-02 14:36:57.000000000 
+0200
@@ -599,6 +599,16 @@
 $t->get_ok('/rss.xml')->status_is(200)->content_type_is('application/rss+xml')
   ->content_like(qr!<\?xml version="1.0" encoding="UTF-8"\?><rss />!);
 
+# Missing controller has no side effects
+$t->get_ok('/side_effects-test/index')->status_is(200)
+  ->header_is(Server => 'Mojolicious (Perl)')->content_is('pass');
+$t->get_ok('/side_effects/index')->status_is(404)
+  ->header_is(Server => 'Mojolicious (Perl)');
+$t->get_ok('/side_effects/index')->status_is(404)
+  ->header_is(Server => 'Mojolicious (Perl)');
+$t->get_ok('/side_effects-test/index')->status_is(200)
+  ->header_is(Server => 'Mojolicious (Perl)')->content_is('pass');
+
 # Connection already closed
 eval { Mojolicious::Controller->new->finish };
 like $@, qr/Connection already closed/, 'right error';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mojolicious-7.43/t/mojolicious/lib/MojoliciousTest/SideEffects/Test.pm 
new/Mojolicious-7.44/t/mojolicious/lib/MojoliciousTest/SideEffects/Test.pm
--- old/Mojolicious-7.43/t/mojolicious/lib/MojoliciousTest/SideEffects/Test.pm  
1970-01-01 01:00:00.000000000 +0100
+++ new/Mojolicious-7.44/t/mojolicious/lib/MojoliciousTest/SideEffects/Test.pm  
2017-09-02 14:36:33.000000000 +0200
@@ -0,0 +1,6 @@
+package MojoliciousTest::SideEffects::Test;
+use Mojo::Base 'Mojolicious::Controller';
+
+sub index { shift->render(text => 'pass') }
+
+1;


Reply via email to