diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-06-14 16:20:34 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-06-18 12:10:46 +0000 |
commit | 3ff9066ebc46547ad9e8afa2bb515d10a69b5391 (patch) | |
tree | 988eb18c170cc99d0a8f96e964fdb31fa1e019e7 | |
parent | 69218a9739306d0e8dc7ee1508381fe1cb7f1b74 (diff) |
Fix lex_yacc autotests for winbison
Change-Id: I3209a71c21ea1f91d232ab2bb607fa81c9751ad7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
9 files changed, 47 insertions, 5 deletions
diff --git a/tests/auto/blackbox/testdata/lexyacc/lex_outfile/lex_outfile.qbs b/tests/auto/blackbox/testdata/lexyacc/lex_outfile/lex_outfile.qbs index 677828906..3708140ad 100644 --- a/tests/auto/blackbox/testdata/lexyacc/lex_outfile/lex_outfile.qbs +++ b/tests/auto/blackbox/testdata/lexyacc/lex_outfile/lex_outfile.qbs @@ -1,10 +1,12 @@ import qbs CppApplication { + qbsSearchPaths: ".." + Depends { name: "bisonhelper" } Depends { name: "lex_yacc" } lex_yacc.outputTag: "cpp" lex_yacc.yaccFlags: ["-l"] - cpp.includePaths: ["."] + cpp.includePaths: [".", ".."] cpp.cxxLanguageVersion: "c++11" cpp.minimumMacosVersion: "10.7" consoleApplication: true diff --git a/tests/auto/blackbox/testdata/lexyacc/lex_prefix/lex_prefix.qbs b/tests/auto/blackbox/testdata/lexyacc/lex_prefix/lex_prefix.qbs index 677828906..3708140ad 100644 --- a/tests/auto/blackbox/testdata/lexyacc/lex_prefix/lex_prefix.qbs +++ b/tests/auto/blackbox/testdata/lexyacc/lex_prefix/lex_prefix.qbs @@ -1,10 +1,12 @@ import qbs CppApplication { + qbsSearchPaths: ".." + Depends { name: "bisonhelper" } Depends { name: "lex_yacc" } lex_yacc.outputTag: "cpp" lex_yacc.yaccFlags: ["-l"] - cpp.includePaths: ["."] + cpp.includePaths: [".", ".."] cpp.cxxLanguageVersion: "c++11" cpp.minimumMacosVersion: "10.7" consoleApplication: true diff --git a/tests/auto/blackbox/testdata/lexyacc/modules/bisonhelper/bisonhelper.qbs b/tests/auto/blackbox/testdata/lexyacc/modules/bisonhelper/bisonhelper.qbs new file mode 100644 index 000000000..449b130e2 --- /dev/null +++ b/tests/auto/blackbox/testdata/lexyacc/modules/bisonhelper/bisonhelper.qbs @@ -0,0 +1,19 @@ +import qbs +import qbs.Process + +Module { + Depends { name: "lex_yacc" } + Probe { + id: bisonProbe + property string yaccBinary: lex_yacc.yaccBinary + configure: { + var p = Process(); + found = p.exec(yaccBinary, ["-V"]) == 0 && p.readStdOut().contains("bison"); + p.close(); + } + } + Properties { + condition: bisonProbe.found + lex_yacc.yaccFlags: "-y" + } +} diff --git a/tests/auto/blackbox/testdata/lexyacc/one-grammar/one-grammar.qbs b/tests/auto/blackbox/testdata/lexyacc/one-grammar/one-grammar.qbs index 677828906..3708140ad 100644 --- a/tests/auto/blackbox/testdata/lexyacc/one-grammar/one-grammar.qbs +++ b/tests/auto/blackbox/testdata/lexyacc/one-grammar/one-grammar.qbs @@ -1,10 +1,12 @@ import qbs CppApplication { + qbsSearchPaths: ".." + Depends { name: "bisonhelper" } Depends { name: "lex_yacc" } lex_yacc.outputTag: "cpp" lex_yacc.yaccFlags: ["-l"] - cpp.includePaths: ["."] + cpp.includePaths: [".", ".."] cpp.cxxLanguageVersion: "c++11" cpp.minimumMacosVersion: "10.7" consoleApplication: true diff --git a/tests/auto/blackbox/testdata/lexyacc/two-grammars/g1.l b/tests/auto/blackbox/testdata/lexyacc/two-grammars/g1.l index aebda993f..369f1c919 100644 --- a/tests/auto/blackbox/testdata/lexyacc/two-grammars/g1.l +++ b/tests/auto/blackbox/testdata/lexyacc/two-grammars/g1.l @@ -2,7 +2,11 @@ %{ #include <g1.tab.h> +#ifdef _MSC_BUILD +#pragma message("whatever") +#else #pragma whatever +#endif void g1error(const char *e) { } %} diff --git a/tests/auto/blackbox/testdata/lexyacc/two-grammars/two-grammars.qbs b/tests/auto/blackbox/testdata/lexyacc/two-grammars/two-grammars.qbs index d70f733a9..fb1375598 100644 --- a/tests/auto/blackbox/testdata/lexyacc/two-grammars/two-grammars.qbs +++ b/tests/auto/blackbox/testdata/lexyacc/two-grammars/two-grammars.qbs @@ -3,6 +3,7 @@ import qbs CppApplication { Depends { name: "lex_yacc" } consoleApplication: true + cpp.includePaths: ".." files: [ "g1.l", "g1.y", diff --git a/tests/auto/blackbox/testdata/lexyacc/unistd.h b/tests/auto/blackbox/testdata/lexyacc/unistd.h new file mode 100644 index 000000000..d9abd4d2a --- /dev/null +++ b/tests/auto/blackbox/testdata/lexyacc/unistd.h @@ -0,0 +1,11 @@ +#ifndef MY_UNISTD_H +#define MY_UNISTD_H + +#ifdef _MSC_BUILD +#include <io.h> +#define isatty _isatty +#else +#include_next <unistd.h> +#endif + +#endif diff --git a/tests/auto/blackbox/testdata/lexyacc/yacc_output/yacc_output.qbs b/tests/auto/blackbox/testdata/lexyacc/yacc_output/yacc_output.qbs index 677828906..298190996 100644 --- a/tests/auto/blackbox/testdata/lexyacc/yacc_output/yacc_output.qbs +++ b/tests/auto/blackbox/testdata/lexyacc/yacc_output/yacc_output.qbs @@ -4,7 +4,7 @@ CppApplication { Depends { name: "lex_yacc" } lex_yacc.outputTag: "cpp" lex_yacc.yaccFlags: ["-l"] - cpp.includePaths: ["."] + cpp.includePaths: [".", ".."] cpp.cxxLanguageVersion: "c++11" cpp.minimumMacosVersion: "10.7" consoleApplication: true diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp index 6987ae662..83c00fa2f 100644 --- a/tests/auto/blackbox/tst_blackbox.cpp +++ b/tests/auto/blackbox/tst_blackbox.cpp @@ -4006,7 +4006,8 @@ void TestBlackbox::lexyacc() params.arguments << "modules.lex_yacc.enableCompilerWarnings:true"; QCOMPARE(runQbs(params), 0); QCOMPARE(runQbs(), 0); - QVERIFY2(m_qbsStderr.contains("whatever"), m_qbsStderr.constData()); + const QByteArray outputToCheck = m_qbsStdout + m_qbsStderr; + QVERIFY2(outputToCheck.contains("whatever"), outputToCheck.constData()); } void TestBlackbox::lexyaccOutputs() |