edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Interop/com/apps/excel_spec.rb;C1040664
File: excel_spec.rb
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Interop/com/apps/excel_spec.rb;C1040664  (server)    8/5/2009 11:46 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Interop/com/apps/excel_spec.rb;excel
@@ -13,115 +13,116 @@
   end
 end
 
-describe "Excel" do
-  before :each do
-    raise "Excel is not installed" unless ComHelper.excel_installed?
+if ENV["THISISSNAP"] || ComHelper.excel_installed?
+  describe "Excel" do
+    before :each do
+      raise "Excel is not installed" unless ComHelper.excel_installed?
 
-    @app = ComHelper.create_excel_app
-    @app.DisplayAlerts = false
-    @workbook = @app.Workbooks.Add
-    @worksheet = @workbook.Worksheets(1)
-  end
+      @app = ComHelper.create_excel_app
+      @app.DisplayAlerts = false
+      @workbook = @app.Workbooks.Add
+      @worksheet = @workbook.Worksheets(1)
+    end
 
-  after :each do
-    @worksheet = nil
-    @workbook = nil
-    System::GC.Collect
-    System::GC.WaitForPendingFinalizers
-    @app.Quit if @app
-  end
+    after :each do
+      @worksheet = nil
+      @workbook = nil
+      System::GC.Collect
+      System::GC.WaitForPendingFinalizers
+      @app.Quit if @app
+    end
 
-  describe "COM interop" do
-    it "should not require PIA" do
-      $LOADED_FEATURES.grep(/Excel/).should == []
-    end
+    describe "COM interop" do
+      it "should not require PIA" do
+        $LOADED_FEATURES.grep(/Excel/).should == []
+      end
 
-    it "has assignable 'properties'" do
-      @app.DisplayAlerts.should == false
-    end
+      it "has assignable 'properties'" do
+        @app.DisplayAlerts.should == false
+      end
 
-    it "can create worksheets" do
-      @worksheet.Name.should == "Sheet1"
-    end
+      it "can create worksheets" do
+        @worksheet.Name.should == "Sheet1"
+      end
 
-    it "can set cells" do
-      lambda { 
-        (1..10).each do |i| 
-          (1..10).each do |j| 
-            @worksheet.setproperty("Cells", i, j, i * j)
+      it "can set cells" do
+        lambda { 
+          (1..10).each do |i| 
+            (1..10).each do |j| 
+              @worksheet.setproperty("Cells", i, j, i * j)
+            end 
           end 
-        end 
-      }.should_not raise_error 
+        }.should_not raise_error 
+      end
+      
+      it "can select ranges" do 
+        range = @worksheet.Range('A1','B3') 
+        range.Count.should == 6 
+      end 
+      
+      it "can create charts" do 
+        lambda {
+          range = @worksheet.Range('A1','B3')
+          chart = @worksheet.ChartObjects
+          graph = chart.Add(100,100,200,200)
+          #Microsoft::Office::Interop::Excel::XlChartType.xl3DColumn = -4100
+          graph.Chart.ChartWizard(range, -4100)
+          1.should == 1
+        }.should_not raise_error(RuntimeError)
+      end
     end
     
-    it "can select ranges" do 
-      range = @worksheet.Range('A1','B3') 
-      range.Count.should == 6 
-    end 
-    
-    it "can create charts" do 
-      lambda {
-        range = @worksheet.Range('A1','B3')
-        chart = @worksheet.ChartObjects
-        graph = chart.Add(100,100,200,200)
-        #Microsoft::Office::Interop::Excel::XlChartType.xl3DColumn = -4100
-        graph.Chart.ChartWizard(range, -4100)
-        1.should == 1
-      }.should_not raise_error(RuntimeError)
-    end
-  end
-  
-  describe "COM event handling" do
-    before(:each) do
-      @tracker = ComHelper::EventTracker.new
-      class << @tracker
-        include ExcelEventTracker
+    describe "COM event handling" do
+      before(:each) do
+        @tracker = ComHelper::EventTracker.new
+        class << @tracker
+          include ExcelEventTracker
+        end
       end
-    end
 
-    it "fires for single event" do
-      @tracker.add_event(@worksheet)
-      @app.ActiveCell.Offset(1,0).Activate
-      @tracker.counter.should == 1
-    end
+      it "fires for single event" do
+        @tracker.add_event(@worksheet)
+        @app.ActiveCell.Offset(1,0).Activate
+        @tracker.counter.should == 1
+      end
 
-    it "fires for multiple events" do
-      @tracker.add_event(@worksheet)
-      @tracker.add_event(@worksheet)
-      @app.ActiveCell.Offset(1,0).Activate
-      @tracker.counter.should == 2
-    end
+      it "fires for multiple events" do
+        @tracker.add_event(@worksheet)
+        @tracker.add_event(@worksheet)
+        @app.ActiveCell.Offset(1,0).Activate
+        @tracker.counter.should == 2
+      end
 
