reassign 501408 libruby1.9
tags 501408 + patch
thanks

On 12/10/08 at 23:47 +0100, Adam D. Barratt wrote:
> Hi,
> 
> On Tue, 2008-10-07 at 10:29 +0200, Lucas Nussbaum wrote:
> > Package: libnet-netrc-ruby
> > Version: 0.2.1-1.1
> > Severity: serious
> > User: [EMAIL PROTECTED]
> > Usertags: qa-ftbfs-20081006 qa-ftbfs
> > Justification: FTBFS on i386
> > 
> > Hi,
> > 
> > During a rebuild of all packages in a lenny chroot, your package failed
> > to build on i386.
> 
> I can't reproduce the failure using freshly built pbuilders for
> lenny/amd64 or lenny/i386 (with an amd64 host system).

Surprising ; I can.

Apparently, in ruby1.9, $0 is frozen, but is modified by
/usr/lib/ruby/1.9.0/test/unit/ui/console/testrunner.rb.

The bug is easily reproducible by running any test suite using ruby 1.9.

Upstream r17612 seems to fix the bug with the attached patch.
-- 
| Lucas Nussbaum
| [EMAIL PROTECTED]   http://www.lucas-nussbaum.net/ |
| jabber: [EMAIL PROTECTED]             GPG: 1024D/023B3F4F |
commit d6172cfdf6e7806c177b8674f57674f7817336c1
Author: nobu <[EMAIL PROTECTED]>
Date:   Fri Jun 27 12:19:11 2008 +0000

    * test/inlinetest.rb (InlineTest.in_progname): workaround for frozen
      $0.  [ruby-dev:35261]
    
    * lib/test/unit/ui/console/testrunner.rb (TestRunner#finished): ditto.
    
    
    git-svn-id: http://svn.ruby-lang.org/repos/ruby/[EMAIL PROTECTED] b2dd03c8-39d4-4d8f-98ff-823fe69b080e

diff --git a/ChangeLog b/ChangeLog
index d8c7b6e..96ea8c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Fri Jun 27 21:19:08 2008  Nobuyoshi Nakada  <[EMAIL PROTECTED]>
+
+	* test/inlinetest.rb (InlineTest.in_progname): workaround for frozen
+	  $0.  [ruby-dev:35261]
+
+	* lib/test/unit/ui/console/testrunner.rb (TestRunner#finished): ditto.
+
 Fri Jun 27 17:45:17 2008  Kazuhiro NISHIYAMA  <[EMAIL PROTECTED]>
 
 	* lib/erb.rb: adjust line number for magic comment.
diff --git a/lib/test/unit/ui/console/testrunner.rb b/lib/test/unit/ui/console/testrunner.rb
index 2bd01ee..1495300 100644
--- a/lib/test/unit/ui/console/testrunner.rb
+++ b/lib/test/unit/ui/console/testrunner.rb
@@ -90,8 +90,11 @@ module Test
           end
           
           def test_started(name)
-            $0 += "\0#{name}"
-            $0.sub!(/\0.*\z/, '')
+            unless defined? $program_name
+              $program_name = $0
+              alias $0 $program_name
+            end
+            $PROGRAM_NAME += "\0#{name}"
             output_single(name + ": ", VERBOSE)
           end
           
diff --git a/test/inlinetest.rb b/test/inlinetest.rb
index 6dbd793..4628736 100644
--- a/test/inlinetest.rb
+++ b/test/inlinetest.rb
@@ -33,12 +33,12 @@ module InlineTest
   end
 
   def self.in_progname(progname)
-    progname_backup = $0.dup
-    $0.replace(progname)
+    $program_name = progname
+    alias $0 $program_name
     begin
       yield
     ensure
-      $0.replace(progname_backup)
+      alias $0 $PROGRAM_NAME
     end
   end
 

Reply via email to