Fedora Linux Support Community & Resources Center
  #61  
Old 1st February 2016, 01:54 PM
sea Offline
"Shells" (of a sub world)
 
Join Date: May 2011
Location: Confoederatio Helvetica (Swissh)
Age: 37
Posts: 4,280
linuxfirefox
Re: VICI: A Software Development Project

@ Isatenstein: Attachments been borked for quite some time (about +/- 1 year)
@ Occrato : One should not adjust a project to a certain IDE (eclipse) but to the core (auto-)tools.
Not everyone uses eclipse to code, nor to build their projects.

When i try to build, it fails on gth (what is that?!)
Code:
=== configuring in gth (/home/sea/net/dls/vici-0.2/gth)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=/home/sea/tmp'  --cache-file=/dev/null --srcdir=.
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking QT4.8 directory... /usr
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for X... libraries , headers 
configure: Linux detected
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
configure: -Wl,-rpath,/usr/lib -L/usr/lib -lQtGui -lQtOpenGL -lQtCore  -lX11 -lXext -lXmu -lXt -lXi  -lGLU -lGL -lpthread
configure: -I/usr/include -I/usr/include/QtGui -I/usr/include/QtCore -I/usr/include/QtOpenGL  -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB
checking does moc work?... yes
checking can I compile moc_myqt.cpp?... configure: error: couldn't compile moc_myqt.cpp
configure: error: ./configure failed for gth

1 ~/net/dls/vici-0.2 $ pacman -Ss gth
extra/ffmpegthumbnailer 2.1.0-1
    Lightweight video thumbnailer that can be used by file managers.
extra/ffmpegthumbs 15.12.1-1 (kde-applications kdemultimedia)
    FFmpeg-based thumbnail creator for video files
extra/gthumb 3.4.1-3
    Image browser and viewer for the GNOME Desktop
community/python-reportlab 3.2.0-3
    A proven industry-strength PDF generating solution
community/python2-reportlab 3.2.0-3
    A proven industry-strength PDF generating solution
community/spring-1944 2.0-1
    A WWII themed game with four fully functional sides (US, Germany, USSR, Britain), period-accurate units and strengths
0 ~/net/dls/vici-0.2 $
My 2 cents
Hope this helps

EDIT:
GTH fails as well when beeing it its sub dir, and calling ./configure from there - same error message:
Code:
checking can I compile moc_myqt.cpp?... configure: error: couldn't compile moc_myqt.cpp
EDIT2:
'cfi' builds well.
No change to when i do manually or follow the readme to the letter, gth always fails...
__________________
EFI Cheatsheet :: http://forums.fedoraforum.org/showthread.php?t=298546
Video Handler Script (VHS) (mass re-encode videos, screenrecorder, console music/webradio player, ...) :: http://forums.fedoraforum.org/showthread.php?t=299182
Windows 8+ & Fedora 20+ Dualboot :: http://forums.fedoraforum.org/showthread.php?t=298161

Last edited by sea; 1st February 2016 at 02:04 PM.
Reply With Quote
  #62  
Old 1st February 2016, 11:49 PM
ocratato Online
Registered User
 
Join Date: Oct 2010
Location: Canberra
Posts: 2,573
linuxfirefox
Re: VICI: A Software Development Project

@sea Thanks for having a go at the build.
The gth module is the GUI Test Harness - it provides a mechanism for automatically animating GUI programs and testing their internal state. It allows for automatic testing of completed GUI programs. This is obviously going to be important for VICI.

The actual error concerns the Qt code generator, moc, or more exactly the code that it generated.
If you could have a look at the file config.log - look for "checking can I compile moc_myqt.cpp?" and let me know what is on the next few lines I might be able to resolve the problem.

My guess, is that its something to do with me using Qt4, while Fedora23 has Qt5 as its default - I may need to add some compiler options to force Qt4 compatibility.
__________________
Has anyone seriously considered that it might be turtles all the way down?
That's very old fashioned thinking.
The current model is that it's holographic nested virtualities of turtles, all the way down.
Reply With Quote
  #63  
Old 2nd February 2016, 02:21 AM
sea Offline
"Shells" (of a sub world)
 
Join Date: May 2011
Location: Confoederatio Helvetica (Swissh)
Age: 37
Posts: 4,280
linuxfirefox
Re: VICI: A Software Development Project

Or state so in the README
Might be a hint to go for QT5 already too, IF that is the cause. (pun intended)

