delete: $/Dev10/feature/vs_langs01/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/array/delete_tags.txt;C840739
File: delete_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/array/delete_tags.txt;C840739  (server)    6/24/2009 10:14 AM
+++ [no target file]
@@ -1,1 +1,0 @@
-fails:Array#delete removes elements that are #== to object
===================================================================
delete: $/Dev10/feature/vs_langs01/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/array/join_tags.txt;C843177
File: join_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/array/join_tags.txt;C843177  (server)    6/24/2009 10:16 AM
+++ [no target file]
@@ -1,2 +1,0 @@
-critical:Array#join raises a NoMethodError if an element does not respond to
-#tos
===================================================================
delete: $/Dev10/feature/vs_langs01/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/array/multiply_tags.txt;C843177
File: multiply_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/array/multiply_tags.txt;C843177  (server)    6/24/2009 10:16 AM
+++ [no target file]
@@ -1,1 +1,0 @@
-critical:Array#* with a string raises a NoMethodError if an element does not respond to #to_s
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/kernel/system_tags.txt;C840659
File: system_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/kernel/system_tags.txt;C840659  (server)    6/24/2009 4:42 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/kernel/system_tags.txt;bugfixes
@@ -1,7 +1,1 @@
-fails:Kernel#system can run basic things that exist
-fails:Kernel#system returns false when it can't
 fails:Kernel#system does not write to stderr when it can't find a command
-fails:Kernel#system uses /bin/sh if freaky shit is in the command
-fails:Kernel#system is a private method
-fails:Kernel#system expands shell variables when given a single string argument
-fails:Kernel#system does not expand shell variables when given multiples arguments
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/language/private_spec.rb;C840659
File: private_spec.rb
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/language/private_spec.rb;C840659  (server)    6/24/2009 12:28 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/language/private_spec.rb;bugfixes
@@ -57,4 +57,22 @@
     lambda {Private::H.new.foo}.should raise_error(NoMethodError) 
     Private::H.new.send(:foo).should == 'foo'
   end
+
+  it "is overwritten by subclasses" do
+    module Private
+      module ModD
+        include D
+        def foo
+          "foo"
+        end
+      end
+
+      class ClassD
+        include ModD
+      end
+    end
+
+    Private::ClassD.should have_instance_method("foo")
+    Private::ClassD.should_not have_private_instance_method("foo")
+  end
 end
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/library/ftools/copy_spec.rb;C840659
File: copy_spec.rb
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/library/ftools/copy_spec.rb;C840659  (server)    6/24/2009 12:49 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/library/ftools/copy_spec.rb;bugfixes
@@ -3,25 +3,30 @@
 
 describe "File.copy" do
   before(:each) do
-    system "echo 'hello rubinius' > copy_test"
-    system "chmod a+x copy_test"
+    @src = tmp("copy_test")
+    @dest = tmp("copy_test_dest")
+    File.open(@src, "w") {|f| f.puts "hello ruby"}
+    File.chmod(0777, @src)
   end
   
   after(:each) do
-    File.unlink "copy_test"
-    File.unlink "copy_test_dest" rescue nil
+    File.unlink @src
+    File.unlink @dest rescue nil
   end
   
   it "copies the file at 1st arg to the file at 2nd arg" do
-    File.copy("copy_test", "copy_test_dest")
-    fd = File.open("copy_test_dest")
+    File.copy @src, @dest
+    fd = File.open @dest
     data = fd.read
-    data.should == "hello rubinius\n"
+    data.should == "hello ruby\n"
     fd.close
+  end
+
+  it "copies the file mode to the dest file" do
+    File.copy @src, @dest 
+    omode = File.stat(@src).mode
+    mode = File.stat(@dest).mode
     
-    omode = File.stat("copy_test").mode
-    mode = File.stat("copy_test_dest").mode
-    
     omode.should == mode
   end
 end
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/fixtures.generated.cs;C949767
File: fixtures.generated.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/fixtures.generated.cs;C949767  (server)    6/25/2009 11:40 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/fixtures.generated.cs;bugfixes
@@ -1,4 +1,5 @@
 using System;
