After finish compiling frysk(cvs head 08-25), run the following cmds: cd $BUILD/frysk-gui make check cd frysk/gui/test/dogtail_scripts ./frysk_suite.sh All testcases failed and it seems to be the same reason which causes the failure. The following is one of the case's output. Running: /rtos/source/frysk/temp/build_0825/frysk-gui/../../frysk-0825/frysk-gui/frysk/gui/test/dogtail_scripts/TestCredits.py Detecting distribution: Red Hat/Fedora/derived distribution Creating logfile at /tmp/dogtail/logs/TestCredits_20060825-163706 ... Check that the credits text is correct ... GTK Accessibility Module initialized theProcessGroups= [<DebugProcess.DebugProcess instance at 0x2af56b8df758>] click on {child with name="New" roleName='push button'} DEBUG = NewFryskSession DEBUG = 0 DEBUG = NewFryskSession DEBUG = 2 click on {"Forward" button} Warning: Cannot click {"Forward" button}. It is not sensitive. ERROR ====================================================================== ERROR: Check that the credits text is correct ---------------------------------------------------------------------- Traceback (most recent call last): File "/rtos/source/frysk/temp/build_0825/frysk-gui/../../frysk-0825/frysk-gui/frysk/gui/test/dogtail_scripts/TestCredits.py", line 110, in setUp createMinimalSession (self.frysk, self.theSession, False) File "/rtos/source/frysk/temp/frysk-0825/frysk-gui/frysk/gui/test/dogtail_scripts/FryskHelpers.py", line 452, in createMinimalSession for processName in theProcessList: TypeError: iteration over non-sequence ---------------------------------------------------------------------- Ran 1 test in 5.099s FAILED (errors=1) We traced the sourcode and found the funit-child was not started successfully, so all cases failed at creating the new session.
There are actually a couple of problems here. The first problem is that I inadventently left some debug statements in the code: DEBUG = NewFryskSession DEBUG = 0 DEBUG = NewFryskSession DEBUG = 2 These have been removed. The second problem is more troubling. There was a problem where if a test crashed, funit-child would not be killed when the next test started. This has also been fixed. Can you try running one test again and let me know what you see for results? Many thanks.
(In reply to comment #1) > There are actually a couple of problems here. > > The first problem is that I inadventently left some debug statements in the code: > > DEBUG = NewFryskSession > DEBUG = 0 > DEBUG = NewFryskSession > DEBUG = 2 > > These have been removed. > Yes, these have been removed. > The second problem is more troubling. There was a problem where if a test > crashed, funit-child would not be killed when the next test started. This has > also been fixed. Can you try running one test again and let me know what you see for results? I did the same test based on the cvs-head(08-30) and all testcases still failed. So I traced down the python source codes and found the key point of the bug. We have two ways to fix the bug: 1)the first way to fix the bug is simple. just see the following patch(based on cvs head 08-30): Index: frysk-gui/frysk/gui/test/dogtail_scripts/FryskHelpers.py =================================================================== RCS file: /cvs/frysk/frysk-gui/frysk/gui/test/dogtail_scripts/FryskHelpers.py,v retrieving revision 1.50 diff -u -r1.50 FryskHelpers.py --- frysk-gui/frysk/gui/test/dogtail_scripts/FryskHelpers.py 28 Aug 2006 21:01:47 -0000 1.50+++ frysk-gui/frysk/gui/test/dogtail_scripts/FryskHelpers.py 30 Aug 2006 04:07:49 -0000 @@ -253,6 +253,8 @@ Function returns an object that points to the Frysk GUI """ + global FUNIT_CHILD_BINARY + # First, make sure that AT-SPI is enabled AT_SPI_output = commands.getoutput('gconftool-2 -g /desktop/gnome/interface/accessibility') if AT_SPI_output != 'true': 2)the second way is to edit the rules for "make check". During the "make check", we can edit the FUNIT_CHILD_BINARY's value into the right value according to user's compiling. No matter which way is choosen, the bug can be fixed. :-)
Created attachment 1264 [details] the patch to fix the bug(based on cvs head 08-30) the patch to fix the bug(based on cvs head 08-30)
Created attachment 1265 [details] the full patch to fix this bug I's sorry, the former patch omits some other modification. Here the patch is the latest.
I'm sorry about this - the failure of the funit-child binary to start was because I had inadvertently left a hard-coded reference to a directory in the script. I've actually changed the function that invokes funit-child to accept the binary name as a parameter. I just checked in this change. I'm wondering about the 2nd part of the patch that you submitted: -funitchild=@abs_builddir@/frysk-core/frysk/pkglibexecdir/funit-child +funitchild=@abs_builddir@/../frysk-core/frysk/pkglibexecdir/funit-child But, funit-child is in: /builddir/frysk-core/frysk/pkglibexecdir/funit-child
(In reply to comment #5) > I'm wondering about the 2nd part of the patch that you submitted: > > -funitchild=@abs_builddir@/frysk-core/frysk/pkglibexecdir/funit-child > +funitchild=@abs_builddir@/../frysk-core/frysk/pkglibexecdir/funit-child > > But, funit-child is in: /builddir/frysk-core/frysk/pkglibexecdir/funit-child FYI, this is autoconf wackyness. BUILDDIR is pointing to <build>/frysk-gui here. I.e., it is at a different level to what you would expect.
(In reply to comment #6) > (In reply to comment #5) > > > I'm wondering about the 2nd part of the patch that you submitted: > > > > -funitchild=@abs_builddir@/frysk-core/frysk/pkglibexecdir/funit-child > > +funitchild=@abs_builddir@/../frysk-core/frysk/pkglibexecdir/funit-child > > > > But, funit-child is in: /builddir/frysk-core/frysk/pkglibexecdir/funit-child > > FYI, this is autoconf wackyness. BUILDDIR is pointing to <build>/frysk-gui > here. I.e., it is at a different level to what you would expect. yes, the BUILDDIR here will be set $BUILD/frysk-gui. You can read the file $BUILD/frysk-gui/frysk/gui/test/dogtail_scripts/frysk_suite.sh after you make check under $BUILD/frysk-gui.