Code:
config.status:847: creating Makefile
config.status:847: creating config.h
config.status:1061: executing depfiles commands
configure:5374: === configuring in cfi (/home/sea/net/dls/vici-0.2/build/cfi)
configure:5437: running /bin/sh ../../cfi/configure --disable-option-checking '--prefix=/home/sea/net/dls/vici-0.2'  --cache-file=/dev/null --srcdir=../../cfi
configure:5374: === configuring in gth (/home/sea/net/dls/vici-0.2/build/gth)
configure:5437: running /bin/sh ../../gth/configure --disable-option-checking '--prefix=/home/sea/net/dls/vici-0.2'  --cache-file=/dev/null --srcdir=../../gth
configure:5442: error: ../../gth/configure failed for gth
That is within: ~/net/dls/vici-0.2/build, as according to README.
__________________
EFI Cheatsheet :: http://forums.fedoraforum.org/showthread.php?t=298546
Video Handler Script (VHS) (mass re-encode videos, screenrecorder, console music/webradio player, ...) :: http://forums.fedoraforum.org/showthread.php?t=299182
Windows 8+ & Fedora 20+ Dualboot :: http://forums.fedoraforum.org/showthread.php?t=298161
Reply With Quote
  #64  
Old 2nd February 2016, 02:59 AM
ocratato Online
Registered User
 
Join Date: Oct 2010
Location: Canberra
Posts: 2,573
linuxfirefox
Re: VICI: A Software Development Project

@sea, thanks again for your interest.
I was wondering if you could report the contents of vici-02/build/gth/config.log for a few lines after "checking can I compile moc_myqt.cpp?" (My apologies for not noticing that there was config.log in each sub-project.)

EDIT: Its probably not going to build using Qt5 - there are version checks that will fail.
I will amend the SourceForge readme files to indicate it is Qt4 only for now.

EDIT 2: In due course I am going to have to support multiple versions of Qt, so my plan is to set up a /opt directory for multiple Qt versions and then adjust VICI's configure scripts to set up some variables for the code generators, libraries and compile flags. I expect the code will also have some #ifdef controls since I believe there has been some reorganisation of header files.
__________________
Has anyone seriously considered that it might be turtles all the way down?
That's very old fashioned thinking.
The current model is that it's holographic nested virtualities of turtles, all the way down.

Last edited by ocratato; 2nd February 2016 at 10:07 PM.
Reply With Quote
  #65  
Old 3rd February 2016, 05:09 PM
sea Offline
"Shells" (of a sub world)
 
Join Date: May 2011
Location: Confoederatio Helvetica (Swissh)
Age: 37
Posts: 4,280
linuxfirefox
Re: VICI: A Software Development Project

Code:
grep "checking can I compile moc_myqt" -A50 $(find) 2>/dev/zero | tail -51

