<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>Merlin/Main/Languages/Ruby/Scripts/license_check.rb</filename>
    </added>
    <added>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/net/bcl/ienumerable/implementation_spec.rb</filename>
    </added>
    <added>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/net/fields/shared/access.rb</filename>
    </added>
    <added>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/net/ruby/additions/clr_new_spec.rb</filename>
    </added>
    <added>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/ruby/additions/clr_new_tags.txt</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,7 +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</diff>
      <filename>Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/kernel/system_tags.txt</filename>
    </modified>
    <modified>
      <diff>@@ -57,4 +57,22 @@ describe &quot;The private keyword&quot; do
     lambda {Private::H.new.foo}.should raise_error(NoMethodError) 
     Private::H.new.send(:foo).should == 'foo'
   end
+
+  it &quot;is overwritten by subclasses&quot; do
+    module Private
+      module ModD
+        include D
+        def foo
+          &quot;foo&quot;
+        end
+      end
+
+      class ClassD
+        include ModD
+      end
+    end
+
+    Private::ClassD.should have_instance_method(&quot;foo&quot;)
+    Private::ClassD.should_not have_private_instance_method(&quot;foo&quot;)
+  end
 end</diff>
      <filename>Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/language/private_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,24 +3,29 @@ require 'ftools'
 
 describe &quot;File.copy&quot; do
   before(:each) do
-    system &quot;echo 'hello rubinius' &gt; copy_test&quot;
-    system &quot;chmod a+x copy_test&quot;
+    @src = tmp(&quot;copy_test&quot;)
+    @dest = tmp(&quot;copy_test_dest&quot;)
+    File.open(@src, &quot;w&quot;) {|f| f.puts &quot;hello ruby&quot;}
+    File.chmod(0777, @src)
   end
   
   after(:each) do
-    File.unlink &quot;copy_test&quot;
-    File.unlink &quot;copy_test_dest&quot; rescue nil
+    File.unlink @src
+    File.unlink @dest rescue nil
   end
   
   it &quot;copies the file at 1st arg to the file at 2nd arg&quot; do
-    File.copy(&quot;copy_test&quot;, &quot;copy_test_dest&quot;)
-    fd = File.open(&quot;copy_test_dest&quot;)
+    File.copy @src, @dest
+    fd = File.open @dest
     data = fd.read
-    data.should == &quot;hello rubinius\n&quot;
+    data.should == &quot;hello ruby\n&quot;
     fd.close
-    
-    omode = File.stat(&quot;copy_test&quot;).mode
-    mode = File.stat(&quot;copy_test_dest&quot;).mode
+  end
+
+  it &quot;copies the file mode to the dest file&quot; do
+    File.copy @src, @dest 
+    omode = File.stat(@src).mode
+    mode = File.stat(@dest).mode
     
     omode.should == mode
   end</diff>
      <filename>Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/library/ftools/copy_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,16 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 require 'PresentationCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'</diff>
      <filename>Merlin/Main/Languages/Ruby/Libs/PresentationCore.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,16 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 require 'PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'</diff>
      <filename>Merlin/Main/Languages/Ruby/Libs/PresentationFramework.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,16 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 require 'System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'</diff>
      <filename>Merlin/Main/Languages/Ruby/Libs/System.Data.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,16 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 require 'System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'</diff>
      <filename>Merlin/Main/Languages/Ruby/Libs/System.Drawing.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,16 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 require &quot;System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;</diff>
      <filename>Merlin/Main/Languages/Ruby/Libs/System.Windows.Forms.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,16 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 require &quot;WindowsBase, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</diff>
      <filename>Merlin/Main/Languages/Ruby/Libs/WindowsBase.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,17 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
