[#4076] Ruby/DL — Jamis Buck <jamis_buck@...>

I recently used Ruby/DL to create bindings to the SQLite3 embedded

40 messages 2005/01/03
[#4096] Re: Ruby/DL — Paul Brannan <pbrannan@...> 2005/01/04

On Tue, Jan 04, 2005 at 02:53:49AM +0900, Jamis Buck wrote:

[#4099] Re: Ruby/DL — ts <decoux@...> 2005/01/04

>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:

[#4119] Re: Ruby/DL — Paul Brannan <pbrannan@...> 2005/01/05

On Wed, Jan 05, 2005 at 03:05:48AM +0900, ts wrote:

[#4120] Re: Ruby/DL — ts <decoux@...> 2005/01/05

>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:

[#4125] Re: Ruby/DL — Paul Brannan <pbrannan@...> 2005/01/05

On Thu, Jan 06, 2005 at 01:10:34AM +0900, ts wrote:

[#4116] Test::Unit::Collector::Dir won't work with code that modifies $LOAD_PATH — Eric Hodel <drbrain@...7.net>

Any test code that depends upon modifications of $: fails when used

10 messages 2005/01/05

[#4146] The face of Unicode support in the future — Charles O Nutter <headius@...>

Hello Rubyists!

47 messages 2005/01/06
[#4152] Re: The face of Unicode support in the future — Yukihiro Matsumoto <matz@...> 2005/01/07

Hi,

[#4167] Re: The face of Unicode support in the future — Christian Neukirchen <chneukirchen@...> 2005/01/09

Yukihiro Matsumoto <matz@ruby-lang.org> writes:

[#4175] Re: The face of Unicode support in the future — Yukihiro Matsumoto <matz@...> 2005/01/10

Hi,

[#4186] Re: The face of Unicode support in the future — Paul Brannan <pbrannan@...> 2005/01/11

On Mon, Jan 10, 2005 at 11:53:48PM +0900, Yukihiro Matsumoto wrote:

[#4192] Re: The face of Unicode support in the future — Yukihiro Matsumoto <matz@...> 2005/01/12

Hi,

[#4269] Re: The face of Unicode support in the future — Wes Nakamura <wknaka@...>

19 messages 2005/01/18
[#4270] Re: The face of Unicode support in the future — Yukihiro Matsumoto <matz@...> 2005/01/18

Hi,

[#4275] Re: The face of Unicode support in the future — Wes Nakamura <wknaka@...> 2005/01/19

[#4323] test/unit doesn't rescue a Exception — Tanaka Akira <akr@...17n.org>

test/unit doesn't rescue a Exception in a test method, as follows.

14 messages 2005/01/27
[#8773] Re: test/unit doesn't rescue a Exception — Tanaka Akira <akr@...> 2006/09/02

In article <87is5jb46q.fsf@serein.a02.aist.go.jp>,

[#8776] Re: test/unit doesn't rescue a Exception — "Nathaniel Talbott" <ntalbott@...> 2006/09/03

On 9/1/06, Tanaka Akira <akr@fsij.org> wrote:

[#8777] Re: test/unit doesn't rescue a Exception — Eric Hodel <drbrain@...7.net> 2006/09/03

On Sep 2, 2006, at 6:34 PM, Nathaniel Talbott wrote:

Test::Unit::Collector::Dir won't work with code that modifies $LOAD_PATH

From: Eric Hodel <drbrain@...7.net>
Date: 2005-01-05 08:00:00 UTC
List: ruby-core #4116
Any test code that depends upon modifications of $: fails when used 
with test/unit's directory collector.

I discovered this with Rake 0.4.15 (which uses testrb, which invokes 
the directory collector) and Rails.

The dir collector dups $:, then in an ensure, replaces $: with the 
dup'd copy, undoing any changes of $: inside the dir collector.  I have 
two proposed patches, one that deletes only the temporary addition to 
$:, and one that does not delete the temporary addition.

I prefer the "$:.delete_at $:.rindex(dir)" cleanup patch, I think it 
has fewer unintended consequences for the user.



-- 
Eric Hodel - drbrain@segment7.net - http://segment7.net
FEC2 57F1 D465 EB15 5D6E  7C11 332A 551C 796C 9F04

Attachments (3)

dir.rb.dont_cleanup.patch (810 Bytes, text/x-diff)
Index: lib/test/unit/collector/dir.rb
===================================================================
RCS file: /src/ruby/lib/test/unit/collector/dir.rb,v
retrieving revision 1.4.2.1
diff -u -r1.4.2.1 dir.rb
--- lib/test/unit/collector/dir.rb	19 Dec 2004 02:01:59 -0000	1.4.2.1
+++ lib/test/unit/collector/dir.rb	5 Jan 2005 02:24:17 -0000
@@ -75,7 +75,6 @@
         end
 
         def collect_file(name, suites, already_gathered)
-          loadpath = $:.dup
           dir = File.dirname(File.expand_path(name))
           $:.unshift(dir) unless $:.first == dir
           if(@req)
@@ -84,8 +83,6 @@
             require(name)
           end
           find_test_cases(already_gathered).each{|t| add_suite(suites, t.suite)}
-        ensure
-          $:.replace(loadpath)
         end
       end
     end
dir.rb.cleanup.patch (822 Bytes, text/x-diff)
Index: lib/test/unit/collector/dir.rb
===================================================================
RCS file: /src/ruby/lib/test/unit/collector/dir.rb,v
retrieving revision 1.4.2.1
diff -u -r1.4.2.1 dir.rb
--- lib/test/unit/collector/dir.rb	19 Dec 2004 02:01:59 -0000	1.4.2.1
+++ lib/test/unit/collector/dir.rb	5 Jan 2005 04:05:53 -0000
@@ -75,7 +75,6 @@
         end
 
         def collect_file(name, suites, already_gathered)
-          loadpath = $:.dup
           dir = File.dirname(File.expand_path(name))
           $:.unshift(dir) unless $:.first == dir
           if(@req)
@@ -85,7 +84,7 @@
           end
           find_test_cases(already_gathered).each{|t| add_suite(suites, t.suite)}
         ensure
-          $:.replace(loadpath)
+          $:.delete_at $:.rindex(dir)
         end
       end
     end
PGP.sig (186 Bytes, application/pgp-signature)

In This Thread

Prev Next