./build/gth/config.log:configure:4366: checking can I compile moc_myqt.cpp?
./build/gth/config.log-configure:4369: g++ -c -g -O2 -I/usr/include -I/usr/include/QtGui -I/usr/include/QtCore -I/usr/include/QtOpenGL  -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -o moc_myqt.o moc_myqt.cpp
./build/gth/config.log-In file included from moc_myqt.cpp:9:0:
./build/gth/config.log-myqt.h:1:19: fatal error: QObject: No such file or directory
./build/gth/config.log-compilation terminated.
./build/gth/config.log-configure:4372: $? = 1
./build/gth/config.log-configure:4375: error: couldn't compile moc_myqt.cpp
Code:
./build/gth/config.log-## ---------------- ##
./build/gth/config.log-## Cache variables. ##
./build/gth/config.log-## ---------------- ##
./build/gth/config.log-
./build/gth/config.log-ac_cv_build=x86_64-unknown-linux-gnu
./build/gth/config.log-ac_cv_c_compiler_gnu=yes
./build/gth/config.log-ac_cv_cxx_compiler_gnu=yes
./build/gth/config.log-ac_cv_env_CCC_set=
./build/gth/config.log-ac_cv_env_CCC_value=
./build/gth/config.log-ac_cv_env_CC_set=
./build/gth/config.log-ac_cv_env_CC_value=
./build/gth/config.log-ac_cv_env_CFLAGS_set=
./build/gth/config.log-ac_cv_env_CFLAGS_value=
./build/gth/config.log-ac_cv_env_CPPFLAGS_set=
./build/gth/config.log-ac_cv_env_CPPFLAGS_value=
./build/gth/config.log-ac_cv_env_CPP_set=
./build/gth/config.log-ac_cv_env_CPP_value=
./build/gth/config.log-ac_cv_env_CXXCPP_set=
./build/gth/config.log-ac_cv_env_CXXCPP_value=
./build/gth/config.log-ac_cv_env_CXXFLAGS_set=
./build/gth/config.log-ac_cv_env_CXXFLAGS_value=
./build/gth/config.log-ac_cv_env_CXX_set=
./build/gth/config.log-ac_cv_env_CXX_value=
./build/gth/config.log-ac_cv_env_LDFLAGS_set=
./build/gth/config.log-ac_cv_env_LDFLAGS_value=
./build/gth/config.log-ac_cv_env_LIBS_set=
./build/gth/config.log-ac_cv_env_LIBS_value=
./build/gth/config.log-ac_cv_env_XMKMF_set=
./build/gth/config.log-ac_cv_env_XMKMF_value=
./build/gth/config.log-ac_cv_env_build_alias_set=
./build/gth/config.log-ac_cv_env_build_alias_value=
./build/gth/config.log-ac_cv_env_host_alias_set=
./build/gth/config.log-ac_cv_env_host_alias_value=
./build/gth/config.log-ac_cv_env_target_alias_set=
./build/gth/config.log-ac_cv_env_target_alias_value=
./build/gth/config.log-ac_cv_func_connect=yes
./build/gth/config.log-ac_cv_func_gethostbyname=yes
./build/gth/config.log-ac_cv_func_remove=yes
./build/gth/config.log-ac_cv_func_shmat=yes
./build/gth/config.log-ac_cv_have_x='have_x=yes	ac_x_includes='\'''\''	ac_x_libraries='\'''\'''
./build/gth/config.log-ac_cv_host=x86_64-unknown-linux-gnu
./build/gth/config.log-ac_cv_lib_ICE_IceConnectionNumber=yes
./build/gth/config.log-ac_cv_objext=o
Code:
0 ~/net/dls/vici-0.2 $ ls /usr/include/[qQ]*
/usr/include/qt:
QtConcurrent  QtCore  QtDBus  QtGui  QtNetwork  QtOpenGL  QtOpenGLExtensions  QtPlatformHeaders  QtPlatformSupport  QtPrintSupport  QtSql  QtTest  QtWidgets  QtXml

/usr/include/qt4:
KDE     Qt          QtCore  QtDeclarative  QtGui   QtMultimedia  QtOpenGL  QtScriptTools  QtSvg   QtUiTools  QtXml
phonon  Qt3Support  QtDBus  QtDesigner     QtHelp  QtNetwork     QtScript  QtSql          QtTest  QtWebKit   QtXmlPatterns

/usr/include/qt4-32:
Qt          QtCore  QtDeclarative  QtGui   QtMultimedia  QtOpenGL  QtScriptTools  QtSvg   QtUiTools  QtXml
Qt3Support  QtDBus  QtDesigner     QtHelp  QtNetwork     QtScript  QtSql          QtTest  QtWebKit   QtXmlPatterns

/usr/include/quvi-0.9:
quvi  quvi.h

/usr/include/QZeitgeist:
DataModel           datasourceregistry.h  interpretation.h  log.h     logmodel.h     manifestation.h  monitor.h   qzeitgeist.h          refreshjob.h
DataSourceRegistry  Interpretation        Log               LogModel  Manifestation  Monitor          QZeitgeist  qzeitgeist_version.h
This is an Arch installation, not Fedora.
hth
__________________
EFI Cheatsheet :: http://forums.fedoraforum.org/showthread.php?t=298546
Video Handler Script (VHS) (mass re-encode videos, screenrecorder, console music/webradio player, ...) :: http://forums.fedoraforum.org/showthread.php?t=299182
Windows 8+ & Fedora 20+ Dualboot :: http://forums.fedoraforum.org/showthread.php?t=298161

Last edited by sea; 3rd February 2016 at 05:18 PM. Reason: EDIT: figured the data, supplied more info
Reply With Quote
  #66  
Old 3rd February 2016, 10:46 PM
ocratato Online
Registered User
 
Join Date: Oct 2010
Location: Canberra
Posts: 2,573
linuxfirefox
Re: VICI: A Software Development Project

@sea, thanks for the additional info.
The difference appears to be that the installed location of Qt is different.
As mentioned in my previous post, I will need to add a configure option so that the location of Qt can be specified.
Thanks again for trying.
__________________
Has anyone seriously considered that it might be turtles all the way down?
That's very old fashioned thinking.
The current model is that it's holographic nested virtualities of turtles, all the way down.
Reply With Quote
  #67  
Old 10th February 2016, 05:05 AM
ocratato Online
Registered User
 
Join Date: Oct 2010
Location: Canberra
Posts: 2,573
linuxfirefox
Re: VICI: A Software Development Project

Test Driven Development

The plan for VICI is to use a TDD approach.
Note that for this to be done properly, you have to have a design to work from. You cannot just have a test harness based on some ideas as to what you think the program will do - my term for that approach is "Debugging into Existence". What happens is that such programs fail as soon as some condition occurs that was not in the test suite.

My approach is to start with the design prototype - which is a working example of the design - and copy the header files into the project. It is probably a good idea to review the class declarations to fix any obvious short-comings. The design prototype may work, but its not necessarily robust.

I then create stub versions of each function and, while using the design prototype as a guide, add comments describing what the function should do and how it is to be done. You will probably find a few things in the prototype that can be improved - I add them as TODO comments so they are not overlooked later.

The next step is to create the unit test harness to put the functions through their paces. You can use both the comments in the stubs and the design prototype as the guide to building the test harness. You should aim to get good coverage of the paths through the code as well as check boundary and edge conditions.

Where possible you should also test the failure paths as well, though this can be difficult to implement. One possible approach is to test the failure paths during development (eg reverse boolean tests) and not worry about them for the final unit tests.

Next we add the details for each method. Obviously, pasting in the code from the design prototype is the quick way to do this, but you need to ensure that the code is robust - e.g. checking the return code from system calls and never assuming a pointer won't be null. You should run the test harness frequently during this phase to ensure your code is working correctly.

The last step is to add the improvements noted in the TODO comments. You can now use the test harness to confirm that the improvements don't break the design.
__________________
Has anyone seriously considered that it might be turtles all the way down?
That's very old fashioned thinking.
The current model is that it's holographic nested virtualities of turtles, all the way down.
Reply With Quote
  #68  
Old 6th March 2016, 11:43 AM
ocratato Online
Registered User
 
Join Date: Oct 2010
Location: Canberra
Posts: 2,573
linuxfirefox
Re: VICI: A Software Development Project

Automated Configuration

One of the features of VICI is that it consists of 13 application modules (plus a bit of infrastructure). The aim was to demonstrate how to build a large project from several smaller projects that can be independently developed. Since the modules will obviously have dependencies on each other we need some way of building the modules that doesn't require the completed versions of all the other modules to exist.

The first step was to produce a library containing a stubbed version of the facade of each module. This has just enough code to satisfy the compiler, though the functions will usually return NULL pointers, zero or false results.

The second step is to produce test harness versions of the modules that interface to the module we are currently building. The test harness for a module uses these local versions of the surrounding modules to supply test values and check the outputs from the module under test. In total there will probably end up being several dozen of these test modules.

The final step is the actual implementation version of each module.

What we don't want is for the code in the modules to have to be changed as we change from stub to test to implementation - that would just lead to test code being left in the production version. The standard solution to that problem is to use factory classes to create the modules. These are very simple objects that just have one method that returns a new instance of the object. We can thus hide the explicit type of the module in the factory.

However, we still have to tell the factories which version we want. We could use various flags and other parameters to control the factories, but a simpler solution is to just have multiple different types of factories, each of which instantiates the appropriate version of the module. This may seem like we have come full circle back to where we started, but we have made a significant simplification: While the modules are all very different from each other, the factories are quite similar.

We still need to hide the type of module, and since we now have a factory for each type, we again need a factory, but this time a factory for making factories - I call it the FactoryFactory class. Inside this I have an associative array that maps a module identifier (an enum) to the factory for that module. During the testing phase of development this is first populated with the factories for the stub version of the modules. A test harness program can then register its test harness version of modules, which would replace the stub version.

The problem is the final implementation version. The FactoryFactory cannot directly reference these since, for now, most of them don't even exist. Even when we have completed the coding, this will still be an issue since each of the three VICI programs will use a different subset of the modules. We don't want to load up libraries that are not going to be used. The solution is to use the system function dlsym to search for a module specific function by name - if it finds it, the function is used to create the factory - if not its just ignored. Hence the FactoryFactory first does a search for the implementation version of the factories, and then the test harnesses can overwrite them with test harness versions if they need to.

The result is a means of dynamically configuring the modules at run time that handles missing libraries.
__________________
Has anyone seriously considered that it might be turtles all the way down?
That's very old fashioned thinking.
The current model is that it's holographic nested virtualities of turtles, all the way down.
Reply With Quote
  #69  
Old 12th March 2016, 02:32 AM
ocratato Online
Registered User
 
Join Date: Oct 2010
Location: Canberra
Posts: 2,573
linuxfirefox
Re: VICI: A Software Development Project

Phase 3 Completed

I have just published the latest release of VICI.

https://sourceforge.net/projects/ocr...urce=directory

This one has much improved support for Qt, and will even work with either Qt4 or Qt5, and you can specify Qt's install location.

There is still not much for a user to actually use yet, but there is a little demo program called vici-syntax that you might try. To use it you enter some EBNF into the left panel and press the Parse button. I used the following specification for the cal program's options as my test data:

Code:
Options ::= [ Period ] [ DayOption ] [ Julian ] [ Date ] { "filename" } ;
Date ::= [ [ [ Day ] Month ] Year ] ;
Period ::= Single | Triple | Annual ;
Single ::= "-1" | "--one" ;
Triple ::= "-3" | "--three" ;
Annual ::= "-y" | "--year" ;
DayOption ::= Sunday | Monday ;
Sunday ::= "-s" | "--sunday" ;
Monday ::= "-m" | "--monday" ;
Julian ::= "-j" | "--julian" ;
Day ::= "1" ... "31" ;
Month ::= "1" ... "12" ;
Year ::= "1" ... "9999" ;
(The { "filename" } is not really part of cal's options but I wanted to show repetition.)
__________________
Has anyone seriously considered that it might be turtles all the way down?
That's very old fashioned thinking.
The current model is that it's holographic nested virtualities of turtles, all the way down.
Reply With Quote
  #70  
Old 12th March 2016, 03:42 PM
lsatenstein Online
Registered User
 
Join Date: Jun 2005
Location: Montreal, Que, Canada
Posts: 4,089
linuxfedorafirefox
Re: VICI: A Software Development Project

Hi Ocratato

Period ::=Single | Triple | Semi | Annual ; //consider Single| trimestre| sixmonthly| annually
Dates https://en.wikipedia.org/wiki/Date_format_by_country
Weekbegins: Sunday|Monday
Consider adding weekno: (1..53) //manufacturing calendars use weekno typically 1 to nnnn (max project weeks)
__________________
Leslie in Montreal

Interesting web sites list
http://forums.fedoraforum.org/showth...40#post1697840
Reply With Quote
  #71  
Old 12th March 2016, 11:34 PM
ocratato Online
Registered User
 
Join Date: Oct 2010
Location: Canberra
Posts: 2,573
linuxfirefox
Re: VICI: A Software Development Project

Quote:
Originally Posted by lsatenstein View Post
Hi Ocratato

Period ::=Single | Triple | Semi | Annual ; //consider Single| trimestre| sixmonthly| annually
Dates https://en.wikipedia.org/wiki/Date_format_by_country
Weekbegins: Sunday|Monday
Consider adding weekno: (1..53) //manufacturing calendars use weekno typically 1 to nnnn (max project weeks)
I think you may be misunderstanding.
The aim is to describe the syntax of the options for the existing programs, cal in this case.

The intention is to provide something a little more visual than a man page, though I intend to make them visible as well.
__________________
Has anyone seriously considered that it might be turtles all the way down?
That's very old fashioned thinking.
The current model is that it's holographic nested virtualities of turtles, all the way down.
Reply With Quote
  #72  
Old 14th March 2016, 06:23 AM
mynamebilal Offline
Registered User
 
Join Date: Mar 2016
Location: home
Posts: 5
windows_7chrome
Re: VICI: A Software Development Project

hi, awesome idea, i am a student of computer science and i think this thread is only for me, because i am facing the same problem, i want someone to guide me or instruct me that how can 1 thing be made ideally, and this will become a night mare for computer science students like me.

WOOCommerce Bulk SMS | WOOCommerce Notifications | WOOcommerce Plugin Notification

Last edited by mynamebilal; 18th March 2016 at 05:50 AM.
Reply With Quote
  #73  
Old 14th March 2016, 08:30 AM
ocratato Online
Registered User
 
Join Date: Oct 2010
Location: Canberra
Posts: 2,573
linuxfirefox
Re: VICI: A Software Development Project

Quote:
Originally Posted by mynamebilal View Post
hi, awesome idea, i am a student of computer science and i think this thread is only for me, because i am facing the same problem, i want someone to guide me or instruct me that how can 1 thing be made ideally, and this will become a night mare for computer science students like me.

Thanks & Good Luck !
Thanks for the thoughts.
Yes, this thread is intended to demonstrate what is involved in a complete non-trivial project, which is something you probably won't get to see during your studies as there is not normally sufficient time in a course.

[Unfortunately the attachments in the thread posts don't seem to work anymore, so please feel free to look at the docs in the SourceForge site: https://sourceforge.net/projects/ocr...files/devdocs/ ]

I would recommend getting guidance from your tutors and lecturers for now.
While I consider the thread to be an example good practice it is really just the result of my experience. Your tutors should be able to draw on the entire industry for their advice.
__________________
Has anyone seriously considered that it might be turtles all the way down?
That's very old fashioned thinking.
The current model is that it's holographic nested virtualities of turtles, all the way down.

Last edited by ocratato; 18th March 2016 at 12:52 AM.
Reply With Quote
  #74  
Old 4th April 2016, 03:31 PM
ocratato Online
Registered User
 
Join Date: Oct 2010
Location: Canberra
Posts: 2,573
linuxfirefox
Re: VICI: A Software Development Project

Phase 4 completed

I have just published the latest release of VICI: https://sourceforge.net/projects/ocratato-vici/

This introduces the vici-admin program which will be used to prepare commands so that they are (hopefully) a bit easier for the novice to understand.

I have also introduced the user guide, which at the moment only describes the vici-admin program and some installation reference material. I will add to this as the development continues.

There is an automated test version of the program which, unfortunately, is not as complete as I had initially intended.
I ran into a problem with the GUI test harness in that when a dialog box is displayed control is passed to a separate thread and the hence the test harness is unable to generate any interactions - this is not good for an automated test.
For now the answer is to avoid dialog boxes

I am quite keen to start on the next phase - it allows the user to search for key words in the descriptions for our prepared commands, the man pages, the desktop files, and even the rpm database. The user can then tag and classify the commands - eg put all the text processing commands under one search tag.
__________________
Has anyone seriously considered that it might be turtles all the way down?
That's very old fashioned thinking.
The current model is that it's holographic nested virtualities of turtles, all the way down.
Reply With Quote
  #75  
Old 1st May 2016, 01:51 AM
ocratato Online
Registered User
 
Join Date: Oct 2010
Location: Canberra
Posts: 2,573
linuxfirefox
Re: VICI: A Software Development Project

This is getting disappointing: Another problem with my GUI test harness has emerged.

The test harness runs a shell script to generate the commands to apply to the widgets. This allows me to quickly tweak the commands without having to recompile. This script is launched by my code, and that code includes the signal handling for catching the termination of a child process.

In my current part of the VICI project I am using Qt's QProcess class to manage several child processes as this allows good integration with the GUI components. I assume (and have seen some source code) that indicates that Qt is also handling the signals for child process exits, as it should.

Unfortunately you can't have two signal handlers for the same signal. Since my signal handler is installed after the Qt one I thought I might be able to save theirs and call it if the child process wasn't one that I had started. After a fair amount of reworking of the signal handling code to implement this, it still doesn't work

For now I will revert to hand testing. Later I will try to get to the bottom of this, or use QProcess in the test harness rather than my process handler.
__________________
Has anyone seriously considered that it might be turtles all the way down?
That's very old fashioned thinking.
The current model is that it's holographic nested virtualities of turtles, all the way down.
Reply With Quote
Reply

Tags
continued, development, project, software, vici

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Web Development Software Pepperonie Using Fedora 2 5th May 2007 10:56 PM
Development software for Linux jo3 Using Fedora 9 15th June 2006 03:28 PM
Software Development handshakeit Using Fedora 0 5th October 2005 08:40 AM


Current GMT-time: 02:46 (Monday, 24-07-2017)

TopSubscribe to XML RSS for all Threads in all ForumsFedoraForumDotOrg Archive
logo

All trademarks, and forum posts in this site are property of their respective owner(s).
FedoraForum.org is privately owned and is not directly sponsored by the Fedora Project or Red Hat, Inc.

Privacy Policy | Term of Use | Posting Guidelines | Archive | Contact Us | Founding Members

Powered by vBulletin® Copyright ©2000 - 2012, vBulletin Solutions, Inc.

FedoraForum is Powered by RedHat