+
 # No-op file since we won't support this under Windows</diff>
      <filename>Merlin/Main/Languages/Ruby/Libs/etc.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,18 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 #placeholder for either throwing an error, or implementing a readline library
 #the basics here are just to past specs
 class Prime</diff>
      <filename>Merlin/Main/Languages/Ruby/Libs/prime.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,16 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 #placeholder for either throwing an error, or implementing a readline library</diff>
      <filename>Merlin/Main/Languages/Ruby/Libs/syslog.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,18 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 require 'WindowsBase'
 require 'PresentationCore'
 require 'PresentationFramework'</diff>
      <filename>Merlin/Main/Languages/Ruby/Samples/DiskUse/app.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,18 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 include System
 include System::Windows
 </diff>
      <filename>Merlin/Main/Languages/Ruby/Samples/DiskUse/dialog_util.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,18 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 include System::IO
 
 class DiskFile</diff>
      <filename>Merlin/Main/Languages/Ruby/Samples/DiskUse/file_struct.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,18 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 require 'dialog_util'
 require 'file_struct'
 include System</diff>
      <filename>Merlin/Main/Languages/Ruby/Samples/DiskUse/renderers.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,18 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 require 'file_struct'
 require 'renderers'
 require 'dialog_util'</diff>
      <filename>Merlin/Main/Languages/Ruby/Samples/DiskUse/ui_logic.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,16 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 require 'System.Management.Automation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'</diff>
      <filename>Merlin/Main/Languages/Ruby/Samples/IRPowerShell/System.Management.Automation.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,18 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 require 'System.Management.Automation'
 include System::Management::Automation
 </diff>
      <filename>Merlin/Main/Languages/Ruby/Samples/IRPowerShell/minsysreq.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,18 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 require 'powershell'
 
 </diff>
      <filename>Merlin/Main/Languages/Ruby/Samples/IRPowerShell/minsysreq_ps.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,18 @@
+# ****************************************************************************
+#
+# Copyright (c) Microsoft Corporation. 
+#
+# This source code is subject to terms and conditions of the Microsoft Public License. A 
+# copy of the license can be found in the License.html file at the root of this distribution. If 
+# you cannot locate the  Microsoft Public License, please send an email to 
+# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+# by the terms of the Microsoft Public License.
+#
+# You must not remove this notice, or any other, from this software.
+#
+#
+# ****************************************************************************
+
 require 'tutorial'
 
 # TryRuby tutorial, adapted from http://tryruby.hobix.com</diff>
      <filename>Merlin/Main/Languages/Ruby/Samples/Tutorial/Tutorials/tryruby_tutorial.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,19 @@
-&#65279;using System;
+&#65279;/* ****************************************************************************
+ *
+ * Copyright (c) Microsoft Corporation. 
+ *
+ * This source code is subject to terms and conditions of the Microsoft Public License. A 
+ * copy of the license can be found in the License.html file at the root of this distribution. If 
+ * you cannot locate the  Microsoft Public License, please send an email to 
+ * ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+ * by the terms of the Microsoft Public License.
+ *
+ * You must not remove this notice, or any other, from this software.
+ *
+ *
+ * ***************************************************************************/
+
+using System;
 using System.Collections.Generic;
 using System.Configuration;
 using System.Data;
@@ -13,4 +28,4 @@ namespace Tutorial
 	public partial class App : Application
 	{
 	}
-}
\ No newline at end of file
+}</diff>
      <filename>Merlin/Main/Languages/Ruby/Samples/Tutorial/design/Tutorial/App.xaml.cs</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,19 @@
-&#65279;using System;
+&#65279;/* ****************************************************************************
+ *
+ * Copyright (c) Microsoft Corporation. 
+ *
+ * This source code is subject to terms and conditions of the Microsoft Public License. A 
+ * copy of the license can be found in the License.html file at the root of this distribution. If 
+ * you cannot locate the  Microsoft Public License, please send an email to 
+ * ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+ * by the terms of the Microsoft Public License.
+ *
+ * You must not remove this notice, or any other, from this software.
+ *
+ *
+ * ***************************************************************************/
+
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -25,4 +40,4 @@ namespace Tutorial
 			// Insert code required on object creation below this point.
 		}
 	}
-}
\ No newline at end of file
+}</diff>
      <filename>Merlin/Main/Languages/Ruby/Samples/Tutorial/design/Tutorial/MainWindow.xaml.cs</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,19 @@
-&#65279;using System.Reflection;
+&#65279;/* ****************************************************************************
+ *
+ * Copyright (c) Microsoft Corporation. 
+ *
+ * This source code is subject to terms and conditions of the Microsoft Public License. A 
+ * copy of the license can be found in the License.html file at the root of this distribution. If 
+ * you cannot locate the  Microsoft Public License, please send an email to 
+ * ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+ * by the terms of the Microsoft Public License.
+ *
+ * You must not remove this notice, or any other, from this software.
+ *
+ *
+ * ***************************************************************************/
+
+using System.Reflection;
 using System.Resources;
 using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;</diff>
      <filename>Merlin/Main/Languages/Ruby/Samples/Tutorial/design/Tutorial/Properties/AssemblyInfo.cs</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,19 @@