-    it "fires after removing an event" do
-      @tracker.add_event(@worksheet)
-      @tracker.add_event(@worksheet)
-      @app.ActiveCell.Offset(1,0).Activate
-      @tracker.remove_event(@worksheet)
-      @app.ActiveCell.Offset(1,0).Activate
-      @tracker.counter.should == 3
-    end
+      it "fires after removing an event" do
+        @tracker.add_event(@worksheet)
+        @tracker.add_event(@worksheet)
+        @app.ActiveCell.Offset(1,0).Activate
+        @tracker.remove_event(@worksheet)
+        @app.ActiveCell.Offset(1,0).Activate
+        @tracker.counter.should == 3
+      end
 
-    it "fires after removing all events" do
-      @tracker.add_event(@worksheet)
-      @tracker.add_event(@worksheet)
-      @app.ActiveCell.Offset(1,0).Activate
-      @tracker.remove_event(@worksheet)
-      @tracker.remove_event(@worksheet)
-      @app.ActiveCell.Offset(1,0).Activate
-      @tracker.counter.should == 2
-    end
+      it "fires after removing all events" do
+        @tracker.add_event(@worksheet)
+        @tracker.add_event(@worksheet)
+        @app.ActiveCell.Offset(1,0).Activate
+        @tracker.remove_event(@worksheet)
+        @tracker.remove_event(@worksheet)
+        @app.ActiveCell.Offset(1,0).Activate
+        @tracker.counter.should == 2
+      end
 
-    it "fires after removing all events, then adding one back" do
-      @tracker.add_event(@worksheet)
-      @tracker.add_event(@worksheet)
-      @app.ActiveCell.Offset(1,0).Activate
-      @tracker.remove_event(@worksheet)
-      @tracker.remove_event(@worksheet)
-      @app.ActiveCell.Offset(1,0).Activate
-      @tracker.add_event(@worksheet)
-      @app.ActiveCell.Offset(1,0).Activate
-      @tracker.counter.should == 3
+      it "fires after removing all events, then adding one back" do
+        @tracker.add_event(@worksheet)
+        @tracker.add_event(@worksheet)
+        @app.ActiveCell.Offset(1,0).Activate
+        @tracker.remove_event(@worksheet)
+        @tracker.remove_event(@worksheet)
+        @app.ActiveCell.Offset(1,0).Activate
+        @tracker.add_event(@worksheet)
+        @app.ActiveCell.Offset(1,0).Activate
+        @tracker.counter.should == 3
+      end
     end
   end
 end
-
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Interop/com/apps/multi_office_spec.rb;C1040664
File: multi_office_spec.rb
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Interop/com/apps/multi_office_spec.rb;C1040664  (server)    8/5/2009 11:47 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Interop/com/apps/multi_office_spec.rb;excel
@@ -1,30 +1,32 @@
 require File.dirname(__FILE__) + "/../spec_helper"
 
-describe "Multiple Office application COM interop support" do
-  before(:each) do
-    raise "Excel is not installed" unless ComHelper.excel_installed?
-    raise "Word is not installed" unless ComHelper.word_installed?
+if ENV["THISISSNAP"] || (ComHelper.excel_installed? && ComHelper.word_installed?)
+  describe "Multiple Office application COM interop support" do
+    before(:each) do
+      raise "Excel is not installed" unless ComHelper.excel_installed?
+      raise "Word is not installed" unless ComHelper.word_installed?
 
-    @excel = ComHelper.create_excel_app
-    @excel.DisplayAlerts = false
-    @workbook = @excel.Workbooks.Add
+      @excel = ComHelper.create_excel_app
+      @excel.DisplayAlerts = false
+      @workbook = @excel.Workbooks.Add
 
-    @word = ComHelper.create_word_app
-    @word.DisplayAlerts = false
-    @doc = @word.Documents.Add
-  end
+      @word = ComHelper.create_word_app
+      @word.DisplayAlerts = false
+      @doc = @word.Documents.Add
+    end
 
-  after :each do
-    @workbook = nil
-    @doc = nil
-    System::GC.Collect
-    System::GC.WaitForPendingFinalizers
-    @excel.Quit if @excel
-    @word.Quit if @word
-  end
+    after :each do
+      @workbook = nil
+      @doc = nil
+      System::GC.Collect
+      System::GC.WaitForPendingFinalizers
+      @excel.Quit if @excel
+      @word.Quit if @word
+    end
 
-  it "allows multiple applications at once" do
-    lambda { @excel.Workbooks(1) }.should_not raise_error
-    lambda { @word.Documents(1) }.should_not raise_error
+    it "allows multiple applications at once" do
+      lambda { @excel.Workbooks(1) }.should_not raise_error
+      lambda { @word.Documents(1) }.should_not raise_error
+    end
   end
 end
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Interop/com/apps/word_spec.rb;C1040664
File: word_spec.rb
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Interop/com/apps/word_spec.rb;C1040664  (server)    8/5/2009 11:47 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Interop/com/apps/word_spec.rb;excel
@@ -13,88 +13,89 @@
   end
 end
 