+using System.Collections;
 using System.Runtime.InteropServices;
 using Microsoft.Scripting.Hosting;
   using IronRuby.Runtime;
@@ -9,7 +10,7 @@
         return arg0;
       }
     }
-#line 37 "./bcl/equality/equality_spec.rb"
+#line 34 "./bcl/equality/equality_spec.rb"
 public static class EqualityChecker {
       public static new bool Equals(object o1, object o2) { return o1.Equals(o2); }
     }
@@ -37,6 +38,20 @@
   public class IComparableProvider {
   
   }
+#line 4 "./bcl/ienumerable/implementation_spec.rb"
+#line 7 "./bcl/ienumerable/implementation_spec.rb"
+public interface ITestList : IEnumerable {
+  }
+
+  public class Tester {
+    public ArrayList Test(ITestList list) {
+      ArrayList l = new ArrayList();
+      foreach(var item in list) {
+        l.Add(item);
+      }
+      return l;
+    }
+  }
 #line 5 "./bcl/numerics/byte_spec.rb"
 public partial class NumericHelper {
     public static int SizeOfByte() {
@@ -252,7 +267,7 @@
     public event EventHandler OnEvent;
   }
   #pragma warning restore 67
-#line 4 "./fields/access_spec.rb"
+#line 5 "./fields/access_spec.rb"
 #pragma warning disable 414
   public partial class ClassWithFields {
     public string field = "field";
@@ -273,7 +288,20 @@
     protected static string protectedStaticField = "protected static";
     protected static readonly string protectedStaticReadOnlyField = "protected static readonly";
   }
-  #pragma warning restore 414
+
+  #pragma warning disable 649
+  public class InternalFieldTester {
+    internal string MyField;
+
+    public InternalFieldTester() {
+      var runtime = ScriptRuntime.CreateFromConfiguration();
+      var engine = runtime.GetEngine("IronRuby");
+      var scope = engine.CreateScope();
+      scope.SetVariable("foo", this);
+      engine.Execute("foo.MyField = 'Hello'", scope);
+    }
+  }
+  #pragma warning restore 414, 649
 #line 4 "./interface/implementation_spec.rb"
 public interface IDoFoo {
       int Foo(string str);
@@ -330,7 +358,7 @@
 
     public interface IInterfaceGroup1<T> {void m1();}
     public interface IInterfaceGroup1<T,V> {void m1();}
-#line 224 "./method/invocation/generic_spec.rb"
+#line 226 "./method/invocation/generic_spec.rb"
 public partial class ClassWithMethods {
         #region private methods
   private string Private1Generic0Arg<T>() {
@@ -459,7 +487,7 @@
     }
 
     public partial class SubKlass : Klass {}
-#line 262 "./method/invocation/generic_spec.rb"
+#line 264 "./method/invocation/generic_spec.rb"
 #pragma warning disable 693
     public partial class GenericClassWithMethods<K> {
       #region private methods
@@ -584,7 +612,7 @@
 
     }
     #pragma warning restore 693
-#line 289 "./method/invocation/generic_spec.rb"
+#line 291 "./method/invocation/generic_spec.rb"
 #pragma warning disable 693
     public partial class GenericClass2Params<K, J> {
       #region private methods
@@ -750,18 +778,18 @@
       protected string ProtectedMethod() {return "protected";}
       private string PrivateMethod() {return "private";}
     }
-#line 39 "./method/reflection_spec.rb"
+#line 59 "./method/reflection_spec.rb"
 public abstract partial class AbstractClassWithMethods {
       public abstract string PublicMethod();
       protected abstract string ProtectedMethod();
     }
-#line 87 "./method/reflection_spec.rb"
+#line 107 "./method/reflection_spec.rb"
 public partial class ClassWithOverloads {
       public string Overloaded() { return "empty"; }
       public string Overloaded(int arg) { return "one arg"; }
       public string Overloaded(int arg1, int arg2) { return "two args"; }
     }
-#line 127 "./method/reflection_spec.rb"
+#line 147 "./method/reflection_spec.rb"
 public partial class Klass{
       public static int StaticVoidMethod() {
         return 1;
@@ -773,6 +801,16 @@
       public static int Bar() { return 1; }
     }
   }
+#line 4 "./ruby/additions/clr_new_spec.rb"
+namespace CLRNew {
+    public class Ctor {
+      public int Tracker {get; set;}
+
+      public Ctor() {
+        Tracker = 1; 
+      }
+    }
+  }
 #line 4 "./ruby/name_mangling/public_spec.rb"
 public class PublicNameHolder {
       public string a() { return "a";}
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/fixtures.generated.dll;C949767
fixtures.generated.dll: files differ
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/A/a.generated.dll;C949767
a.generated.dll: files differ
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/B/b.generated.dll;C949767
b.generated.dll: files differ
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/bcl/equality/equality_spec.rb;C955994
File: equality_spec.rb
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/bcl/equality/equality_spec.rb;C955994  (server)    6/24/2009 10:24 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/bcl/equality/equality_spec.rb;bugfixes
@@ -22,9 +22,6 @@
         def Equals(other) other == :clr_marker end
       end
       
-      # Uncommenting the base type declartion causes an assert since Equatable has a static method as well as instance method
-      # called "Equals", and IronRuby does not deal with this. Since the example will not work anyway until NewTypeMaker is fixed,
-      # we just comment out the base type to prevent a blocking assert from popping up
       class EqualityCheckerSubtype  < Equatable
       end
 
===================================================================
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/bcl/ienumerable/implementation_spec.rb
File: implementation_spec.rb
===================================================================
--- [no source file]
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/bcl/ienumerable/implementation_spec.rb;bugfixes
@@ -1,0 +1,98 @@
+require File.dirname(__FILE__) + '/../../spec_helper'
+
+describe "Implementing IEnumerable from IronRuby" do
+  csc <<-EOL
+  using System.Collections;
+  EOL
+  csc <<-EOL
+  public interface ITestList : IEnumerable {
+  }
+
+  public class Tester {
+    public ArrayList Test(ITestList list) {
+      ArrayList l = new ArrayList();
+      foreach(var item in list) {
+        l.Add(item);
+      }
+      return l;
+    }
+  }
+  EOL
+
+  before(:all) do
+    class TestListFromArray < Array
+      include ITestList
+
+      def get_enumerator
+        clr_member(:get_enumerator).call
+      end
+    end
+
+    class TestList
+      include ITestList
+      def initialize
+        @store = []
+      end
+
+      def get_enumerator
+        TestListEnumerator.new(@store)
+      end
+
+      def <<(val)
+        @store << val
+      end
+
+      class TestListEnumerator
+        include System::Collections::IEnumerator
+        def initialize(list)
+          @list = list
+          @position = -1
+        end
+
+        def move_next
+          @position += 1
+          valid?
+        end
+
+        def reset
+          @position = -1
+        end
+
+        def valid?
+          @position != -1 && @position < @list.length
+        end
+
+        def current
+          if valid?
+            @list[@position]
+          else
+            raise System::InvalidOperationException.new
+          end
+        end
+      end
+    end
+
+    class TestListMissing < Array
+      include ITestList
+    end
+  end
+
+  it "uses the enumerator method defined" do
+    list = TestList.new
+    list << "a"
+    Tester.new.test(list).should include "a"
+  end
+
+  it "uses the enumerator method defined in Array (via clr_member)" do
+    list_a = TestListFromArray.new
+    list_a << "b"
+    Tester.new.test(list_a).should include "b"
+  end
+
+  it "doesn't use Array's get_enumerator" do
+    list = TestListMissing.new
+    list << "c"
+    lambda {Tester.new.test(list)}.should raise_error NoMethodError
+  end
+
+end
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/fields/access_spec.rb;C918509
File: access_spec.rb
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/fields/access_spec.rb;C918509  (server)    6/24/2009 10:42 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/fields/access_spec.rb;bugfixes
@@ -1,4 +1,5 @@
 require File.dirname(__FILE__) + '/../spec_helper'
+require File.dirname(__FILE__) + '/shared/access'
 
 describe "Reading .NET Fields" do
   csc <<-EOL
@@ -22,77 +23,63 @@
     protected static string protectedStaticField = "protected static";
     protected static readonly string protectedStaticReadOnlyField = "protected static readonly";
   }
-  #pragma warning restore 414
+
+  #pragma warning disable 649
+  public class InternalFieldTester {
+    internal string MyField;
+
+    public InternalFieldTester() {
+      var runtime = ScriptRuntime.CreateFromConfiguration();
+      var engine = runtime.GetEngine("IronRuby");
+      var scope = engine.CreateScope();
+      scope.SetVariable("foo", this);
+      engine.Execute("foo.MyField = 'Hello'", scope);
+    }
+  }
+  #pragma warning restore 414, 649
   EOL
   before :each do
     @klass = ClassWithFields.new
   end
 
   describe "works with public" do
-    it "fields" do
-      @klass.field.should equal_clr_string("field")
+    before(:each) do
+      @result = {
+        :field => [:field, "field"],
+        :const_field => [:constField, "const"],
+        :readonly => [:readOnlyField, "readonly"],
+        :static => [:staticField, "static"],
+        :static_ro => [:staticReadOnlyField, "static readonly"]
+      }
     end
-
-    it "const fields" do
-      ClassWithFields.constField.should equal_clr_string("const")
-    end
-
-    it "readonly fields" do
-      @klass.readOnlyField.should equal_clr_string("readonly")
-    end
-
-    it "static fields" do
-      ClassWithFields.staticField.should equal_clr_string("static")
-    end
-
-    it "static readonly fields" do
-      ClassWithFields.staticReadOnlyField.should equal_clr_string("static readonly")
-    end
+    it_behaves_like :accessing_fields, nil
   end
 
   describe "works with protected" do
-    it "fields" do
-      @klass.protectedField.should equal_clr_string("protected field")
+    before(:each) do
+      @result = {
+        :field => [:protectedField, "protected field"],
+        :const_field => [:protectedConstField, "protected const"],
+        :readonly => [:protectedReadOnlyField, "protected readonly"],
+        :static => [:protectedStaticField, "protected static"],
+        :static_ro => [:protectedStaticReadOnlyField, "protected static readonly"]
+      }
     end
-
-    it "const fields" do
-      ClassWithFields.protectedConstField.should equal_clr_string("protected const")
-    end
-
-    it "readonly fields" do
-      @klass.protectedReadOnlyField.should equal_clr_string("protected readonly")
-    end
-
-    it "static fields" do
-      ClassWithFields.protectedStaticField.should equal_clr_string("protected static")
-    end
-
-    it "static readonly fields" do
-      ClassWithFields.protectedStaticReadOnlyField.should equal_clr_string("protected static readonly")
-    end
+    it_behaves_like :accessing_fields, nil
   end
   
   if IronRuby.dlr_config.private_binding
     describe "works with private" do
-      it "fields" do
-        @klass.privateField.should equal_clr_string("private field")
-      end
-
-      it "const fields" do
-        @klass.privateConstField.should equal_clr_string("private const")
-      end
-
-      it "readonly fields" do
-        @klass.privateReadOnlyField.should equal_clr_string("private readonly")
-      end
-
-      it "static fields" do
-        ClassWithFields.privateStaticField.should equal_clr_string("private static")
-      end
-
-      it "static readonly fields" do
-        ClassWithFields.privateStaticReadOnlyField.should equal_clr_string("private static readonly")
-      end
+      before(:each) do
+        @result = {
+          :field => [:privateField, "private field"],
+          :const_field => [:privateConstField, "private const"],
+          :readonly => [:privateReadOnlyField, "private readonly"],
+          :static => [:privateStaticField, "private static"],
+          :static_ro => [:privateStaticReadOnlyField, "private static readonly"]
+        }
+        end
+      it_behaves_like :accessing_fields, nil
     end
   end
 end
@@ -175,5 +162,12 @@
       end
     end
   end
+
+  describe "Internal fields" do
+    #TODO: shared behavior when 1651 is fixed
+    it "can't be assigned from within a IronRuby engine in the constructor" do
+      lambda {InternalFieldTester.new}.should raise_error NoMethodError
+    end
+  end
 end
 
===================================================================
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/fields/shared/access.rb
File: access.rb
===================================================================
--- [no source file]
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/fields/shared/access.rb;bugfixes
@@ -1,0 +1,46 @@
+describe :accessing_fields, :shared => true do
+  it "fields" do
+    @klass.send(@result[:field][0]).should equal_clr_string(@result[:field][1])
+  end
+
+  it "const fields" do
+    ClassWithFields.send(@result[:const_field][0]).should equal_clr_string(@result[:const_field][1])
+  end
+
+  it "readonly fields" do
+    @klass.send(@result[:readonly][0]).should equal_clr_string(@result[:readonly][1])
+  end
+
+  it "static fields" do
+    ClassWithFields.send(@result[:static][0]).should equal_clr_string(@result[:static][1])
+  end
+
+  it "static readonly fields" do
+    ClassWithFields.send(@result[:static_ro][0]).should equal_clr_string(@result[:static_ro][1])
+  end
+end
+
+#TODO:Can't use these shared behaviors due to Codeplex bug #1651
+describe :modifying_fields, :shared => true do
+  it "fields works" do
+    @klass.send("#{@methods[0]}=", "bar")
+    @klass.send(@methods[0]).should equal_clr_string("bar")
+  end
+
+  it "const fields raises NoMethodError" do
+    lambda {ClassWithFields.send("#{@methods[1]}=", "foo")}.should raise_error(NoMethodError)
+  end
+
+  it "readonly fields raises NoMethodError" do
+    lambda {ClassWithFields.send("#{@methods[2]}=", "foo")}.should raise_error(NoMethodError)
+  end
+
+  it "static fields work" do
+    ClassWithFields.send("#{@methods[3]}=", "foo")
+    ClassWithFields.send(@methods[3]).should equal_clr_string("foo")
+  end
+
+  it "static readonly fields raise NoMethodError" do
+    lambda {ClassWithFields.send("#{@methods[4]}=", "foo")}.should raise_error(NoMethodError)
+  end
+end
===================================================================
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/ruby/additions/clr_new_spec.rb
File: clr_new_spec.rb
===================================================================
--- [no source file]
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/ruby/additions/clr_new_spec.rb;bugfixes
@@ -1,0 +1,58 @@
+require File.dirname(__FILE__) + "/../../spec_helper"
+
+describe "Added method clr_new" do
+  csc <<-EOL
+  namespace CLRNew {
+    public class Ctor {
+      public int Tracker {get; set;}
+
+      public Ctor() {
+        Tracker = 1; 
+      }
+    }
+  }
+  EOL
+
+  before(:all) do
+    class CLRNew::Ctor
+      def initialize
+        tracker = 2
+      end
+    end
+  end
+
+
+  it "calls the CLR ctor for a CLR type" do
+    ctor = CLRNew::Ctor.clr_new
+    ctor.should be_kind_of CLRNew::Ctor
+    ctor.tracker.should == 1
+  end
+
+  it "calls the CLR ctor for a subclassed CLR type" do
+    ctor = CLRNew::Ctor.clr_new
+    ctor.should be_kind_of CLRNew::Ctor
+    ctor.tracker.should == 1
+  end
+
+  it "calls the CLR ctor for aliased CLR types" do
+    Array.clr_new.should == []
+    Hash.clr_new.should == {}
+    (Thread.clr_new(System::Threading::ThreadStart.new {})).should be_kind_of Thread
+    IO.clr_new.should be_kind_of IO
+    String.clr_new.should == ""
+    Object.clr_new.should be_kind_of Object
+    Exception.clr_new.should be_kind_of Exception
+    #TODO: All builtins?
+  end
+
+  it "doesn't call any Ruby initializer" do
+    ctor = CLRNew::Ctor.clr_new
+    ctor.tracker.should_not == 2
+  end
+
+  it "raises a TypeError if called on a pure Ruby type" do
+    class Foo;end
+    lambda { Foo.clr_new }.should raise_error TypeError
+    lambda { Numeric.clr_new }.should raise_error TypeError
+  end
+end
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/shared/numeric.rb;C926894
File: numeric.rb
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/shared/numeric.rb;C926894  (server)    6/25/2009 11:44 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/shared/numeric.rb;bugfixes
@@ -1,7 +1,7 @@
 describe "A .NET numeric", :shared => true do
   before(:each) do
     @class = @method
-    @bignum = Bignum.Create(1)
+    @bignum = Bignum.Create(0)
   end
 
   it "can be induced via an int" do
@@ -39,7 +39,7 @@
 describe "A .NET numeric, induceable from Fixnum", :shared => true do
   before(:each) do
     @class = @method
-    @bignum = Bignum.Create(1)
+    @bignum = Bignum.Create(0)
   end
 
   it "can be induced via an int" do
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/typegroup/mapping_spec.rb;C949767
File: mapping_spec.rb
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/typegroup/mapping_spec.rb;C949767  (server)    6/24/2009 10:42 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/typegroup/mapping_spec.rb;bugfixes
@@ -16,7 +16,7 @@
   EOL
   it "maps to a Microsoft::Scripting::Actions::TypeGroup" do
     #MS::Scripting isn't autoloaded when it gets returned from TypeGroup.class
-    require 'microsoft.scripting'
+    load_assembly 'microsoft.scripting'
     [EmptyTypeGroup, EmptyTypeGroup1,
       TypeGroup, TypeGroup1].each do |klass|
         klass.should be_kind_of Microsoft::Scripting::Actions::TypeGroup
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/typegroup/instantiation/nongeneric_spec.rb;C918509
File: nongeneric_spec.rb
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/typegroup/instantiation/nongeneric_spec.rb;C918509  (server)    6/24/2009 10:42 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/net/typegroup/instantiation/nongeneric_spec.rb;bugfixes
@@ -4,6 +4,6 @@
   it "don't cache the class information" do
     c = EmptyTypeGroup.new
     c2 = EmptyTypeGroup1.new
-    c2.should_not be_kind_of EmptyTypeGroup[]
+    c2.should_not be_kind_of EmptyTypeGroup
   end
 end
===================================================================
delete: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/uncategorized_tags.txt;C918509
delete: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/assembly/access/custom_assembly_tags.txt;C918509
File: custom_assembly_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/assembly/access/custom_assembly_tags.txt;C918509  (server)    6/25/2009 11:49 AM
+++ [no target file]
@@ -1,1 +1,0 @@
-fails:Static dependency loading does propagate load exceptions
===================================================================
delete: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/array/conversion_tags.txt;C918509
File: conversion_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/array/conversion_tags.txt;C918509  (server)    6/25/2009 11:49 AM
+++ [no target file]
@@ -1,3 +1,0 @@
-fails:Converting Ruby arrays to .NET arrays properly converts to object array
-fails:Converting Ruby arrays to .NET arrays properly converts to typed array
-fails:Converting Ruby arrays to .NET arrays defaults to conversion to an object array
===================================================================
delete: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/equality/equality_tags.txt;C918509
File: equality_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/equality/equality_tags.txt;C918509  (server)    6/25/2009 11:49 AM
+++ [no target file]
@@ -1,4 +1,0 @@
-fails:Equality maps Object#== to System.Object.Equals for Ruby classes that derive from CLR types
-fails:Equality maps System.Object.Equals to Object#== for Ruby sub-classes
-fails:Equality maps System.Object.Equals to Object#== for Ruby sub-classes with #==
-fails:Equality allows both Object#== and System.Object.Equals to be overriden separately
===================================================================
delete: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/equality/hashing_tags.txt;C918509
File: hashing_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/equality/hashing_tags.txt;C918509  (server)    6/25/2009 11:49 AM
+++ [no target file]
@@ -1,4 +1,0 @@
-fails:Hashing maps Object#hash to System.Object.GetHashCode for Ruby classes that derive from CLR types
-fails:Hashing maps System.Object.GetHashCode to Object#hash for Ruby sub-classes
-fails:Hashing maps System.Object.GetHashCode to Object#hash for Ruby sub-classes with #hash
-fails:Hashing allows both Object#hash and System.Object.GetHashCode to be overriden separately
===================================================================
delete: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/byte_tags.txt;C925140
File: byte_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/byte_tags.txt;C925140  (server)    6/25/2009 11:49 AM
+++ [no target file]
@@ -1,2 +1,0 @@
-fails:System::Byte can be induced from a Bignum
-fails:System::Byte raises a RangeError if out of range for Bignum
===================================================================
delete: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/decimal_tags.txt;C918509
File: decimal_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/decimal_tags.txt;C918509  (server)    6/25/2009 11:49 AM
+++ [no target file]
@@ -1,1 +1,0 @@
-fails:C# decimal numbers should be able to check as equal to Float
===================================================================
delete: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/int16_tags.txt;C925140
File: int16_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/int16_tags.txt;C925140  (server)    6/25/2009 11:49 AM
+++ [no target file]
@@ -1,2 +1,0 @@
-fails:System::Int16 can be induced from a Bignum
-fails:System::Int16 raises a RangeError if out of range for Bignum
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/int64_tags.txt;C925140
File: int64_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/int64_tags.txt;C925140  (server)    6/25/2009 11:49 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/int64_tags.txt;bugfixes
@@ -1,4 +1,2 @@
 fails:System::Int64 can be induced from a Float
-fails:System::Int64 can be induced from a Bignum
 fails:System::Int64 raises a RangeError if out of range for Float
-fails:System::Int64 raises a RangeError if out of range for Bignum
===================================================================
delete: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/sbyte_tags.txt;C925140
File: sbyte_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/sbyte_tags.txt;C925140  (server)    6/25/2009 11:49 AM
+++ [no target file]
@@ -1,2 +1,0 @@
-fails:System::SByte can be induced from a Bignum
-fails:System::SByte raises a RangeError if out of range for Bignum
===================================================================
delete: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/uint16_tags.txt;C925140
File: uint16_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/uint16_tags.txt;C925140  (server)    6/25/2009 11:49 AM
+++ [no target file]
@@ -1,2 +1,0 @@
-fails:System::UInt16 can be induced from a Bignum
-fails:System::UInt16 raises a RangeError if out of range for Bignum
===================================================================
delete: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/uint32_tags.txt;C925140
File: uint32_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/uint32_tags.txt;C925140  (server)    6/25/2009 11:49 AM
+++ [no target file]
@@ -1,2 +1,0 @@
-fails:System::UInt32 can be induced from a Bignum
-fails:System::UInt32 raises a RangeError if out of range for Bignum
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/uint64_tags.txt;C925140
File: uint64_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/uint64_tags.txt;C925140  (server)    6/25/2009 11:49 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/uint64_tags.txt;bugfixes
@@ -1,4 +1,2 @@
 fails:System::UInt64 can be induced from a Float
-fails:System::UInt64 can be induced from a Bignum
 fails:System::UInt64 raises a RangeError if out of range for Float
-fails:System::UInt64 raises a RangeError if out of range for Bignum
===================================================================
delete: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/class/derivation/attribute_tags.txt;C918509
File: attribute_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/class/derivation/attribute_tags.txt;C918509  (server)    6/25/2009 11:49 AM
+++ [no target file]
@@ -1,1 +1,0 @@
-fails:Inheriting from classes with parameter attributes passes on optional constructors to subclasses
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/method/reflection_tags.txt;C918509
File: reflection_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/method/reflection_tags.txt;C918509  (server)    6/25/2009 11:49 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/method/reflection_tags.txt;bugfixes
@@ -1,3 +1,1 @@
-fails:Reflecting on abstract .NET methods should be able to be grabbed as an object after call to #method
-fails:Reflecting on abstract .NET methods are able to be grabbed as an object
 fails:Static .NET methods don't incorrectly get cached when called on an instance
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/method/invocation/generic_tags.txt;C918509
File: generic_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/method/invocation/generic_tags.txt;C918509  (server)    6/25/2009 11:49 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/method/invocation/generic_tags.txt;bugfixes
@@ -1,4 +1,3 @@
+fails:Generic methods on generic classes with 2 parameters has proper errors for constrained generics
+fails:Generic methods on generic classes with 2 parameters can use Ruby types for constrained generics
 fails:Generic methods on generic classes with 2 parameters has proper error messages for skipping generic
-fails:Generic methods on generic classes with 2 parameters has proper error messages for incorrect number of arguments
-fails:Generic methods on generic classes with 2 parameters can use Ruby types for constrained generics
-fails:Generic methods on generic classes with 2 parameters has proper errors for constrained generics
===================================================================
delete: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/method/invocation/overload_tags.txt;C918509
File: overload_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/method/invocation/overload_tags.txt;C918509  (server)    6/25/2009 11:49 AM
+++ [no target file]
@@ -1,1 +1,0 @@
-fails:Selecting .NET overloads correctly reports error message
===================================================================
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/ruby/additions/clr_new_tags.txt
File: clr_new_tags.txt
===================================================================
--- [no source file]
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/ruby/additions/clr_new_tags.txt;bugfixes
@@ -1,0 +1,1 @@
+fails:Added method clr_new raises a TypeError if called on a pure Ruby type
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Scripts/csc.bat;C918509
File: csc.bat
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Scripts/csc.bat;C918509  (server)    6/24/2009 3:00 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Scripts/csc.bat;bugfixes
@@ -1,9 +1,9 @@
 @echo off
 if /i "%*" == "" (
-  @"ruby.exe" "%~dpn0.rb" "%MERLIN_ROOT%\Languages\Ruby\Tests\Interop\net"
+  @"ruby.exe" "-W0" "%~dpn0.rb" "%MERLIN_ROOT%\Languages\Ruby\Tests\Interop\net"
   goto :END
   )
-@"ruby.exe" "%~dpn0.rb" "%*"
+@"ruby.exe" "-W0" "%~dpn0.rb" "%*"
 
 :END
 
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Scripts/RakeTests.rb;C960595
File: RakeTests.rb
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Scripts/RakeTests.rb;C960595  (server)    6/25/2009 11:45 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/Scripts/RakeTests.rb;bugfixes
@@ -26,12 +26,8 @@
 end
 
 class TestFileUtils
-  # Most of these failures are because of http://ironruby.codeplex.com/WorkItem/View.aspx?WorkItemId=1184  resulting in this error:
-  #   NoMethodError: private method `safe_ln' called for #<TestFileUtils::BadLink:0x0002f72 @failure_class=NotImplementedError>
+  #we're not exiting correctly from the ruby method. 
   def test_ruby() end
-  def test_safe_ln_failover_to_cp_on_not_implemented_error() end
-  def test_safe_ln_failover_to_cp_on_standard_error() end
-  def test_safe_ln_fails_on_script_error() end
 end
 
 class TestPathMapExplode
===================================================================