-&#65279;using System;
+&#65279;/* ****************************************************************************
+ *
+ * Copyright (c) Microsoft Corporation. 
+ *
+ * This source code is subject to terms and conditions of the Microsoft Public License. A 
+ * copy of the license can be found in the License.html file at the root of this distribution. If 
+ * you cannot locate the  Microsoft Public License, please send an email to 
+ * ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+ * by the terms of the Microsoft Public License.
+ *
+ * You must not remove this notice, or any other, from this software.
+ *
+ *
+ * ***************************************************************************/
+
+using System;
 using System.Collections.Generic;
 using System.Text;
 using System.Windows;
@@ -23,4 +38,4 @@ namespace Tutorial
 			this.InitializeComponent();
 		}
 	}
-}
\ No newline at end of file
+}</diff>
      <filename>Merlin/Main/Languages/Ruby/Samples/Tutorial/design/Tutorial/StepControl.xaml.cs</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,19 @@
-&#65279;using System;
+&#65279;/* ****************************************************************************
+ *
+ * Copyright (c) Microsoft Corporation. 
+ *
+ * This source code is subject to terms and conditions of the Microsoft Public License. A 
+ * copy of the license can be found in the License.html file at the root of this distribution. If 
+ * you cannot locate the  Microsoft Public License, please send an email to 
+ * ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
+ * by the terms of the Microsoft Public License.
+ *
+ * You must not remove this notice, or any other, from this software.
+ *
+ *
+ * ***************************************************************************/
+
+using System;
 using System.Collections.Generic;
 using System.Text;
 using System.Windows;
@@ -23,4 +38,4 @@ namespace Tutorial
 			this.InitializeComponent();
 		}
 	}
-}
\ No newline at end of file
+}</diff>
      <filename>Merlin/Main/Languages/Ruby/Samples/Tutorial/design/Tutorial/TutorialControl.xaml.cs</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/net/A/a.generated.dll</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/net/B/b.generated.dll</filename>
    </modified>
    <modified>
      <diff>@@ -22,9 +22,6 @@ describe &quot;Equality&quot; do
         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 &quot;Equals&quot;, 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  &lt; Equatable
       end
 </diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/net/bcl/equality/equality_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,5 @@
 require File.dirname(__FILE__) + '/../spec_helper'
+require File.dirname(__FILE__) + '/shared/access'
 
 describe &quot;Reading .NET Fields&quot; do
   csc &lt;&lt;-EOL
@@ -22,77 +23,63 @@ describe &quot;Reading .NET Fields&quot; do
     protected static string protectedStaticField = &quot;protected static&quot;;
     protected static readonly string protectedStaticReadOnlyField = &quot;protected static readonly&quot;;
   }
-  #pragma warning restore 414
+
+  #pragma warning disable 649
+  public class InternalFieldTester {
+    internal string MyField;
+
+    public InternalFieldTester() {
+      var runtime = ScriptRuntime.CreateFromConfiguration();
+      var engine = runtime.GetEngine(&quot;IronRuby&quot;);
+      var scope = engine.CreateScope();
+      scope.SetVariable(&quot;foo&quot;, this);
+      engine.Execute(&quot;foo.MyField = 'Hello'&quot;, scope);
+    }
+  }
+  #pragma warning restore 414, 649
   EOL
   before :each do
     @klass = ClassWithFields.new
   end
 
   describe &quot;works with public&quot; do
-    it &quot;fields&quot; do
-      @klass.field.should equal_clr_string(&quot;field&quot;)
-    end
-
-    it &quot;const fields&quot; do
-      ClassWithFields.constField.should equal_clr_string(&quot;const&quot;)
-    end
-
-    it &quot;readonly fields&quot; do
-      @klass.readOnlyField.should equal_clr_string(&quot;readonly&quot;)
-    end
-
-    it &quot;static fields&quot; do
-      ClassWithFields.staticField.should equal_clr_string(&quot;static&quot;)
-    end
-
-    it &quot;static readonly fields&quot; do
-      ClassWithFields.staticReadOnlyField.should equal_clr_string(&quot;static readonly&quot;)
-    end
+    before(:each) do
+      @result = {
+        :field =&gt; [:field, &quot;field&quot;],
+        :const_field =&gt; [:constField, &quot;const&quot;],
+        :readonly =&gt; [:readOnlyField, &quot;readonly&quot;],
+        :static =&gt; [:staticField, &quot;static&quot;],
+        :static_ro =&gt; [:staticReadOnlyField, &quot;static readonly&quot;]
+      }
+    end
+    it_behaves_like :accessing_fields, nil
   end
 
   describe &quot;works with protected&quot; do
