The problem is actually more deep seated than that. In addition to the reordering of initialization, there's also been a bunch of new initialization code added which only exists in the Main.main(), so the test uses Main.performCommands() directly is missing all the initialization.
I refactored the Main class to make the initialization code reusable, but then I ran into a NullPointerException in GEF during the Save Image command. I didn't track it down far enough to figure out whether it's ArgoUML's fault or GEF's fault, but at this point, I'd suggest that we just document the problem and release as is. If I commit the refactored Main, it probably needs a couple of days of testing just to be safe. Tom On Dec 14, 2007 1:44 AM, Linus Tolke <[EMAIL PROTECTED]> wrote: > Hello again! > > It looks to me like the ProjectBrowser now requires makeInstance(...) to be > called before getInstance(). > > There are two solutions to this. Either fix the ProjectBrowser or make the > test cases call makeInstance() first. At first glance I prefer the last one > which will probably remove the possibility to create ProjectBrowser using > the constructor without arguments and replace it with some more test code to > do initialization. Is this the right way to go? > > /Linus > > > 2007/12/13, Tom Morris <[EMAIL PROTECTED]>: > > > > > > > > I suspect that this is a consequence of the reordering of the > > initialization sequence. > > > > I'll do some testing to see if my theory is correct. > > > > Tom > > > > On Dec 13, 2007 3:59 PM, Linus Tolke <[EMAIL PROTECTED]> wrote: > > > There is a problem with the JUnit test cases in the release. The problem > is > > > with the guitests that are not normally run because of the need of the > > > screen. > > > > > > Here is the backtrace: > > > > > > testProjectWithContents Error N/A > > > > > > java.lang.NullPointerException > > > at java.awt.Container.addImpl(Container.java:1031) > > > at java.awt.Container.add(Container.java:395) > > > at org.tigris.swidgets.MultipleSplitPane.add(Unknown Source) > > > at org.tigris.swidgets.BorderSplitPane.add(Unknown Source) > > > at org.argouml.ui.ProjectBrowser.addPanel (ProjectBrowser.java:571) > > > at org.argouml.ui.ProjectBrowser.assemblePanels(ProjectBrowser.java:424) > > > at org.argouml.ui.ProjectBrowser .(ProjectBrowser.java:276) > > > at org.argouml.ui.ProjectBrowser.(ProjectBrowser.java :244) > > > at org.argouml.ui.ProjectBrowser.getInstance(ProjectBrowser.java:348) > > > at org.argouml.uml.ui.ActionOpenProject.doCommand(ActionOpenProject.java > > > :170) > > > at org.argouml.application.Main.performCommands (Main.java:634) > > > at org.argouml.util.CheckMain.doCommand(CheckMain.java:52) > > > at > > > > org.argouml.ui.cmd.GUITestActionGotoDiagram.testProjectWithContents(GUITestActionGotoDiagram.java > > > :74) > > > > > > > > > I don't really understand this problem. I will not proceed tonight then. > I > > > attempt to dig into the problem tomorrow night. If anyone else > understand > > > the problem please fix it! > > > > > > /Linus > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]