summaryrefslogtreecommitdiffstats
path: root/test/QT.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/QT.py')
-rw-r--r--test/QT.py84
1 files changed, 26 insertions, 58 deletions
diff --git a/test/QT.py b/test/QT.py
index 680784f..a03384e 100644
--- a/test/QT.py
+++ b/test/QT.py
@@ -73,9 +73,8 @@ sys.exit(0)
""" )
test.write(['qt', 'bin', 'myuic.py'], """
-import os.path
-import re
import sys
+import os.path
import string
output_arg = 0
impl_arg = 0
@@ -99,11 +98,10 @@ for arg in sys.argv[1:]:
sourceFile = arg
if impl:
output.write( '#include "' + impl + '"\\n' )
- includes = re.findall('<include.*?>(.*?)</include>', source.read())
- for incFile in includes:
- # this is valid for ui.h files, at least
- if os.path.exists(incFile):
- output.write('#include "' + incFile + '"\\n')
+ if string.find(source.read(), '// ui.h') != -1:
+ output.write(
+ '#include "' +
+ os.path.basename(os.path.splitext(sourceFile)[0]) + '.ui.h"\\n')
else:
output.write( '#include "my_qobject.h"\\n' + source.read() + " Q_OBJECT \\n" )
output.close()
@@ -273,22 +271,21 @@ test.not_up_to_date(chdir='work2', options = '-n', arguments = moc)
test.not_up_to_date(chdir='work2', options = '-n', arguments = cpp)
test.not_up_to_date(chdir='work2', options = '-n', arguments = h)
test.run(chdir='work2', arguments = aaa_dll)
-test.write(['work2', 'aaa.ui'], r"""
-void aaa(void)
-//<include>aaa.ui.h</include>
-""")
-test.run(chdir='work2', arguments = aaa_dll) # test that non-existant ui.h files are ignored (as uic does)
test.write(['work2', 'aaa.ui.h'], r"""
/* test dependency to .ui.h */
""")
+test.write(['work2', 'aaa.ui'], r"""
+void aaa(void)
+// ui.h
+""")
test.run(chdir='work2', arguments = aaa_dll)
test.write(['work2', 'aaa.ui.h'], r"""
/* changed */
""")
test.not_up_to_date(chdir='work2', options = '-n', arguments = obj)
-test.not_up_to_date(chdir='work2', options = '-n', arguments = cpp)
-test.not_up_to_date(chdir='work2', options = '-n', arguments = h)
-test.not_up_to_date(chdir='work2', options = '-n', arguments = moc)
+test.up_to_date(chdir='work2', options = '-n', arguments = cpp)
+test.up_to_date(chdir='work2', options = '-n', arguments = h)
+test.up_to_date(chdir='work2', options = '-n', arguments = moc)
# clean up
test.run(chdir='work2', arguments = '-c ' + aaa_dll)
@@ -301,9 +298,6 @@ test.fail_test(not os.path.exists(test.workpath('work2','build',moc)) or
os.path.exists(test.workpath('work2', moc)) or
os.path.exists(test.workpath('work2', cpp)) or
os.path.exists(test.workpath('work2', h)))
-cppContents = test.read(test.workpath('work2', 'build', cpp))
-test.fail_test(string.find(cppContents, '#include "aaa.ui.h"') == -1)
-
test.run(chdir='work2',
arguments = "build_dir=1 chdir=1 " +
test.workpath('work2', 'build', aaa_dll) )
@@ -325,6 +319,7 @@ test.must_not_exist(['work2', moc],
['work2', cpp],
['work2', h])
+
##############################################################################
# 3. create a moc file from a cpp file
@@ -527,16 +522,16 @@ env = Environment(tools=['default','qt'],
CXXFILESUFFIX=".cpp")
conf = env.Configure()
-if not conf.CheckLib(env.subst("$QT_LIB"), autoadd=0):
+if not conf.CheckLib(env.subst("$QT_LIB")):
conf.env['QT_LIB'] = 'qt-mt'
- if not conf.CheckLib(env.subst("$QT_LIB"), autoadd=0):
+ if not conf.CheckLib(env.subst("$QT_LIB")):
Exit(0)
env = conf.Finish()
-BuildDir('bld', '.')
-env.Program('bld/test_realqt', ['bld/mocFromCpp.cpp',
- 'bld/mocFromH.cpp',
- 'bld/anUiFile.ui',
- 'bld/main.cpp'])
+
+env.Program('test_realqt', ['mocFromCpp.cpp',
+ 'mocFromH.cpp',
+ 'anUiFile.ui',
+ 'main.cpp'])
""")
test.write( ['work7', 'mocFromCpp.h'],"""
@@ -593,56 +588,29 @@ void mocFromH() {
<string>MyWidget</string>
</property>
</widget>
-<includes>
- <include location="local" impldecl="in implementation">anUiFile.ui.h</include>
-</includes>
-<slots>
- <slot>testSlot()</slot>
-</slots>
<layoutdefaults spacing="6" margin="11"/>
</UI>
""")
- test.write( ['work7', 'anUiFile.ui.h'], r"""
-#include <stdio.h>
-#if QT_VERSION >= 0x030100
-void MyWidget::testSlot()
-{
- printf("Hello World\n");
-}
-#endif
-""")
- test.write( ['work7', 'main.cpp'], r"""
-#include <qapp.h>
+ test.write( ['work7', 'main.cpp'], """
#include "mocFromCpp.h"
#include "mocFromH.h"
#include "anUiFile.h"
-#include <stdio.h>
-
-int main(int argc, char **argv) {
- QApplication app(argc, argv);
+int main() {
mocFromCpp();
mocFromH();
- MyWidget mywidget;
-#if QT_VERSION >= 0x030100
- mywidget.testSlot();
-#else
- printf("Hello World\n");
-#endif
- return 0;
+ MyWidget mywidget();
}
""")
- test.run(chdir='work7', arguments="bld/test_realqt" + _exe)
- test.run(program=test.workpath("work7", "bld", "test_realqt"),
- stdout="Hello World\n")
+ test.run(chdir='work7', arguments="test_realqt" + _exe)
QTDIR=os.environ['QTDIR']
del os.environ['QTDIR']
PATH=os.environ['PATH']
os.environ['PATH']='.'
- test.run(chdir='work7', stderr=None, arguments="-c bld/test_realqt" + _exe)
+ test.run(chdir='work7', stderr=None, arguments="-c test_realqt" + _exe)
test.fail_test(not test.match_re_dotall(test.stderr(), r""".*
scons: warning: Could not detect qt, using empty QTDIR
""" + TestSCons.file_expr))
@@ -650,7 +618,7 @@ scons: warning: Could not detect qt, using empty QTDIR
os.environ['PATH'] = PATH
test.run(chdir='work7', stderr=None,
- arguments="PATH=%s%sbin bld%stest_realqt%s"%(QTDIR,os.sep,os.sep,_exe))
+ arguments="PATH=%s%sbin test_realqt%s"%(QTDIR,os.sep,_exe))
test.fail_test(not test.match_re(test.stderr(), (r"""
scons: warning: Could not detect qt, using moc executable as a hint \(QTDIR=%s\)
""" + TestSCons.file_expr) % re.escape(QTDIR)))