[#11822] RCR: Input XML support in the base Ruby — Dave Thomas <Dave@...>

15 messages 2001/03/01

[#11960] Not Ruby, for me, for the moment at least — "Michael Kreuzer" <mkreuzer@... (nospam)>

I wrote on this newsgroup last weekend about how I was considering using

11 messages 2001/03/04

[#12023] French RUG ? — "Jerome" <jeromg@...>

Hi fellow rubyers,

16 messages 2001/03/05

[#12103] disassembling and reassembling a hash — raja@... (Raja S.)

Given a hash, h1, will the following always hold?

20 messages 2001/03/06

[#12204] FEATURE REQUEST: 'my' local variables — Leo Razoumov <see_signature@127.0.0.1>

Ruby is, indeed, a very well designed language.

64 messages 2001/03/07
[#12250] Re: FEATURE REQUEST: 'my' local variables — Leo Razoumov <see_signature@127.0.0.1> 2001/03/07

>>>>> "GK" == GOTO Kentaro <gotoken@math.sci.hokudai.ac.jp> writes:

[#12284] Re: FEATURE REQUEST: 'my' local variables — gotoken@... (GOTO Kentaro) 2001/03/08

In message "[ruby-talk:12250] Re: FEATURE REQUEST: 'my' local variables"

[#12289] Re: FEATURE REQUEST: 'my' local variables — matz@... (Yukihiro Matsumoto) 2001/03/08

Hi,

[#12452] Re: FEATURE REQUEST: 'my' local variables — gotoken@... (GOTO Kentaro) 2001/03/12

In message "[ruby-talk:12289] Re: FEATURE REQUEST: 'my' local variables"

[#12553] Re: FEATURE REQUEST: 'my' local variables — Dave Thomas <Dave@...> 2001/03/13

matz@zetabits.com (Yukihiro Matsumoto) writes:

[#12329] Math package — Mathieu Bouchard <matju@...>

18 messages 2001/03/09

[#12330] Haskell goodies, RCR and challenge — Robert Feldt <feldt@...>

Hi,

19 messages 2001/03/09
[#12374] Re: Haskell goodies, RCR and challenge — matz@... (Yukihiro Matsumoto) 2001/03/10

Hi,

[#12349] Can Ruby-GTK display Gif Png or Jpeg files? — Phlip <phlip_cpp@...>

Ruby-san:

20 messages 2001/03/09

[#12444] class variables — Max Ischenko <max@...>

14 messages 2001/03/12

[#12606] Order, chaos, and change requests :) — Dave Thomas <Dave@...>

17 messages 2001/03/14

[#12635] email address regexp — "David Fung" <dfung@...>

i would like to locate probable email addresses in a bunch of text files,

12 messages 2001/03/14

[#12646] police warns you -- Perl is dangerous!! — Leo Razoumov <see_signature@127.0.0.1>

I just read this story on Slashdot

14 messages 2001/03/14
[#12651] Re: police warns you -- Perl is dangerous!! — pete@... (Pete Kernan) 2001/03/14

On 14 Mar 2001 11:46:35 -0800, Leo Razoumov <see_signature@127.0.0.1> wrote:

[#12691] Re: police warns you -- Perl is dangerous!! — "W. Kent Starr" <elderburn@...> 2001/03/15

On Wednesday 14 March 2001 15:40, Pete Kernan wrote:

[#12709] [OFFTOPIC] Re: police warns you -- Perl is dangerous!! — Stephen White <spwhite@...> 2001/03/16

On Fri, 16 Mar 2001, W. Kent Starr wrote:

[#12655] Re: FEATURE REQUEST: 'my' local variables — "Benjamin J. Tilly" <ben_tilly@...>

>===== Original Message From Leo Razoumov <see_signature@127.0.0.1> =====

18 messages 2001/03/14

[#12706] Library packaging — "Nathaniel Talbott" <ntalbott@...>

I have a project that I'm working on that needs to live two different lives,

30 messages 2001/03/16

[#12840] Looking for a decent compression scheme — Dave Thomas <Dave@...>

14 messages 2001/03/19

[#12895] differences between range and array — "Doug Edmunds" <dae_alt3@...>

This code comes from the online code examples for

16 messages 2001/03/20
[#12896] Re: differences between range and array — "Hee-Sob Park" <phasis@...> 2001/03/20

[#12899] Re: differences between range and array — Jim Freeze <jim@...> 2001/03/20

On Tue, 20 Mar 2001, Hee-Sob Park wrote:

[#12960] TextBox ListBox — Ron Jeffries <ronjeffries@...>

Attached is a little Spike that Chet and I are doing. It is a

13 messages 2001/03/20

[#12991] [ANN] Lapidary 0.2.0 — "Nathaniel Talbott" <ntalbott@...>

Well, here's my first major contribution to the Ruby world: Lapidary. It's a

16 messages 2001/03/20

[#13028] mkmf question — Luigi Ballabio <luigi.ballabio@...>

15 messages 2001/03/21

[#13185] Reading a file backwards — "Daniel Berger" <djberg96@...>

Hi all,

21 messages 2001/03/25
[#13197] Re: Reading a file backwards — "Daniel Berger" <djberg96@...> 2001/03/25

> Hi Dan,

[#13203] Re: Reading a file backwards — Mathieu Bouchard <matju@...> 2001/03/25

On Sun, 25 Mar 2001, Daniel Berger wrote:

[#13210] Re: Reading a file backwards — "Daniel Berger" <djberg96@...> 2001/03/25

"Mathieu Bouchard" <matju@sympatico.ca> wrote in message

[#13374] Passing an array to `exec'? — Lloyd Zusman <ljz@...>

I'd like to do the following:

15 messages 2001/03/31

[#13397] Multidimensional arrays and hashes? — Lloyd Zusman <ljz@...>

Is it possible in ruby to make use of constructs that correspond to

14 messages 2001/03/31

[ruby-talk:13303] Reloading files

From: "Nathaniel Talbott" <ntalbott@...>
Date: 2001-03-29 02:52:51 UTC
List: ruby-talk #13303
First of all, a confession: Lapidary's GTK::TestRunner had a show stopper
bug in it in the first release (a fix is in CVS). However, since nobody's
complained about it, I'm guessing most people aren't using it, probably
because it's not currently very useful. This is because you have to kill it
each time you modify any code and then start it up again, which certainly
outweighs the benefits of having a green (or red) bar. The reason the bug
made it out into the wild is that _I_ haven't been using it for exactly that
reason.

So, the question is, how can it be made to reload changed (or, to keep it
simple, all) test and fixture code? I have a few ideas, but I'd like to run
it by everybody first to see if they're feasible.

1) Establish a baseline by letting Lapidary load and then taking a snapshot
of the system. I'm thinking this might best be done by having Lapidary
required through one entry point, i.e. you'd only need to require the
TestRunner you want to use, and it would load all of the framework classes.
If you required Console::TestRunner, no problem, it would just require
everything and go on. If, OTOH, you required GTK::TestRunner, it would
require all of the Lapidary files, set itself up, and then store the current
state of the system so that it would know what not to mess with when
reloading.

2) Track requires so that they can be reloaded. I think the best way to do
this is to override Kernel#require() in Lapidary, and have it Kernel#load()
and store requires into a Lapidary-specific require global. This way, we end
up with a mutable require global, and we can strip it back down to the bare
minimum before reloading. Is there a better way to do this? Also, there
might be a problem with any programs that depend on the current require
functionality; is there a way to insulate them from harm?

3) Store the initial state of system classes. Because it is very handy to
mess around with system classes within programs, it's very possible that
they will be modified, and we need a way to restore them to their original
state before reloading the test. The only way I can think to do this is to
dup (clone?) the classes in the system, and store them in a hash keyed to
their original name. I'll get to restoring them in a minute.

4) When running a test the second time, remove all newly added classes in
the system before requiring. I think this can be done by going through
ObjectSpace and doing a remove_const on them all. We need to do this because
we want fresh copies of all the classes defined by the test, as opposed to
just imperfectly overwriting their current state. Will this work?

5) Restore system classes to their saved state, by reassigning their
constant to the saved duplicate in the map. Now, we should be back at the
state we were at during the first run. Of course, this will cause a lot of
constant warnings, but I don't know how to avoid that. Now the only thing to
do is...

6) Re-require the originally required files and re-run the test.


Will this work? My biggest fear is that due to the extremely dynamic nature
of Ruby I may be missing a fatal flaw. Also, is there a better way to go
about this?

If we can get something like this to work, it will allow a persistent test
window where you can just click Run every time you want to see if you've
broken something, which would be a beautiful thing.

Thanks for the help,


Nathaniel

<:((><
+ - -						+ - -
| RoleModel Software, Inc. &		| EQUIP VI
| The XP Software Studio(TM)		|

In This Thread

Prev Next