summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-01-08 06:49:17 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-01-08 06:49:17 (GMT)
commit4c17c3b244f443cc103d14fc26d845dc95b08012 (patch)
tree74a6cc3c7f4e3eef2a5293b9f1abee7bc5f019ae /tests
parent118e7a807d0764dee97612589fe5d7072d271e1e (diff)
parenta25fbb9afdda4315a501ebf10c9fede8905b4329 (diff)
downloadQt-4c17c3b244f443cc103d14fc26d845dc95b08012.zip
Qt-4c17c3b244f443cc103d14fc26d845dc95b08012.tar.gz
Qt-4c17c3b244f443cc103d14fc26d845dc95b08012.tar.bz2
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/berlin-staging-1 into 4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/berlin-staging-1: fix test under windows don't complain about unresolved base when the reference is absolute make the lupdate tests more verbose in case of failure don't use qmake for test setup move equivalent of output_ts test to good/ look for the .result file in the dir where the output is expected to go fix sametext and number heuristics fix number heuristics, part 1 no point in specifying -ts when a .pro file is specified clean up the lupdatecmd files tidy up the test .pro files remove dead code
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/linguist/lupdate/.gitignore2
-rw-r--r--tests/auto/linguist/lupdate/lupdate.pro3
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/backslashes/lupdatecmd2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/backslashes/project.pro16
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/backslashes/ts/project.ts.result (renamed from tests/auto/linguist/lupdate/testdata/good/backslashes/project.ts.result)0
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.pro15
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr/project.pro15
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.pro11
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.pro11
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/heuristics/expectedoutput.txt5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/heuristics/lupdatecmd2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/heuristics/main.cpp (renamed from tests/auto/linguist/lupdate/testlupdate.h)53
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/heuristics/project.pro4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/heuristics/project.ts.before38
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/heuristics/project.ts.result22
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/lacksqobject/project.pro11
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_ordering/lupdatecmd6
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.pro13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_versions/project.pro13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.pro13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp/project.pro13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/lupdatecmd6
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.pro13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.pro13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui/project.pro13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.pro13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.pro11
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/namespaces/project.pro11
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parse_special_chars/project.pro11
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecontexts/project.pro11
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp/project.pro11
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.pro11
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsejava/project.pro11
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parseui/project.pro12
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/prefix/project.pro11
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/preprocess/project.pro11
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing/project.pro11
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing2/project.pro11
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpaths/project.pro5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/project.pro9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/project.pro5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/sub1/sub1.pro11
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/common/common.pro5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/lupdatecmd1
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/mac/mac.pro6
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/unix/unix.pro6
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/win/win.pro6
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/reloutput/lupdatecmd2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/reloutput/main.cpp (renamed from tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/main.cpp)0
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/reloutput/project.pro3
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/reloutput/translations/project.ts.result (renamed from tests/auto/linguist/lupdate/testdata/output_ts/project.ts.result)0
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.pro13
-rw-r--r--tests/auto/linguist/lupdate/testdata/output_ts/lupdatecmd5
-rw-r--r--tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/tools.pro12
-rw-r--r--tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/translations/readme.txt2
-rw-r--r--tests/auto/linguist/lupdate/testlupdate.cpp158
-rw-r--r--tests/auto/linguist/lupdate/tst_lupdate.cpp111
58 files changed, 172 insertions, 652 deletions
diff --git a/tests/auto/linguist/lupdate/.gitignore b/tests/auto/linguist/lupdate/.gitignore
index 4ba5b79..389f2dc 100644
--- a/tests/auto/linguist/lupdate/.gitignore
+++ b/tests/auto/linguist/lupdate/.gitignore
@@ -1,4 +1,4 @@
tst_lupdate
testdata/good/*/project.ts
-testdata/output_ts/toplevel/library/tools/translations/project.ts
+testdata/good/*/*/project.ts
testdata/recursivescan/*.ts
diff --git a/tests/auto/linguist/lupdate/lupdate.pro b/tests/auto/linguist/lupdate/lupdate.pro
index 19259dc..bcaaf66 100644
--- a/tests/auto/linguist/lupdate/lupdate.pro
+++ b/tests/auto/linguist/lupdate/lupdate.pro
@@ -2,6 +2,5 @@ CONFIG += qttest_p4
TARGET = tst_lupdate
-HEADERS += testlupdate.h
-SOURCES += tst_lupdate.cpp testlupdate.cpp
+SOURCES += tst_lupdate.cpp
diff --git a/tests/auto/linguist/lupdate/testdata/good/backslashes/lupdatecmd b/tests/auto/linguist/lupdate/testdata/good/backslashes/lupdatecmd
index 9b83a04..f0e1ab2 100644
--- a/tests/auto/linguist/lupdate/testdata/good/backslashes/lupdatecmd
+++ b/tests/auto/linguist/lupdate/testdata/good/backslashes/lupdatecmd
@@ -1,3 +1 @@
-# Add the command that lupdate should run here. If it can't find anything it will default to
TRANSLATION: ts\project.ts
-lupdate -silent project.pro
diff --git a/tests/auto/linguist/lupdate/testdata/good/backslashes/project.pro b/tests/auto/linguist/lupdate/testdata/good/backslashes/project.pro
index 3584c89..4698b2b 100644
--- a/tests/auto/linguist/lupdate/testdata/good/backslashes/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/backslashes/project.pro
@@ -1,19 +1,3 @@
-######################################################################
-# Automatically generated by qmake (2.01a) ma 22. jan 10:10:16 2007
-######################################################################
-
-TEMPLATE = app
-TARGET =
-DEPENDPATH += .
-INCLUDEPATH += .
-
-# Input
SOURCES += src\main.cpp
TRANSLATIONS = ts\project.ts
-
-
-!exists(ts) {
- win32: system(md ts)
- else: system(mkdir ts)
-}
diff --git a/tests/auto/linguist/lupdate/testdata/good/backslashes/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/backslashes/ts/project.ts.result
index d3a5fdf..d3a5fdf 100644
--- a/tests/auto/linguist/lupdate/testdata/good/backslashes/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/backslashes/ts/project.ts.result
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.pro b/tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.pro
index 848ebda..7225608 100644
--- a/tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.pro
@@ -1,20 +1,7 @@
-TEMPLATE = app
-TARGET +=
-DEPENDPATH += .
-INCLUDEPATH += .
-
-# Input
SOURCES += main.cpp
+CONFIG+= console
TRANSLATIONS = project.ts
-CONFIG+= console
CODECFORTR = utf-8
CODECFORSRC = utf-8
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm $$TRANSLATIONS)
-}
-
-
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr/project.pro b/tests/auto/linguist/lupdate/testdata/good/codecfortr/project.pro
index 81273ee..64f3c85 100644
--- a/tests/auto/linguist/lupdate/testdata/good/codecfortr/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr/project.pro
@@ -1,19 +1,6 @@
-TEMPLATE = app
-TARGET +=
-DEPENDPATH += .
-INCLUDEPATH += .
-
-# Input
SOURCES += main.cpp
+CONFIG+= console
TRANSLATIONS = project.ts
-CONFIG+= console
CODECFORTR = CP1251
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm $$TRANSLATIONS)
-}
-
-
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.pro b/tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.pro
index 1d5b071..d5697eb 100644
--- a/tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.pro
@@ -1,15 +1,6 @@
-TEMPLATE = app
-
SOURCES += main.cpp
+CONFIG += console
TRANSLATIONS = project.ts
-CONFIG += console
CODECFORTR = CP1252
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm $$TRANSLATIONS)
-}
-
-
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.pro b/tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.pro
index f4975f2..c95939c 100644
--- a/tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.pro
@@ -1,16 +1,7 @@
-TEMPLATE = app
-
SOURCES += main.cpp
+CONFIG += console
TRANSLATIONS = project.ts
-CONFIG += console
CODECFORSRC = CP1252
CODECFORTR = UTF-8
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm $$TRANSLATIONS)
-}
-
-
diff --git a/tests/auto/linguist/lupdate/testdata/good/heuristics/expectedoutput.txt b/tests/auto/linguist/lupdate/testdata/good/heuristics/expectedoutput.txt
new file mode 100644
index 0000000..1eed403
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/heuristics/expectedoutput.txt
@@ -0,0 +1,5 @@
+Updating 'project\.ts'\.\.\.
+ Found 3 source text\(s\) \(3 new and 0 already existing\)
+ Removed 5 obsolete entries
+ Number heuristic provided 1 translation\(s\)
+ Same-text heuristic provided 1 translation\(s\)
diff --git a/tests/auto/linguist/lupdate/testdata/good/heuristics/lupdatecmd b/tests/auto/linguist/lupdate/testdata/good/heuristics/lupdatecmd
new file mode 100644
index 0000000..6bda261
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/heuristics/lupdatecmd
@@ -0,0 +1,2 @@
+TRANSLATION: project.ts
+lupdate -verbose -disable-heuristic similartext -no-obsolete project.pro
diff --git a/tests/auto/linguist/lupdate/testlupdate.h b/tests/auto/linguist/lupdate/testdata/good/heuristics/main.cpp
index 581e5e9..9f36b33 100644
--- a/tests/auto/linguist/lupdate/testlupdate.h
+++ b/tests/auto/linguist/lupdate/testdata/good/heuristics/main.cpp
@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the Qt Linguist of the Qt Toolkit.
+** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -39,49 +39,24 @@
**
****************************************************************************/
-#ifndef TESTLUPDATE_H
-#define TESTLUPDATE_H
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
-#include <QObject>
-#include <QProcess>
-#include <QStringList>
+#define QTCORE <QtCore>
+#include QTCORE // Hidden from lupdate, but compiles
-class TestLUpdate : public QObject
-{
+class A: public QObject {
Q_OBJECT
+ void foo()
+ {
+ // number Heuristics
+ tr("version 2.0 now");
-public:
- TestLUpdate();
- virtual ~TestLUpdate();
+ // same text match
+ tr("this is the matched same text");
- void setWorkingDirectory( const QString &workDir);
- bool run( const QString &commandline);
- bool updateProFile( const QString &arguments);
- bool qmake();
- QStringList getErrorMessages() {
- return make_result;
+ // failed same text
+ tr("this is the non-matched same text");
}
- void clearResult() {
- make_result.clear();
- }
-private:
- QString m_cmdLupdate;
- QString m_cmdQMake;
- QString m_workDir;
- QProcess *childProc;
- QStringList env_list;
- QStringList make_result;
-
- bool child_show;
- bool qws_mode;
- bool exit_ok;
-
- bool runChild( bool showOutput, const QString &program, const QStringList &argList = QStringList());
- void addMakeResult( const QString &result );
- void childHasData();
-
-private slots:
- void childReady(int exitCode);
};
-#endif // TESTLUPDATE_H
diff --git a/tests/auto/linguist/lupdate/testdata/good/heuristics/project.pro b/tests/auto/linguist/lupdate/testdata/good/heuristics/project.pro
new file mode 100644
index 0000000..034f298
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/heuristics/project.pro
@@ -0,0 +1,4 @@
+SOURCES = main.cpp
+CONFIG -= debug_and_release
+
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/heuristics/project.ts.before b/tests/auto/linguist/lupdate/testdata/good/heuristics/project.ts.before
new file mode 100644
index 0000000..ce82810
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/heuristics/project.ts.before
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>A</name>
+ <message>
+ <location filename="main.cpp" line="53"/>
+ <source>version 1.0 now</source>
+ <translation>teraz wersja 1.0</translation>
+ </message>
+</context>
+<context>
+ <name>B</name>
+ <message>
+ <location filename="main.cpp" line="56"/>
+ <source>this is the matched same text</source>
+ <translation>der same-text-treffer</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="59"/>
+ <source>this is the non-matched same text</source>
+ <translation>same-text-reinfall variante eins</translation>
+ </message>
+</context>
+<context>
+ <name>C</name>
+ <message>
+ <location filename="main.cpp" line="56"/>
+ <source>this is the matched same text</source>
+ <translation>der same-text-treffer</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="59"/>
+ <source>this is the non-matched same text</source>
+ <translation>völlig andere variante des reinfalls mit same-text</translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/heuristics/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/heuristics/project.ts.result
new file mode 100644
index 0000000..402ad9a
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/heuristics/project.ts.result
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>A</name>
+ <message>
+ <location filename="main.cpp" line="53"/>
+ <source>version 2.0 now</source>
+ <translation type="unfinished">teraz wersja 1.0 {2.0 ?}</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="56"/>
+ <source>this is the matched same text</source>
+ <translation type="unfinished">der same-text-treffer</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="59"/>
+ <source>this is the non-matched same text</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/lacksqobject/project.pro b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/project.pro
index 7547a8d..759bea0 100644
--- a/tests/auto/linguist/lupdate/testdata/good/lacksqobject/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/project.pro
@@ -1,12 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
SOURCES = main.cpp
-TRANSLATIONS += project.ts
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm $$TRANSLATIONS)
-}
-
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_ordering/lupdatecmd b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/lupdatecmd
index 91a4800..82b4b0d 100644
--- a/tests/auto/linguist/lupdate/testdata/good/merge_ordering/lupdatecmd
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/lupdatecmd
@@ -1,5 +1 @@
-# Add the command that lupdate should run here. If it can't find anything it will default to
-# 'lupdate project.pro -ts project.ts'
-
-# lupdate project.pro
-lupdate -silent -locations relative project.pro
+lupdate -locations relative project.pro
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.pro b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.pro
index e79456f..6149858 100644
--- a/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.pro
@@ -1,14 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
SOURCES += foo.cpp
-TRANSLATIONS = project.ts
-
-# Copy the ts to a temp file because:
-# 1. The depot file is usually read-only
-# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
-# without reverting the original file again.
-
-win32: system(copy /Y project.ts.before $$TRANSLATIONS)
-unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.pro b/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.pro
index 6c704c2..fa56972 100644
--- a/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.pro
@@ -1,14 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
FORMS += project.ui
-TRANSLATIONS = project.ts
-
-# Copy the ts to a temp file because:
-# 1. The depot file is usually read-only
-# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
-# without reverting the original file again.
-
-win32: system(copy /Y project.ts.before $$TRANSLATIONS)
-unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.pro b/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.pro
index f4faf2f..759bea0 100644
--- a/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.pro
@@ -1,14 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
SOURCES = main.cpp
-TRANSLATIONS = project.ts
-
-# Copy the ts to a temp file because:
-# 1. The depot file is usually read-only
-# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
-# without reverting the original file again.
-
-win32: system(copy /Y project.ts.before $$TRANSLATIONS)
-unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp/project.pro b/tests/auto/linguist/lupdate/testdata/good/mergecpp/project.pro
index e988c0a..63f5d66 100644
--- a/tests/auto/linguist/lupdate/testdata/good/mergecpp/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp/project.pro
@@ -1,14 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
SOURCES += finddialog.cpp
-TRANSLATIONS = project.ts
-
-# Copy the ts to a temp file because:
-# 1. The depot file is usually read-only
-# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
-# without reverting the original file again.
-
-win32: system(copy /Y project.ts.before $$TRANSLATIONS)
-unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/lupdatecmd b/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/lupdatecmd
index d200143..500a822 100644
--- a/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/lupdatecmd
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/lupdatecmd
@@ -1,5 +1 @@
-# Add the command that lupdate should run here. If it can't find anything it will default to
-# 'lupdate project.pro -ts project.ts'
-
-# lupdate project.pro
-lupdate -silent -noobsolete project.pro
+lupdate -noobsolete project.pro
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.pro b/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.pro
index e988c0a..63f5d66 100644
--- a/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.pro
@@ -1,14 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
SOURCES += finddialog.cpp
-TRANSLATIONS = project.ts
-
-# Copy the ts to a temp file because:
-# 1. The depot file is usually read-only
-# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
-# without reverting the original file again.
-
-win32: system(copy /Y project.ts.before $$TRANSLATIONS)
-unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.pro b/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.pro
index e988c0a..63f5d66 100644
--- a/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.pro
@@ -1,14 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
SOURCES += finddialog.cpp
-TRANSLATIONS = project.ts
-
-# Copy the ts to a temp file because:
-# 1. The depot file is usually read-only
-# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
-# without reverting the original file again.
-
-win32: system(copy /Y project.ts.before $$TRANSLATIONS)
-unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergeui/project.pro b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.pro
index 28ba291..fa56972 100644
--- a/tests/auto/linguist/lupdate/testdata/good/mergeui/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.pro
@@ -1,14 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
FORMS += project.ui
-TRANSLATIONS = project.ts
-
-# Copy the ts to a temp file because:
-# 1. The depot file is usually read-only
-# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
-# without reverting the original file again.
-
-win32: system(copy /Y project.ts.before $$TRANSLATIONS)
-unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.pro b/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.pro
index 28ba291..fa56972 100644
--- a/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.pro
@@ -1,14 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
FORMS += project.ui
-TRANSLATIONS = project.ts
-
-# Copy the ts to a temp file because:
-# 1. The depot file is usually read-only
-# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
-# without reverting the original file again.
-
-win32: system(copy /Y project.ts.before $$TRANSLATIONS)
-unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.pro b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.pro
index 4582705..bbabdfb 100644
--- a/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.pro
@@ -1,13 +1,4 @@
-TEMPLATE = app
-LANGUAGE = C++
-
SOURCES += main.cpp
SOURCES += finddialog.cpp
-TRANSLATIONS += project.ts
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm $$TRANSLATIONS)
-}
-
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/namespaces/project.pro b/tests/auto/linguist/lupdate/testdata/good/namespaces/project.pro
index 56d472c..c96859b 100644
--- a/tests/auto/linguist/lupdate/testdata/good/namespaces/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/namespaces/project.pro
@@ -1,12 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
SOURCES += main.cpp
-TRANSLATIONS += project.ts
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm $$TRANSLATIONS)
-}
-
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/parse_special_chars/project.pro b/tests/auto/linguist/lupdate/testdata/good/parse_special_chars/project.pro
index cb18ea4..c96859b 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parse_special_chars/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/parse_special_chars/project.pro
@@ -1,12 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
SOURCES += main.cpp
-TRANSLATIONS += project.ts
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm $$TRANSLATIONS)
-}
-
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecontexts/project.pro b/tests/auto/linguist/lupdate/testdata/good/parsecontexts/project.pro
index 7547a8d..759bea0 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsecontexts/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecontexts/project.pro
@@ -1,12 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
SOURCES = main.cpp
-TRANSLATIONS += project.ts
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm $$TRANSLATIONS)
-}
-
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.pro b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.pro
index 4582705..bbabdfb 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.pro
@@ -1,13 +1,4 @@
-TEMPLATE = app
-LANGUAGE = C++
-
SOURCES += main.cpp
SOURCES += finddialog.cpp
-TRANSLATIONS += project.ts
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm $$TRANSLATIONS)
-}
-
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.pro b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.pro
index 7547a8d..759bea0 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.pro
@@ -1,12 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
SOURCES = main.cpp
-TRANSLATIONS += project.ts
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm $$TRANSLATIONS)
-}
-
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsejava/project.pro b/tests/auto/linguist/lupdate/testdata/good/parsejava/project.pro
index 7e64c80..657b535 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsejava/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/parsejava/project.pro
@@ -1,12 +1,3 @@
-TEMPLATE = app
-LANGUAGE = Java
-
SOURCES += main.java
-TRANSLATIONS += project.ts
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm $$TRANSLATIONS)
-}
-
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/parseui/project.pro b/tests/auto/linguist/lupdate/testdata/good/parseui/project.pro
index bdc06e7..fa56972 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parseui/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/parseui/project.pro
@@ -1,13 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
FORMS += project.ui
-TRANSLATIONS = project.ts
-
-exists( $$TRANSLATIONS ) {
- win32 : system(del $$TRANSLATIONS)
- unix : system(rm $$TRANSLATIONS)
-}
-
-
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/prefix/project.pro b/tests/auto/linguist/lupdate/testdata/good/prefix/project.pro
index 7547a8d..759bea0 100644
--- a/tests/auto/linguist/lupdate/testdata/good/prefix/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/prefix/project.pro
@@ -1,12 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
SOURCES = main.cpp
-TRANSLATIONS += project.ts
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm $$TRANSLATIONS)
-}
-
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/preprocess/project.pro b/tests/auto/linguist/lupdate/testdata/good/preprocess/project.pro
index 012c7e0..c96859b 100644
--- a/tests/auto/linguist/lupdate/testdata/good/preprocess/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/preprocess/project.pro
@@ -1,12 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
SOURCES += main.cpp
-TRANSLATIONS += project.ts
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm -f $$TRANSLATIONS)
-}
-
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing/project.pro b/tests/auto/linguist/lupdate/testdata/good/proparsing/project.pro
index 3078817..0e920f9 100644
--- a/tests/auto/linguist/lupdate/testdata/good/proparsing/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing/project.pro
@@ -1,6 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
# Try to reference a variable that does not exist:
MYVAR=$$THIS_VARIABLE_IS_NOT_DEFINED
@@ -31,10 +28,4 @@ if (exists($$member($$(PATH), 0))) {
SOURCES += main_dependpath.cpp
}
-TRANSLATIONS += project.ts
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm -f $$TRANSLATIONS)
-}
-
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing2/project.pro b/tests/auto/linguist/lupdate/testdata/good/proparsing2/project.pro
index 1d6895a..3dc4208 100644
--- a/tests/auto/linguist/lupdate/testdata/good/proparsing2/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing2/project.pro
@@ -3,9 +3,6 @@
# It also tries to verify the behaviour of combining quoted and non-quoted elements with literals.
#
-TEMPLATE = app
-LANGUAGE = C++
-
QUOTED = $$quote(variable with spaces)
VERSIONAB = "a.b"
VAB = $$split(VERSIONAB, ".")
@@ -33,10 +30,4 @@ SOURCES += $$Q3
win32: SOURCES += $$system(type files-cc.txt)
unix: SOURCES += $$system(cat files-cc.txt)
-TRANSLATIONS += project.ts
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm $$TRANSLATIONS)
-}
-
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/project.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/project.pro
index 820b4fa..6bfe751 100644
--- a/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/project.pro
@@ -3,8 +3,3 @@ SOURCES += file*.cpp filter.cpp non-existing.cpp
include(sub/sub.pri)
TRANSLATIONS = project.ts
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm -f $$TRANSLATIONS)
-}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/project.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/project.pro
index 3810a02..5e23538 100644
--- a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/project.pro
@@ -1,6 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
include(win/win.pri)
include(mac/mac.pri)
include(unix/unix.pri)
@@ -8,9 +5,5 @@ include (common/common.pri) # Important: keep the space before the '
include(relativity/relativity.pri)
message($$SOURCES)
-TRANSLATIONS = project.ts
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm $$TRANSLATIONS)
-}
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/project.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/project.pro
index 4de6622..88f2435 100644
--- a/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/project.pro
@@ -1,3 +1,2 @@
-TEMPLATE =subdirs
-
-SUBDIRS = sub1
+TEMPLATE = subdirs
+SUBDIRS = sub1
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/sub1/sub1.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/sub1/sub1.pro
index 1d50c2b..df18c5a 100644
--- a/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/sub1/sub1.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/sub1/sub1.pro
@@ -1,12 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
SOURCES += main.cpp
-TRANSLATIONS += ../project.ts
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm -f $$TRANSLATIONS)
-}
-
+TRANSLATIONS = ../project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/common/common.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/common/common.pro
index a8b3106..3f6c643 100644
--- a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/common/common.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/common/common.pro
@@ -1,5 +1,2 @@
-TEMPLATE = app
-LANGUAGE = C++
-
-SOURCES += main.cpp
+SOURCES += main.cpp
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/lupdatecmd b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/lupdatecmd
new file mode 100644
index 0000000..b7e12cc
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/lupdatecmd
@@ -0,0 +1 @@
+lupdate project.pro -ts project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/mac/mac.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/mac/mac.pro
index 87478bf..a1863b6 100644
--- a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/mac/mac.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/mac/mac.pro
@@ -1,5 +1 @@
-TEMPLATE = app
-LANGUAGE = C++
-
-SOURCES += main_mac.cpp
-
+SOURCES += main_mac.cpp
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro
index 668ecf4..f75a462 100644
--- a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro
@@ -1,7 +1,2 @@
TEMPLATE = subdirs
SUBDIRS = win mac unix common
-
-exists( project.ts ) {
- win32: system(del project.ts)
- unix: system(rm project.ts)
-}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/unix/unix.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/unix/unix.pro
index d0ebec7..71b1a22 100644
--- a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/unix/unix.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/unix/unix.pro
@@ -1,5 +1 @@
-TEMPLATE = app
-LANGUAGE = C++
-
-SOURCES += main_unix.cpp
-
+SOURCES += main_unix.cpp
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/win/win.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/win/win.pro
index a9a9751..afd7197 100644
--- a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/win/win.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/win/win.pro
@@ -1,5 +1 @@
-TEMPLATE = app
-LANGUAGE = C++
-
-SOURCES += main_win.cpp
-
+SOURCES += main_win.cpp
diff --git a/tests/auto/linguist/lupdate/testdata/good/reloutput/lupdatecmd b/tests/auto/linguist/lupdate/testdata/good/reloutput/lupdatecmd
new file mode 100644
index 0000000..da6103f
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/reloutput/lupdatecmd
@@ -0,0 +1,2 @@
+TRANSLATION: translations/project.ts
+lupdate project.pro -ts translations/project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/main.cpp b/tests/auto/linguist/lupdate/testdata/good/reloutput/main.cpp
index 5a681e2..5a681e2 100644
--- a/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/main.cpp
+++ b/tests/auto/linguist/lupdate/testdata/good/reloutput/main.cpp
diff --git a/tests/auto/linguist/lupdate/testdata/good/reloutput/project.pro b/tests/auto/linguist/lupdate/testdata/good/reloutput/project.pro
new file mode 100644
index 0000000..4e2e6ad
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/reloutput/project.pro
@@ -0,0 +1,3 @@
+SOURCES += main.cpp
+
+TRANSLATIONS = translations/project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/output_ts/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/reloutput/translations/project.ts.result
index e398701..e398701 100644
--- a/tests/auto/linguist/lupdate/testdata/output_ts/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/reloutput/translations/project.ts.result
diff --git a/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.pro b/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.pro
index 28ba291..fa56972 100644
--- a/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.pro
@@ -1,14 +1,3 @@
-TEMPLATE = app
-LANGUAGE = C++
-
FORMS += project.ui
-TRANSLATIONS = project.ts
-
-# Copy the ts to a temp file because:
-# 1. The depot file is usually read-only
-# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
-# without reverting the original file again.
-
-win32: system(copy /Y project.ts.before $$TRANSLATIONS)
-unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
+TRANSLATIONS = project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/output_ts/lupdatecmd b/tests/auto/linguist/lupdate/testdata/output_ts/lupdatecmd
deleted file mode 100644
index 80319de..0000000
--- a/tests/auto/linguist/lupdate/testdata/output_ts/lupdatecmd
+++ /dev/null
@@ -1,5 +0,0 @@
-# Add the command that lupdate should run here. If it can't find anything it will default to
-# 'lupdate project.pro -ts project.ts'
-
-# lupdate project.pro
-lupdate toplevel/library/tools/tools.pro
diff --git a/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/tools.pro b/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/tools.pro
deleted file mode 100644
index ec6c01d..0000000
--- a/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/tools.pro
+++ /dev/null
@@ -1,12 +0,0 @@
-TEMPLATE = app
-LANGUAGE = C++
-
-SOURCES += main.cpp
-
-TRANSLATIONS += translations/project.ts
-
-exists( $$TRANSLATIONS ) {
- win32: system(del $$TRANSLATIONS)
- unix: system(rm -f $$TRANSLATIONS)
-}
-
diff --git a/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/translations/readme.txt b/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/translations/readme.txt
deleted file mode 100644
index 83adcd2..0000000
--- a/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/translations/readme.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This is just a dummy file so that GIT creates this folder
-
diff --git a/tests/auto/linguist/lupdate/testlupdate.cpp b/tests/auto/linguist/lupdate/testlupdate.cpp
deleted file mode 100644
index d43fbc4..0000000
--- a/tests/auto/linguist/lupdate/testlupdate.cpp
+++ /dev/null
@@ -1,158 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Linguist of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "testlupdate.h"
-#include <stdlib.h>
-#include <QtGui/QApplication>
-#include <QtCore/QProcess>
-#include <QtCore/QTimer>
-#include <QtCore/QDir>
-
-#ifdef Q_OS_WIN32
-# include <windows.h>
-#endif
-
-#include <QtTest/QtTest>
-
-
-TestLUpdate::TestLUpdate()
-{
- childProc = 0;
- QString binPath = QLibraryInfo::location(QLibraryInfo::BinariesPath);
- m_cmdLupdate = binPath + QLatin1String("/lupdate");
- m_cmdQMake = binPath + QLatin1String("/qmake");
-}
-
-TestLUpdate::~TestLUpdate()
-{
- if (childProc)
- delete childProc;
-}
-
-void TestLUpdate::setWorkingDirectory(const QString &workDir)
-{
- m_workDir = workDir;
- QDir::setCurrent(m_workDir);
-}
-
-void TestLUpdate::addMakeResult( const QString &result )
-{
- make_result.append( result );
-}
-
-bool TestLUpdate::runChild( bool showOutput, const QString &program, const QStringList &argList)
-{
- make_result.clear();
- exit_ok = FALSE;
- if (childProc)
- delete childProc;
-
- child_show = showOutput;
- if ( showOutput ) {
- QString S = argList.join(" ");
- addMakeResult( program + QLatin1String(" ") + S );
- }
-
- childProc = new QProcess();
- Q_ASSERT(childProc);
-
- childProc->setWorkingDirectory(m_workDir);
- connect(childProc, SIGNAL(finished(int)), this, SLOT(childReady(int)));
- childProc->setProcessChannelMode(QProcess::MergedChannels);
- if (argList.isEmpty()) {
- childProc->start( program, QIODevice::ReadWrite | QIODevice::Text );
- } else {
- childProc->start( program, argList, QIODevice::ReadWrite | QIODevice::Text );
- }
- bool ok;
-
- ok = childProc->waitForStarted();
-
- if (ok)
- ok = childProc->waitForFinished();
-
- if (!ok)
- addMakeResult( "Error executing '" + program + "'." );
-
- childReady(ok ? 0 : -1);
-
- return ok;
-}
-
-void TestLUpdate::childReady(int /*exitCode*/)
-{
- if (childProc != 0) {
- childHasData();
- exit_ok = childProc->state() == QProcess::NotRunning
- && childProc->exitStatus() == 0;
- childProc->deleteLater();
- }
- childProc = 0;
-}
-
-void TestLUpdate::childHasData()
-{
- //QByteArray ba = childProc->readAllStandardError();
- //qDebug() << "ERROR:" << ba;
- QString stdoutput = childProc->readAllStandardOutput();
- stdoutput = stdoutput.replace("\t", " ");
- if (child_show)
- addMakeResult(stdoutput);
-}
-
-bool TestLUpdate::run(const QString &commandline)
-{
- return runChild(true, m_cmdLupdate + QLatin1String(" ") + commandline);
-}
-
-
-bool TestLUpdate::updateProFile(const QString &arguments)
-{
- QStringList args = arguments.split(QChar(' '));
- return runChild( true, m_cmdLupdate, args );
-}
-
-bool TestLUpdate::qmake()
-{
- QStringList args;
- args << "-r";
- return runChild(true, m_cmdQMake, args);
-}
diff --git a/tests/auto/linguist/lupdate/tst_lupdate.cpp b/tests/auto/linguist/lupdate/tst_lupdate.cpp
index 7140ede..80c8f4f 100644
--- a/tests/auto/linguist/lupdate/tst_lupdate.cpp
+++ b/tests/auto/linguist/lupdate/tst_lupdate.cpp
@@ -39,7 +39,6 @@
**
****************************************************************************/
-#include "testlupdate.h"
#if CHECK_SIMTEXTH
#include "../shared/simtexth.h"
#endif
@@ -55,12 +54,11 @@ class tst_lupdate : public QObject
{
Q_OBJECT
public:
- tst_lupdate() { m_basePath = QDir::currentPath() + QLatin1String("/testdata/"); }
+ tst_lupdate();
private slots:
void good_data();
void good();
- void output_ts();
void commandline_data();
void commandline();
#if CHECK_SIMTEXTH
@@ -69,7 +67,7 @@ private slots:
#endif
private:
- TestLUpdate m_lupdate;
+ QString m_cmdLupdate;
QString m_basePath;
void doCompare(const QStringList &actual, const QString &expectedFn, bool err);
@@ -77,10 +75,17 @@ private:
};
+tst_lupdate::tst_lupdate()
+{
+ QString binPath = QLibraryInfo::location(QLibraryInfo::BinariesPath);
+ m_cmdLupdate = binPath + QLatin1String("/lupdate");
+ m_basePath = QDir::currentPath() + QLatin1String("/testdata/");
+}
+
void tst_lupdate::doCompare(const QStringList &actual, const QString &expectedFn, bool err)
{
QFile file(expectedFn);
- QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text));
+ QVERIFY2(file.open(QIODevice::ReadOnly | QIODevice::Text), qPrintable(expectedFn));
QStringList expected = QString(file.readAll()).trimmed().split('\n');
int i = 0, ei = expected.size(), gi = actual.size();
@@ -141,7 +146,7 @@ void tst_lupdate::doCompare(const QStringList &actual, const QString &expectedFn
void tst_lupdate::doCompare(const QString &actualFn, const QString &expectedFn, bool err)
{
QFile afile(actualFn);
- QVERIFY(afile.open(QIODevice::ReadOnly | QIODevice::Text));
+ QVERIFY2(afile.open(QIODevice::ReadOnly | QIODevice::Text), qPrintable(actualFn));
QStringList actual = QString(afile.readAll()).trimmed().split('\n');
doCompare(actual, expectedFn, err);
@@ -167,20 +172,16 @@ void tst_lupdate::good()
QFETCH(QString, directory);
QString dir = m_basePath + "good/" + directory;
- QString expectedFile = dir + QLatin1String("/project.ts.result");
qDebug() << "Checking...";
- // qmake will delete the previous one, to ensure that we don't do any merging....
- QString generatedtsfile(QLatin1String("project.ts"));
+ QString generatedtsfile(dir + QLatin1String("/project.ts"));
- m_lupdate.setWorkingDirectory(dir);
- m_lupdate.qmake();
// look for a command
QString lupdatecmd;
QFile file(dir + "/lupdatecmd");
if (file.exists()) {
- QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text));
+ QVERIFY2(file.open(QIODevice::ReadOnly | QIODevice::Text), qPrintable(file.fileName()));
while (!file.atEnd()) {
QByteArray cmdstring = file.readLine().simplified();
if (cmdstring.startsWith('#'))
@@ -197,72 +198,39 @@ void tst_lupdate::good()
file.close();
}
- if (lupdatecmd.isEmpty()) {
- lupdatecmd = QLatin1String("project.pro -ts project.ts");
- }
- lupdatecmd.prepend("-silent ");
- m_lupdate.updateProFile(lupdatecmd);
-
- // If the file expectedoutput.txt exists, compare the
- // console output with the content of that file
- QFile outfile(dir + "/expectedoutput.txt");
- if (outfile.exists()) {
- QString errs = m_lupdate.getErrorMessages().at(1).trimmed();
- QStringList errslist = errs.split(QLatin1Char('\n'));
- doCompare(errslist, outfile.fileName(), true);
- if (QTest::currentTestFailed())
- return;
- }
-
- doCompare(generatedtsfile, expectedFile, false);
-}
-
-void tst_lupdate::output_ts()
-{
- QString dir = m_basePath + "output_ts";
- m_lupdate.setWorkingDirectory(dir);
-
- // look for a command
- QString lupdatecmd;
- QFile file(dir + "/lupdatecmd");
- if (file.exists()) {
- QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text));
- while (!file.atEnd()) {
- QByteArray cmdstring = file.readLine().simplified();
- if (cmdstring.startsWith('#'))
- continue;
- if (cmdstring.startsWith("lupdate")) {
- cmdstring.remove(0, 8);
- lupdatecmd.append(cmdstring);
- break;
- }
- }
- file.close();
- }
-
- QDir parsingDir(m_basePath + "output_ts");
-
- QString generatedtsfile =
- dir + QLatin1String("/toplevel/library/tools/translations/project.ts");
-
QFile::remove(generatedtsfile);
+ QString beforetsfile = generatedtsfile + QLatin1String(".before");
+ if (QFile::exists(beforetsfile))
+ QVERIFY2(QFile::copy(beforetsfile, generatedtsfile), qPrintable(beforetsfile));
+ if (lupdatecmd.isEmpty())
+ lupdatecmd = QLatin1String("project.pro");
lupdatecmd.prepend("-silent ");
- m_lupdate.qmake();
- m_lupdate.updateProFile(lupdatecmd);
+
+ QProcess proc;
+ proc.setWorkingDirectory(dir);
+ proc.setProcessChannelMode(QProcess::MergedChannels);
+ proc.start(m_cmdLupdate + ' ' + lupdatecmd, QIODevice::ReadWrite | QIODevice::Text);
+ QVERIFY2(proc.waitForFinished(5000), qPrintable(lupdatecmd));
+ QByteArray output = proc.readAll().trimmed();
+ QVERIFY2(proc.exitStatus() == QProcess::NormalExit,
+ "\"lupdate " + lupdatecmd.toLatin1() + "\" crashed\n" + output);
+ QVERIFY2(!proc.exitCode(),
+ "\"lupdate " + lupdatecmd.toLatin1() + "\" exited with code " +
+ QByteArray::number(proc.exitCode()) + "\n" + proc.readAll());
// If the file expectedoutput.txt exists, compare the
// console output with the content of that file
QFile outfile(dir + "/expectedoutput.txt");
if (outfile.exists()) {
- QString errs = m_lupdate.getErrorMessages().at(1).trimmed();
- QStringList errslist = errs.split(QLatin1Char('\n'));
+ QStringList errslist = QString::fromLatin1(output).split(QLatin1Char('\n'));
doCompare(errslist, outfile.fileName(), true);
if (QTest::currentTestFailed())
return;
}
- doCompare(generatedtsfile, dir + QLatin1String("/project.ts.result"), false);
+ QString expectedFile = generatedtsfile + QLatin1String(".result");
+ doCompare(generatedtsfile, expectedFile, false);
}
void tst_lupdate::commandline_data()
@@ -285,14 +253,21 @@ void tst_lupdate::commandline()
QFETCH(QString, generatedtsfile);
QFETCH(QString, expectedtsfile);
- m_lupdate.setWorkingDirectory(m_basePath + currentPath);
QString generated =
m_basePath + currentPath + QLatin1Char('/') + generatedtsfile;
QFile gen(generated);
if (gen.exists())
QVERIFY(gen.remove());
- if (!m_lupdate.run("-silent " + commandline))
- qDebug() << m_lupdate.getErrorMessages().last();
+ QProcess proc;
+ proc.setWorkingDirectory(m_basePath + currentPath);
+ proc.setProcessChannelMode(QProcess::MergedChannels);
+ proc.start(m_cmdLupdate + " -silent " + commandline, QIODevice::ReadWrite | QIODevice::Text);
+ QVERIFY2(proc.waitForFinished(5000), qPrintable(commandline));
+ QVERIFY2(proc.exitStatus() == QProcess::NormalExit,
+ "\"lupdate -silent " + commandline.toLatin1() + "\" crashed\n" + proc.readAll());
+ QVERIFY2(!proc.exitCode(),
+ "\"lupdate -silent " + commandline.toLatin1() + "\" exited with code " +
+ QByteArray::number(proc.exitCode()) + "\n" + proc.readAll());
doCompare(generated, m_basePath + currentPath + QLatin1Char('/') + expectedtsfile, false);
}