While trying to get a "green bar" with Test::Unit using the GTk
option, I experience the following error:
/usr/local/lib/ruby/site_ruby/1.6/test/unit/ui/gtk/testrunner.rb:284:in `set_font': file gdkfont.c: line 236 (gdk_font_ref): assertion `font != NULL' failed. (Gdk::Error)
from /usr/local/lib/ruby/site_ruby/1.6/test/unit/ui/gtk/testrunner.rb:284:in `fault_detail_label'
from /usr/local/lib/ruby/site_ruby/1.6/test/unit/ui/gtk/testrunner.rb:280:in `lazy_initialize'
from /usr/local/lib/ruby/site_ruby/1.6/test/unit/ui/gtk/testrunner.rb:280:in `fault_detail_label'
from /usr/local/lib/ruby/site_ruby/1.6/test/unit/ui/gtk/testrunner.rb:276:in `inner_detail_sub_panel'
from /usr/local/lib/ruby/site_ruby/1.6/test/unit/ui/gtk/testrunner.rb:274:in `lazy_initialize'
from /usr/local/lib/ruby/site_ruby/1.6/test/unit/ui/gtk/testrunner.rb:274:in `inner_detail_sub_panel'
from /usr/local/lib/ruby/site_ruby/1.6/test/unit/ui/gtk/testrunner.rb:270:in `outer_detail_sub_panel'
from /usr/local/lib/ruby/site_ruby/1.6/test/unit/ui/gtk/testrunner.rb:268:in `lazy_initialize'
... 13 levels...
from /usr/local/lib/ruby/site_ruby/1.6/test/unit/ui/gtk/testrunner.rb:54:in `setup_ui'
from /usr/local/lib/ruby/site_ruby/1.6/test/unit/ui/gtk/testrunner.rb:39:in `start'
from /usr/local/lib/ruby/site_ruby/1.6/test/unit/ui/gtk/testrunner.rb:26:in `run'
from GuiDuckUT.rb:14
Loaded suite GuiDuckUT
Started...
...
Finished in 0.013897 seconds.
2 runs, 2 assertions, 0 failures, 0 errors
This corresponds to the following method in testrunner.rb,
def fault_detail_label # :nodoc:
lazy_initialize(:fault_detail_label) {
@fault_detail_label = EnhancedLabel.new("")
style = Gtk::Style.new
font = Gdk::Font.font_load("-*-Courier New-medium-r-normal--*-120-*-*-*-*-*-*")
style.set_font(font) <<<<*** line 284 ***
@fault_detail_label.set_style(style)
@fault_detail_label.set_justify(Gtk::JUSTIFY_LEFT)
@fault_detail_label.set_line_wrap(false) }
end
I am running RH7.2 with Ruby 1.6.7, GTk 1.2.10, and Ruby-GTk-0.25,
and TestUnit-0.1.4 on the following:
<file name="GuiDuckUT.rb">
require 'test/unit'
class GuiDuckUT < Test::Unit::TestCase
def testOne
assert_equal 1, 1
end
def testText
assert_equal 'test', 'test', 'text is the same'
end
end
if $0 == __FILE__ then
require 'test/unit/ui/gtk/testrunner'
Test::Unit::UI::GTK::TestRunner.run(GuiDuckUT.suite)
# require 'test/unit/ui/console/testrunner'
# Test::Unit::UI::Console::TestRunner.run(GuiDuckUT.suite)
end
</file>
The test cases in Ruby-GTk-0.25 all seem to work fine and the
above runs just fine through the Console interface.
--
Bil Kleb
NASA Langley Research Center
Hampton, Virginia, USA