summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-02-23 15:35:04 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-27 20:52:45 +0100
commitedde6152094702aa4c3415920d2c962009619743 (patch)
tree3fd27faa9df153c80a01f9f8a45c2cf9f97b68ab
parent091dd54a6c145c477ade2b910519fc4d6d0e3591 (diff)
TestCompiler: split commands from arguments
this allows us to temporarily set some extra args without (incorrectly) instantiating a second TestCompiler (and on the way relying on $PATH for finding qmake). Change-Id: Icce5bf7314148ddbe705606f77a26e3362b31f67 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
-rw-r--r--tests/auto/tools/qmake/testcompiler.cpp16
-rw-r--r--tests/auto/tools/qmake/testcompiler.h8
-rw-r--r--tests/auto/tools/qmake/tst_qmake.cpp14
3 files changed, 27 insertions, 11 deletions
diff --git a/tests/auto/tools/qmake/testcompiler.cpp b/tests/auto/tools/qmake/testcompiler.cpp
index d2cb9f2435..8864d4d435 100644
--- a/tests/auto/tools/qmake/testcompiler.cpp
+++ b/tests/auto/tools/qmake/testcompiler.cpp
@@ -160,6 +160,18 @@ void TestCompiler::setBaseCommands( QString makeCmd, QString qmakeCmd )
qmakeCmd_ = qmakeCmd;
}
+void TestCompiler::resetArguments()
+{
+ makeArgs_.clear();
+ qmakeArgs_.clear();
+}
+
+void TestCompiler::setArguments( QString makeArgs, QString qmakeArgs )
+{
+ makeArgs_ = makeArgs;
+ qmakeArgs_ = qmakeArgs;
+}
+
void TestCompiler::resetEnvironment()
{
environment_.clear();
@@ -222,7 +234,7 @@ bool TestCompiler::qmake( const QString &workDir, const QString &proName, const
makeFile += "Makefile";
// Now start qmake and generate the makefile
- return runCommand( qmakeCmd_ + " " + projectFile + " -o " + makeFile );
+ return runCommand( qmakeCmd_ + " " + qmakeArgs_ + " " + projectFile + " -o " + makeFile );
}
bool TestCompiler::make( const QString &workPath, const QString &target )
@@ -230,7 +242,7 @@ bool TestCompiler::make( const QString &workPath, const QString &target )
QDir D;
D.setCurrent( workPath );
- QString cmdline = makeCmd_;
+ QString cmdline = makeCmd_ + " " + makeArgs_;
if ( cmdline.contains("nmake", Qt::CaseInsensitive) )
cmdline.append(" /NOLOGO");
if ( !target.isEmpty() )
diff --git a/tests/auto/tools/qmake/testcompiler.h b/tests/auto/tools/qmake/testcompiler.h
index 116e424551..c438b52db2 100644
--- a/tests/auto/tools/qmake/testcompiler.h
+++ b/tests/auto/tools/qmake/testcompiler.h
@@ -55,6 +55,10 @@ public:
virtual ~TestCompiler();
void setBaseCommands( QString makeCmd, QString qmakeCmd );
+
+ void resetArguments();
+ void setArguments( QString makeArgs, QString qmakeArgs );
+
void resetEnvironment();
void addToEnvironment( QString varAssignment );
@@ -78,8 +82,8 @@ public:
private:
bool runCommand( QString cmdLine );
- QString makeCmd_;
- QString qmakeCmd_;
+ QString makeCmd_, makeArgs_;
+ QString qmakeCmd_, qmakeArgs_;
QStringList environment_;
// need to make this available somewhere
diff --git a/tests/auto/tools/qmake/tst_qmake.cpp b/tests/auto/tools/qmake/tst_qmake.cpp
index 4da781f763..c01900c26e 100644
--- a/tests/auto/tools/qmake/tst_qmake.cpp
+++ b/tests/auto/tools/qmake/tst_qmake.cpp
@@ -138,6 +138,7 @@ void tst_qmake::init()
void tst_qmake::cleanup()
{
+ test_compiler.resetArguments();
test_compiler.clearCommandOutput();
}
@@ -448,31 +449,30 @@ void tst_qmake::bundle_spaces()
{
QString workDir = base_path + "/testdata/bundle-spaces";
- // We set up alternate commands here, to make sure we're testing Mac
+ // We set up alternate arguments here, to make sure we're testing Mac
// Bundles and since this might be the wrong output we rely on dry-running
// make (-n).
- TestCompiler local_tc;
- local_tc.setBaseCommands("make -n", "qmake -macx -spec macx-g++");
+ test_compiler.setArguments("-n", "-spec macx-g++");
- QVERIFY( local_tc.qmake(workDir, "bundle-spaces") );
+ QVERIFY( test_compiler.qmake(workDir, "bundle-spaces") );
TempFile non_existing_file(workDir + "/non-existing file");
QVERIFY( !non_existing_file.exists() );
// Make fails: no rule to make "non-existing file"
- QVERIFY( !local_tc.make(workDir) );
+ QVERIFY( !test_compiler.make(workDir, QString()) );
QVERIFY( non_existing_file.open(QIODevice::WriteOnly) );
QVERIFY( non_existing_file.exists() );
// Aha!
- QVERIFY( local_tc.make(workDir) );
+ QVERIFY( test_compiler.make(workDir) );
// Cleanup
QVERIFY( non_existing_file.remove() );
QVERIFY( !non_existing_file.exists() );
- QVERIFY( local_tc.removeMakefile(workDir) );
+ QVERIFY( test_compiler.removeMakefile(workDir) );
}
#endif // Q_OS_WIN