-    it &quot;fields&quot; do
-      @klass.protectedField.should equal_clr_string(&quot;protected field&quot;)
-    end
-
-    it &quot;const fields&quot; do
-      ClassWithFields.protectedConstField.should equal_clr_string(&quot;protected const&quot;)
-    end
-
-    it &quot;readonly fields&quot; do
-      @klass.protectedReadOnlyField.should equal_clr_string(&quot;protected readonly&quot;)
-    end
-
-    it &quot;static fields&quot; do
-      ClassWithFields.protectedStaticField.should equal_clr_string(&quot;protected static&quot;)
-    end
-
-    it &quot;static readonly fields&quot; do
-      ClassWithFields.protectedStaticReadOnlyField.should equal_clr_string(&quot;protected static readonly&quot;)
-    end
+    before(:each) do
+      @result = {
+        :field =&gt; [:protectedField, &quot;protected field&quot;],
+        :const_field =&gt; [:protectedConstField, &quot;protected const&quot;],
+        :readonly =&gt; [:protectedReadOnlyField, &quot;protected readonly&quot;],
+        :static =&gt; [:protectedStaticField, &quot;protected static&quot;],
+        :static_ro =&gt; [:protectedStaticReadOnlyField, &quot;protected static readonly&quot;]
+      }
+    end
+    it_behaves_like :accessing_fields, nil
   end
   
   if IronRuby.dlr_config.private_binding
     describe &quot;works with private&quot; do
-      it &quot;fields&quot; do
-        @klass.privateField.should equal_clr_string(&quot;private field&quot;)
-      end
-
-      it &quot;const fields&quot; do
-        @klass.privateConstField.should equal_clr_string(&quot;private const&quot;)
-      end
-
-      it &quot;readonly fields&quot; do
-        @klass.privateReadOnlyField.should equal_clr_string(&quot;private readonly&quot;)
-      end
-
-      it &quot;static fields&quot; do
-        ClassWithFields.privateStaticField.should equal_clr_string(&quot;private static&quot;)
-      end
-
-      it &quot;static readonly fields&quot; do
-        ClassWithFields.privateStaticReadOnlyField.should equal_clr_string(&quot;private static readonly&quot;)
-      end
+      before(:each) do
+        @result = {
+          :field =&gt; [:privateField, &quot;private field&quot;],
+          :const_field =&gt; [:privateConstField, &quot;private const&quot;],
+          :readonly =&gt; [:privateReadOnlyField, &quot;private readonly&quot;],
+          :static =&gt; [:privateStaticField, &quot;private static&quot;],
+          :static_ro =&gt; [:privateStaticReadOnlyField, &quot;private static readonly&quot;]
+        }
+        end
+      it_behaves_like :accessing_fields, nil
     end
   end
 end
@@ -175,5 +162,12 @@ describe &quot;Setting .NET Fields&quot; do
       end
     end
   end
+
+  describe &quot;Internal fields&quot; do
+    #TODO: shared behavior when 1651 is fixed
+    it &quot;can't be assigned from within a IronRuby engine in the constructor&quot; do
+      lambda {InternalFieldTester.new}.should raise_error NoMethodError
+    end
+  end
 end
 </diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/net/fields/access_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,5 @@
 using System;
+using System.Collections;
 using System.Runtime.InteropServices;
 using Microsoft.Scripting.Hosting;
   using IronRuby.Runtime;
@@ -9,7 +10,7 @@ public partial class Klass {
         return arg0;
       }
     }
-#line 37 &quot;./bcl/equality/equality_spec.rb&quot;
+#line 34 &quot;./bcl/equality/equality_spec.rb&quot;
 public static class EqualityChecker {
       public static new bool Equals(object o1, object o2) { return o1.Equals(o2); }
     }
