Index: trunk/tester/scripts/Makefile.in
===================================================================
--- trunk/tester/scripts/Makefile.in	(revision 2141)
+++ trunk/tester/scripts/Makefile.in	(revision 2142)
@@ -19,6 +19,8 @@
 FILES		= \
 		$(srcdir)/main.tcl \
+		$(srcdir)/legend.tcl \
 		$(srcdir)/objview.tcl \
 		$(srcdir)/resultspage.tcl \
+		$(srcdir)/runview.tcl \
 		$(srcdir)/statuslist.tcl \
 		$(srcdir)/stringdiffs.tcl \
Index: trunk/tester/scripts/main.tcl
===================================================================
--- trunk/tester/scripts/main.tcl	(revision 2141)
+++ trunk/tester/scripts/main.tcl	(revision 2142)
@@ -269,4 +269,11 @@
     -title1 "Expected this:" -title2 "Got this:"
 pack $win.diffs -expand yes -fill both -padx 4 -pady 4
+
+# viewer for showing string info if all else fails (e.g. unkobj errors)
+Rappture::Scroller .testdiffs.body.info \
+    -xscrollmode auto -yscrollmode auto
+pack .testdiffs.body.info -expand yes -fill both -padx 10 -pady {0 10}
+text .testdiffs.body.info.text -width 10 -height 1 -wrap char
+.testdiffs.body.info contents .testdiffs.body.info.text
 
 # plug the proper diff colors into the legend area
@@ -428,6 +435,12 @@
                     }
                   }
+                  unkobj {
+                    set icon [Rappture::icon warn16]
+                    set title "Unsupported object type"
+                    set desc "Test contains an object type that is not yet supported"
+                    set help "The Rappture Regression Tester is still in beta.  Some object types supported by the Rappture runtime environment are not yet supported by the tester.  These warnings will go away as the Rappture Regression Tester improves and support for all object types is put into place."
+                  }
                   default {
-                    error "don't know how to handle difference \"$what\""
+                    error "don't know how to handle difference \"$difftype\""
                   }
                 }
@@ -701,4 +714,12 @@
             set legsettings {2 disabled 3 disabled 4 disabled}
         }
+        "unkobj" {
+            set win .testdiffs.body.info
+            $win.text configure -state normal
+            $win.text delete 1.0 end
+            $win.text insert end "The following object type is not yet supported within the Rappture Regression Tester:\n\n[$diff(-testobj) getTestInfo xml $diff(-path)]"
+            $win.text configure -state disabled
+            set legsettings {2 disabled 3 disabled 4 disabled}
+        }
     }
     if {[pack slaves .testdiffs.body] ne $win} {
Index: trunk/tester/scripts/test.tcl
===================================================================
--- trunk/tester/scripts/test.tcl	(revision 2141)
+++ trunk/tester/scripts/test.tcl	(revision 2142)
@@ -164,10 +164,10 @@
             if {[$_testobj get output.status] ne "ok"} {
                 # expected test to fail, but it didn't
-                set idiffs [_computeDiffs [$_toolobj xml] $_runobj -in input]
+                set idiffs [_computeDiffs [$_toolobj xml object] $_runobj -in input]
                 set odiffs [_computeDiffs $_testobj $_runobj -what run]
                 set _diffs [concat $idiffs $odiffs]
                 _setResult "Fail"
             } else {
-                set idiffs [_computeDiffs [$_toolobj xml] $_testobj -in input]
+                set idiffs [_computeDiffs [$_toolobj xml object] $_testobj -in input]
                 set odiffs [_computeDiffs $_testobj $_runobj -in output]
                 set _diffs [concat $idiffs $odiffs]
@@ -187,5 +187,5 @@
                 _setResult "Pass"
             } else {
-                set idiffs [_computeDiffs [$_toolobj xml] $_runobj -in input]
+                set idiffs [_computeDiffs [$_toolobj xml object] $_runobj -in input]
                 set odiffs [_computeDiffs $_testobj $_runobj -what run]
                 set _diffs [concat $idiffs $odiffs]
@@ -200,5 +200,5 @@
             _setResult "Pass"
         } else {
-            set idiffs [_computeDiffs [$_toolobj xml] $_runobj -in input]
+            set idiffs [_computeDiffs [$_toolobj xml object] $_runobj -in input]
             set odiffs [_computeDiffs $_testobj $_runobj -what run]
             set _diffs [concat $idiffs $odiffs]
@@ -271,5 +271,5 @@
     if {[string match input.* $path]} {
         # if we're matching input, compare the original XML vs. the test
-        return [_computeDiffs [$_toolobj xml] $_testobj -in $path -detail max]
+        return [_computeDiffs [$_toolobj xml object] $_testobj -in $path -detail max]
     }
 
@@ -426,5 +426,9 @@
                         if {$type1 eq $type2} {
                           set same yes
-                          set alist [Rappture::objects::get $type1 -attributes]
+                          if {[catch {Rappture::objects::get $type1 -attributes} alist]} {
+                              # oops! unknown object type
+                              lappend rlist [linsert $details 0 -what unkobj]
+                              set alist ""
+                          }
                           foreach rec $alist {
                               array set attr [lrange $rec 1 end]
