summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTim Sander <tim@krieglstein.org>2013-10-31 15:00:57 +0100
committerJoerg Bornemann <joerg.bornemann@digia.com>2013-11-07 12:39:11 +0100
commita700730a5bc34848ac9552c8f695fdb0bdb6b153 (patch)
tree0f3456e7294a64e520575638943d8376a13f857b /tests
parent81e3da6732c374c76e785de04759fe18e5b5fcd2 (diff)
downloadqbs-a700730a5bc34848ac9552c8f695fdb0bdb6b153.tar.gz
Add support for compiling assembler files with GCC.
Task-number: QBS-437 Change-Id: I7d4b64df16f5a260d41a6d34335fe0cc1a36b712 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/blackbox/testdata/assembly/assembly.qbs23
-rw-r--r--tests/auto/blackbox/testdata/assembly/testa.s3
-rw-r--r--tests/auto/blackbox/testdata/assembly/testb.S3
-rw-r--r--tests/auto/blackbox/testdata/assembly/testc.sx3
-rw-r--r--tests/auto/blackbox/tst_blackbox.cpp15
-rw-r--r--tests/auto/blackbox/tst_blackbox.h1
6 files changed, 48 insertions, 0 deletions
diff --git a/tests/auto/blackbox/testdata/assembly/assembly.qbs b/tests/auto/blackbox/testdata/assembly/assembly.qbs
new file mode 100644
index 000000000..344e65cd1
--- /dev/null
+++ b/tests/auto/blackbox/testdata/assembly/assembly.qbs
@@ -0,0 +1,23 @@
+import qbs 1.0
+
+Project {
+ StaticLibrary {
+ name : "testa"
+ files : [ "testa.s" ]
+ Depends { name: "cpp" }
+ condition: qbs.toolchain.contains("gcc")
+ }
+ StaticLibrary {
+ name : "testb"
+ files : [ "testb.S" ]
+ Depends { name: "cpp" }
+ condition: qbs.toolchain.contains("gcc")
+ }
+ StaticLibrary {
+ name : "testc"
+ files : [ "testc.sx" ]
+ Depends { name: "cpp" }
+ condition: qbs.toolchain.contains("gcc")
+ }
+}
+
diff --git a/tests/auto/blackbox/testdata/assembly/testa.s b/tests/auto/blackbox/testdata/assembly/testa.s
new file mode 100644
index 000000000..39e402ae0
--- /dev/null
+++ b/tests/auto/blackbox/testdata/assembly/testa.s
@@ -0,0 +1,3 @@
+.globl symbola
+symbola:
+ nop
diff --git a/tests/auto/blackbox/testdata/assembly/testb.S b/tests/auto/blackbox/testdata/assembly/testb.S
new file mode 100644
index 000000000..845be5502
--- /dev/null
+++ b/tests/auto/blackbox/testdata/assembly/testb.S
@@ -0,0 +1,3 @@
+#define bla nop
+symbolb:
+ bla
diff --git a/tests/auto/blackbox/testdata/assembly/testc.sx b/tests/auto/blackbox/testdata/assembly/testc.sx
new file mode 100644
index 000000000..845be5502
--- /dev/null
+++ b/tests/auto/blackbox/testdata/assembly/testc.sx
@@ -0,0 +1,3 @@
+#define bla nop
+symbolb:
+ bla
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp
index 116da31fa..30b62dc41 100644
--- a/tests/auto/blackbox/tst_blackbox.cpp
+++ b/tests/auto/blackbox/tst_blackbox.cpp
@@ -1476,4 +1476,19 @@ void TestBlackbox::missingProfile()
QVERIFY(m_qbsStderr.contains("No profile"));
}
+void TestBlackbox::testAssembly()
+{
+ SettingsPtr settings = qbsSettings();
+ Profile profile(buildProfileName, settings.data());
+ bool haveGcc = profile.value("qbs.toolchain").toString().contains("gcc");
+ QDir::setCurrent(testDataDir + "/assembly");
+ QVERIFY(runQbs() == 0);
+ QCOMPARE((bool)m_qbsStdout.contains("compiling testa.s"), haveGcc);
+ QCOMPARE((bool)m_qbsStdout.contains("compiling testb.S"), haveGcc);
+ QCOMPARE((bool)m_qbsStdout.contains("compiling testc.sx"), haveGcc);
+ QCOMPARE((bool)m_qbsStdout.contains("creating libtesta.a"), haveGcc);
+ QCOMPARE((bool)m_qbsStdout.contains("creating libtestb.a"), haveGcc);
+ QCOMPARE((bool)m_qbsStdout.contains("creating libtestc.a"), haveGcc);
+}
+
QTEST_MAIN(TestBlackbox)
diff --git a/tests/auto/blackbox/tst_blackbox.h b/tests/auto/blackbox/tst_blackbox.h
index f86e7617c..24e8dce5d 100644
--- a/tests/auto/blackbox/tst_blackbox.h
+++ b/tests/auto/blackbox/tst_blackbox.h
@@ -152,6 +152,7 @@ private slots:
void toolLookup();
void checkProjectFilePath();
void missingProfile();
+ void testAssembly();
private:
QByteArray m_qbsStderr;