[Ironruby-core] Code Review: mspec-12

John Lam (IRONRUBY) jflam at microsoft.com
Thu Jun 26 23:13:28 EDT 2008


Thanks for the catches.

I'm leaving initialize= as public. I think that it's likely a bug that attr_accessor :initialize actually runs (Charlie actually agrees with this). I'll leave this as is for the time being and open a bug for us to resolve down the road.

Yaml.Initializers is empty -- strange. I reverted the change, but there's currently a bug in how ClassInitGenerator generates the code for Yaml.Initializers. I believe Oleg manually edited to fix the change? I've also updated the Rakefile to generate the initializers for YAML.

I have no idea where the crap that's in IronRuby.Tests.csproj came from - I've reverted that change too.

Thanks,
-John


> -----Original Message-----
> From: Tomas Matousek
> Sent: Thursday, June 26, 2008 4:47 PM
> To: John Lam (IRONRUBY); IronRuby External Code Reviewers
> Cc: ironruby-core at rubyforge.org
> Subject: RE: Code Review: mspec-12
>
> 1) There is some garbage in IronRuby.Tests.csproj.
>
> 2) Kernel#printf:
> It shouldn't look-up $stdin variable by name. Instead,
> RbExecContext.StandardOutput should be used. Also "write" should be
> invoked dynamically.
>
> $a = []
> class << $stdout
>   def write *args
>     $a << args
>   end
> end
>
> alias $stdout $foo
> printf("%d %d", 1, 2)
>
> class << STDOUT
>   remove_method :write
> end
>
> p $a
>
> 3)
> class Foo
>   attr_accessor :initialize
> end
>
> p Foo.private_instance_methods(false)
> p Foo.public_instance_methods(false)
>
> ["initialize"]
> ["initialize="]
>
> Attribute setter is not private.
>
> 4) Yaml initializers shouldn't be empty.
>
> Tomas
>
>
> -----Original Message-----
> From: John Lam (IRONRUBY)
> Sent: Thursday, June 26, 2008 3:54 PM
> To: IronRuby External Code Reviewers
> Cc: ironruby-core at rubyforge.org
> Subject: Code Review: mspec-12
>
> tfpt review "/shelveset:mspec-12;REDMOND\jflam"
>
> Fixes to enable RubySpecs running in SNAP
>
>   - Implementation of Kernel#exec
>   - Fixes bugs in Kernel#exit! - calling incorrect overload
>   - Implementation of Kernel#printf
>   - Fixes bug in setting visibility of methods defined through attr_*
> methods (now public)
>   - Adds overloads for File#open to handle name, modenum case and fixes
> a big in how IO#open was delegating to File constructors
>   - Defines a FileTestOps class (does nothing right now)
>   - Adds a Process#euid method that always returns 0 (need to
> understand whether detecting admin under windows is possible /
> realistic using this method)
>   - Adds a RUBY_PATCHLEVEL constant and sets it to 0
>   - Fixes bug in exit n where we were failing to return n as exit code
>   - Added a new RubyTestKey.snk which just contains our public key - in
> preparation for removing transform for SIGNED in to_svn rake task
>   - A few baseline exclusion changes for existing specs
>



More information about the Ironruby-core mailing list