@@ -37,6 +38,20 @@ public class IComparableConsumer {
   public class IComparableProvider {
   
   }
+#line 4 &quot;./bcl/ienumerable/implementation_spec.rb&quot;
+#line 7 &quot;./bcl/ienumerable/implementation_spec.rb&quot;
+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 &quot;./bcl/numerics/byte_spec.rb&quot;
 public partial class NumericHelper {
     public static int SizeOfByte() {
@@ -252,7 +267,7 @@ public class ClassWithEvents {
     public event EventHandler OnEvent;
   }
   #pragma warning restore 67
-#line 4 &quot;./fields/access_spec.rb&quot;
+#line 5 &quot;./fields/access_spec.rb&quot;
 #pragma warning disable 414
   public partial class ClassWithFields {
     public string field = &quot;field&quot;;
@@ -273,7 +288,20 @@ public class ClassWithEvents {
     protected static string protectedStaticField = &quot;protected static&quot;;
     protected static readonly string protectedStaticReadOnlyField = &quot;protected static readonly&quot;;
   }
-  #pragma warning restore 414
+
+  #pragma warning disable 649
+  public class InternalFieldTester {
+    internal string MyField;
+
+    public InternalFieldTester() {
+      var runtime = ScriptRuntime.CreateFromConfiguration();
+      var engine = runtime.GetEngine(&quot;IronRuby&quot;);
+      var scope = engine.CreateScope();
+      scope.SetVariable(&quot;foo&quot;, this);
+      engine.Execute(&quot;foo.MyField = 'Hello'&quot;, scope);
+    }
+  }
+  #pragma warning restore 414, 649
 #line 4 &quot;./interface/implementation_spec.rb&quot;
 public interface IDoFoo {
       int Foo(string str);
@@ -750,18 +778,18 @@ public partial class ClassWithMethods {
       protected string ProtectedMethod() {return &quot;protected&quot;;}
       private string PrivateMethod() {return &quot;private&quot;;}
     }
-#line 39 &quot;./method/reflection_spec.rb&quot;
+#line 59 &quot;./method/reflection_spec.rb&quot;
 public abstract partial class AbstractClassWithMethods {
       public abstract string PublicMethod();
       protected abstract string ProtectedMethod();
     }
-#line 87 &quot;./method/reflection_spec.rb&quot;
+#line 107 &quot;./method/reflection_spec.rb&quot;
 public partial class ClassWithOverloads {
       public string Overloaded() { return &quot;empty&quot;; }
       public string Overloaded(int arg) { return &quot;one arg&quot;; }
       public string Overloaded(int arg1, int arg2) { return &quot;two args&quot;; }
     }
-#line 127 &quot;./method/reflection_spec.rb&quot;
+#line 147 &quot;./method/reflection_spec.rb&quot;
 public partial class Klass{
       public static int StaticVoidMethod() {
         return 1;
@@ -773,6 +801,16 @@ namespace NotEmptyNamespace {
       public static int Bar() { return 1; }
     }
   }
+#line 4 &quot;./ruby/additions/clr_new_spec.rb&quot;
+namespace CLRNew {
+    public class Ctor {
+      public int Tracker {get; set;}
+
+      public Ctor() {
+        Tracker = 1; 
+      }
+    }
+  }
 #line 4 &quot;./ruby/name_mangling/public_spec.rb&quot;
 public class PublicNameHolder {
       public string a() { return &quot;a&quot;;}</diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/net/fixtures.generated.cs</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/net/fixtures.generated.dll</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 describe &quot;A .NET numeric&quot;, :shared =&gt; true do
   before(:each) do
     @class = @method
-    @bignum = Bignum.Create(1)
+    @bignum = Bignum.Create(0)
   end
 
   it &quot;can be induced via an int&quot; do
@@ -39,7 +39,7 @@ end
 describe &quot;A .NET numeric, induceable from Fixnum&quot;, :shared =&gt; true do
   before(:each) do
     @class = @method
-    @bignum = Bignum.Create(1)
+    @bignum = Bignum.Create(0)
   end
 
   it &quot;can be induced via an int&quot; do</diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/net/shared/numeric.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,6 @@ describe &quot;Mixed TypeGroups (with non-generic member)&quot; do
   it &quot;don't cache the class information&quot; do
     c = EmptyTypeGroup.new
     c2 = EmptyTypeGroup1.new
-    c2.should_not be_kind_of EmptyTypeGroup[]
+    c2.should_not be_kind_of EmptyTypeGroup
   end
 end</diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/net/typegroup/instantiation/nongeneric_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -16,7 +16,7 @@ describe &quot;Type Groups&quot; do
   EOL
   it &quot;maps to a Microsoft::Scripting::Actions::TypeGroup&quot; 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</diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/net/typegroup/mapping_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -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</diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/int64_tags.txt</filename>
    </modified>
    <modified>
      <diff>@@ -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</diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/uint64_tags.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-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
+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</diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/method/invocation/generic_tags.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +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</diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/method/reflection_tags.txt</filename>
    </modified>
    <modified>
      <diff>@@ -26,12 +26,8 @@ class TestFileList
 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 #&lt;TestFileUtils::BadLink:0x0002f72 @failure_class=NotImplementedError&gt;
+  #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</diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Scripts/RakeTests.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,9 @@
 @echo off
 if /i &quot;%*&quot; == &quot;&quot; (
-  @&quot;ruby.exe&quot; &quot;%~dpn0.rb&quot; &quot;%MERLIN_ROOT%\Languages\Ruby\Tests\Interop\net&quot;
+  @&quot;ruby.exe&quot; &quot;-W0&quot; &quot;%~dpn0.rb&quot; &quot;%MERLIN_ROOT%\Languages\Ruby\Tests\Interop\net&quot;
   goto :END
   )
-@&quot;ruby.exe&quot; &quot;%~dpn0.rb&quot; &quot;%*&quot;
+@&quot;ruby.exe&quot; &quot;-W0&quot; &quot;%~dpn0.rb&quot; &quot;%*&quot;
 
 :END
 </diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Scripts/csc.bat</filename>
    </modified>
    <modified>
      <diff>@@ -41,6 +41,7 @@ task :package do
   system %Q{xcopy /E /I &quot;#{ENV['MERLIN_ROOT']}\\..\\External.LCA_RESTRICTED\\Languages\\Ruby\\redist-libs\\ruby&quot; #{PACKAGE_DIR}\\lib\\ruby}
   system %Q{xcopy /E /I &quot;#{ENV['MERLIN_ROOT']}\\Languages\\Ruby\\Libs&quot; #{PACKAGE_DIR}\\lib\\IronRuby}
 
+  system %Q{xcopy /E /I &quot;#{ENV['MERLIN_ROOT']}\\Languages\\Ruby\\Samples&quot; #{PACKAGE_DIR}\\samples\\}
   # Generate compressed package
   if ENV['ZIP']
     system %Q{del &quot;#{ENV['TEMP']}\\ironruby.7z&quot;}</diff>
      <filename>Merlin/Main/Languages/Ruby/rake/package.rake</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/array/delete_tags.txt</filename>
    </removed>
    <removed>
      <filename>Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/array/join_tags.txt</filename>
    </removed>
    <removed>
      <filename>Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/array/multiply_tags.txt</filename>
    </removed>
    <removed>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/assembly/access/custom_assembly_tags.txt</filename>
    </removed>
    <removed>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/array/conversion_tags.txt</filename>
    </removed>
    <removed>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/equality/equality_tags.txt</filename>
    </removed>
    <removed>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/equality/hashing_tags.txt</filename>
    </removed>
    <removed>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/byte_tags.txt</filename>
    </removed>
    <removed>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/decimal_tags.txt</filename>
    </removed>
    <removed>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/int16_tags.txt</filename>
    </removed>
    <removed>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/sbyte_tags.txt</filename>
    </removed>
    <removed>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/uint16_tags.txt</filename>
    </removed>
    <removed>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/bcl/numerics/uint32_tags.txt</filename>
    </removed>
    <removed>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/class/derivation/attribute_tags.txt</filename>
    </removed>
    <removed>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/method/invocation/overload_tags.txt</filename>
    </removed>
    <removed>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/uncategorized_tags.txt</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>8d70f2bf7a2bae37ae7cb3ba5d3eca5fe54d46e1</id>
    </parent>
  </parents>
  <author>
    <name>Jim Deville</name>
    <email>jdeville@microsoft.com</email>
  </author>
  <url>http://github.com/ironruby/ironruby/commit/825b81bb92b3e72ed10647646fa437b9a2a78f74</url>
  <id>825b81bb92b3e72ed10647646fa437b9a2a78f74</id>
  <committed-date>2009-06-26T11:53:56-07:00</committed-date>
  <authored-date>2009-06-26T11:53:56-07:00</authored-date>
  <message>syncing to head of tfs</message>
  <tree>585a4fc7a1a3918f02fadce8786c74d0cbebdea8</tree>
  <committer>
    <name>Jim Deville</name>
    <email>jdeville@microsoft.com</email>
  </committer>
</commit>
