[Mono-list] Nunit hangs when testing a class using the GTK
Wolfgang Schulze-Zachau
wolfgangs at manticoreit.com
Tue Dec 23 18:03:55 EST 2008
I might be a bit ignorant here, so please bear with me.
I am running MonoDevelop 2 Alpha 2 on Fedora 9. In my project I use NUnit to
do all sorts of testing. Today I added a test for a class that is supposed
to create a popup menu on demand, which can then be displayed in a TreeView.
Here is the class code so far:
using System;
using Gtk;
namespace Amino.ProCos
{
public class RootProjectTreeNode
{
public RootProjectTreeNode()
{
}
public string DisplayName {
get { return "All Groups"; }
}
public Menu getMenu() {
Menu menu = new Menu();
MenuItem expand, collapse, addgroup;
expand = new MenuItem("Expand");
collapse = new MenuItem("Collapse");
addgroup = new MenuItem("Add Project Group");
menu.Add(expand);
menu.Add(collapse);
menu.Add(addgroup);
return menu;
}
}
}
And here is the relevant unit test code:
using System;
using Gtk;
using NUnit.Framework;
using Amino.ProCos;
namespace Amino.testProCos
{
[TestFixture()]
public class TestRootProjectNode
{
RootProjectTreeNode root;
[Test()]
public void Instantiation()
{
root = new RootProjectTreeNode();
Assert.AreEqual("All Groups", root.DisplayName, "Instantiation of a the
root project tree node failed");
}
[Test()]
public void BasicMenu() {
root = new RootProjectTreeNode();
Menu menu = root.getMenu();
Assert.IsTrue(true, "No idea");
MenuItem[] items = (MenuItem[])menu.Children;
Assert.AreEqual(3, items.Length, "menu should contain 3 elements");
Assert.AreEqual("Expand", items[0].Name, "First popup menu item is not
'Expand'");
Assert.AreEqual("Collapse", items[1].Name, "Second popup menu item is not
'Collapse'");
Assert.AreEqual("Add Project Group", items[3].Name, "Third popup menu
item is not 'Add Project Group'");
}
}
}
The whole thing compiles without problem. When I run the tests, NUnit hangs.
The only way out is to open a console and kill the NUnit process. The
console window from which monodevelop is started, shows error messages such
as this:
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-GObject-CRITICAL **:
gtype.c:2248: initialization assertion failed, use IA__g_type_init() prior
to this function
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-CRITICAL **:
g_once_init_leave: assertion `initialization_value != 0' failed
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-GObject-CRITICAL **:
gtype.c:2248: initialization assertion failed, use IA__g_type_init() prior
to this function
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-GObject-CRITICAL **:
gtype.c:2248: initialization assertion failed, use IA__g_type_init() prior
to this function
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-GObject-CRITICAL **:
gtype.c:2248: initialization assertion failed, use IA__g_type_init() prior
to this function
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-GObject-CRITICAL **:
g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE
(instance_type)' failed
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-GObject-CRITICAL **:
gtype.c:2248: initialization assertion failed, use IA__g_type_init() prior
to this function
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-GObject-CRITICAL **:
g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE
(instance_type)' failed
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-GObject-CRITICAL **:
gtype.c:2248: initialization assertion failed, use IA__g_type_init() prior
to this function
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-GObject-CRITICAL **:
gtype.c:2248: initialization assertion failed, use IA__g_type_init() prior
to this function
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-GObject-CRITICAL **:
g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE
(instance_type)' failed
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-GObject-CRITICAL **:
gtype.c:2248: initialization assertion failed, use IA__g_type_init() prior
to this function
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-CRITICAL **:
g_once_init_leave: assertion `initialization_value != 0' failed
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-GObject-CRITICAL **:
gtype.c:2248: initialization assertion failed, use IA__g_type_init() prior
to this function
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-CRITICAL **:
g_once_init_leave: assertion `initialization_value != 0' failed
(/usr/local/lib/monodevelop/bin/mdhost.exe:15951): GLib-GObject-CRITICAL **:
g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed
ERROR [2008-12-23 22:45:43Z]: System.Runtime.Remoting.RemotingException:
Unix transport error.
The last error is the one thrown by killing the process. I have no idea why
this is happening, so if anybody can point me in any direction, I would be
truly grateful.
cheers
Wolfgang
--
View this message in context: http://www.nabble.com/Nunit-hangs-when-testing-a-class-using-the-GTK-tp21151720p21151720.html
Sent from the Mono - General mailing list archive at Nabble.com.
More information about the Mono-list
mailing list