-describe "Word COM interop support" do
-  before :each do
-    raise "Word is not installed" unless ComHelper.word_installed?
+if ENV["THISISSNAP"] || ComHelper.word_installed?
+  describe "Word COM interop support" do
+    before :each do
+      raise "Word is not installed" unless ComHelper.word_installed?
 
-    @app = ComHelper.create_word_app
-    @app.DisplayAlerts = false
-    @doc = @app.Documents.Add
-    @doc.Range.Text = "test"
-    @tracker = ComHelper::EventTracker.new
-    class << @tracker
-      include WordEventTracker
+      @app = ComHelper.create_word_app
+      @app.DisplayAlerts = false
+      @doc = @app.Documents.Add
+      @doc.Range.Text = "test"
+      @tracker = ComHelper::EventTracker.new
+      class << @tracker
+        include WordEventTracker
+      end
     end
-  end
 
-  after :each do
-    @doc = nil
-    System::GC.Collect
-    System::GC.WaitForPendingFinalizers
-    @app.Quit if @app
-  end
-  
-  it "fires for single event" do
-    @tracker.add_event(@doc)
-    @app.Range(1,1).Select
-    @tracker.counter.should == 1
-  end
+    after :each do
+      @doc = nil
+      System::GC.Collect
+      System::GC.WaitForPendingFinalizers
+      @app.Quit if @app
+    end
+    
+    it "fires for single event" do
+      @tracker.add_event(@doc)
+      @app.Range(1,1).Select
+      @tracker.counter.should == 1
+    end
 
-  it "fires for multiple events" do
-    @tracker.add_event(@doc)
-    @tracker.add_event(@doc)
-    @app.Range(1,2).Select
-    @tracker.counter.should == 2
-  end
+    it "fires for multiple events" do
+      @tracker.add_event(@doc)
+      @tracker.add_event(@doc)
+      @app.Range(1,2).Select
+      @tracker.counter.should == 2
+    end
 
-  it "fires after removing an event" do
-    @tracker.add_event(@doc)
-    @tracker.add_event(@doc)
-    @app.Range(2,2).Select
-    @tracker.remove_event(@doc)
-    @app.Range(2,3).Select
-    @tracker.counter.should == 3
-  end
+    it "fires after removing an event" do
+      @tracker.add_event(@doc)
+      @tracker.add_event(@doc)
+      @app.Range(2,2).Select
+      @tracker.remove_event(@doc)
+      @app.Range(2,3).Select
+      @tracker.counter.should == 3
+    end
 
-  it "fires after removing all events" do
-    @tracker.add_event(@doc)
-    @tracker.add_event(@doc)
-    @app.Range(3,3).Select
-    @tracker.remove_event(@doc)
-    @tracker.remove_event(@doc)
-    @app.Range(3,4).Select
-    @tracker.counter.should == 2
-  end
+    it "fires after removing all events" do
+      @tracker.add_event(@doc)
+      @tracker.add_event(@doc)
+      @app.Range(3,3).Select
+      @tracker.remove_event(@doc)
+      @tracker.remove_event(@doc)
+      @app.Range(3,4).Select
+      @tracker.counter.should == 2
+    end
 
-  it "fires after removing all events, then adding one back" do
-    @tracker.add_event(@doc)
-    @tracker.add_event(@doc)
-    @app.Range(3,4).Select
-    @tracker.remove_event(@doc)
-    @tracker.remove_event(@doc)
-    @app.Range(3,4).Select
-    @tracker.add_event(@doc)
-    @app.Range(3,4).Select
-    @tracker.counter.should == 3
-  end
+    it "fires after removing all events, then adding one back" do
+      @tracker.add_event(@doc)
+      @tracker.add_event(@doc)
+      @app.Range(3,4).Select
+      @tracker.remove_event(@doc)
+      @tracker.remove_event(@doc)
+      @app.Range(3,4).Select
+      @tracker.add_event(@doc)
+      @app.Range(3,4).Select
+      @tracker.counter.should == 3
+    end
 
-  describe "spellchecker" do
-    before(:each) do
-      @suggestions = @app.GetSpellingSuggestions("waht")
-    end
+    describe "spellchecker" do
+      before(:each) do
+        @suggestions = @app.GetSpellingSuggestions("waht")
+      end
 
-    it "returns suggestions" do
-      @suggestions.Count.should > 5
-    end
+      it "returns suggestions" do
+        @suggestions.Count.should > 5
+      end
 
-    it "supports enumeration" do
-      @suggestions.each { |s| s.name }
-    end
+      it "supports enumeration" do
+        @suggestions.each { |s| s.name }
+      end
 
-    it "contains suggestions" do
-      @suggestions.should include("what")
-      @suggestions.should include("with")
+      it "contains suggestions" do
+        @suggestions.should include("what")
+        @suggestions.should include("with")
+      end
     end
   end
 end
-
===================================================================
