forked from qt-creator/qt-creator
Add qbs project files for autotests.
Note: Since not all autotests are able to run from an installed location, we need to be able to start them from the build directory, which in turn forces us to set a destination directory for libraries and plugins, so they will be found at run-time. Change-Id: Idcf7e1333dfa6e9dbf745391b78c035f842ccc5a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import qbs.base 1.0
|
||||
|
||||
Project {
|
||||
property bool withAutotests: qbs.buildVariant === "debug"
|
||||
property string ide_version_major: '2'
|
||||
property string ide_version_minor: '8'
|
||||
property string ide_version_release: '81'
|
||||
@@ -55,5 +56,6 @@ Project {
|
||||
"lib/qtcreator/qtcomponents/qtcomponents.qbs",
|
||||
"share/share.qbs",
|
||||
"share/qtcreator/translations/translations.qbs",
|
||||
"tests/tests.qbs"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ DynamicLibrary {
|
||||
}
|
||||
|
||||
targetName: Defaults.qtLibraryName(qbs, name)
|
||||
destinationDirectory: project.ide_library_path
|
||||
|
||||
cpp.defines: project.generalDefines
|
||||
cpp.linkerFlags: {
|
||||
|
||||
@@ -9,6 +9,7 @@ Product {
|
||||
property var pluginRecommends: []
|
||||
|
||||
targetName: Defaults.qtLibraryName(qbs, name)
|
||||
destinationDirectory: project.ide_plugin_path + '/' + provider
|
||||
|
||||
Depends { name: "ExtensionSystem" }
|
||||
Depends { name: "pluginspec" }
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
import qbs
|
||||
import "../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "Aggregation autotest"
|
||||
Depends { name: "Aggregation" }
|
||||
files: "tst_aggregate.cpp"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "Autotests"
|
||||
condition: project.withAutotests
|
||||
references: [
|
||||
"aggregation/aggregation.qbs",
|
||||
"changeset/changeset.qbs",
|
||||
"cplusplus/cplusplus.qbs",
|
||||
"debugger/debugger.qbs",
|
||||
"diff/diff.qbs",
|
||||
"environment/environment.qbs",
|
||||
"extensionsystem/extensionsystem.qbs",
|
||||
"externaltool/externaltool.qbs",
|
||||
"filesearch/filesearch.qbs",
|
||||
"generichighlighter/generichighlighter.qbs",
|
||||
"ioutils/ioutils.qbs",
|
||||
"profilewriter/profilewriter.qbs",
|
||||
"qml/qml.qbs",
|
||||
"qtcprocess/qtcprocess.qbs",
|
||||
"treeviewfind/treeviewfind.qbs",
|
||||
"utils/utils.qbs",
|
||||
"utils_stringutils/utils_stringutils.qbs",
|
||||
"valgrind/valgrind.qbs"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
import qbs
|
||||
import qbs.FileInfo
|
||||
|
||||
CppApplication {
|
||||
type: "application"
|
||||
Depends { name: "Qt.test" }
|
||||
targetName: "tst_" + name.split(' ').join("")
|
||||
|
||||
// This needs to be absolute, because it is passed to one of the source files.
|
||||
destinationDirectory: buildDirectory + '/'
|
||||
+ FileInfo.relativePath(project.ide_source_tree, sourceDirectory)
|
||||
|
||||
cpp.rpaths: [
|
||||
buildDirectory + '/' + project.ide_library_path,
|
||||
buildDirectory + '/' + project.ide_library_path + "/..", // OSX
|
||||
buildDirectory + '/' + project.ide_plugin_path + "/QtProject"
|
||||
]
|
||||
|
||||
// The following would be conceptually right, but does not work currently as some autotests
|
||||
// (e.g. extensionsystem) do not work when installed, because they want hardcoded
|
||||
// absolute paths to resources in the build directory.
|
||||
// cpp.rpaths: qbs.targetOS.contains("osx")
|
||||
// ? ["@executable_path/.."]
|
||||
// : ["$ORIGIN/../lib/qtcreator", "$ORIGIN/../lib/qtcreator/plugins/QtProject"]
|
||||
// Group {
|
||||
// fileTagsFilter: product.type
|
||||
// qbs.install: true
|
||||
// qbs.installDir: project.ide_bin_path
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import qbs
|
||||
import "../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "ChangeSet autotest"
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Qt.gui" } // TODO: Remove once qbs bug is fixed.
|
||||
files: "tst_changeset.cpp"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import qbs
|
||||
import "../cplusplusautotest.qbs" as CPlusPlusAutotest
|
||||
|
||||
CPlusPlusAutotest {
|
||||
name: "CPlusPlus AST autotest"
|
||||
files: "tst_ast.cpp"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import qbs
|
||||
import "../cplusplusautotest.qbs" as CPlusPlusAutotest
|
||||
|
||||
CPlusPlusAutotest {
|
||||
name: "CPlusPlus check symbols autotest"
|
||||
files: "tst_checksymbols.cpp"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import qbs
|
||||
import "../cplusplusautotest.qbs" as CPlusPlusAutotest
|
||||
|
||||
CPlusPlusAutotest {
|
||||
name: "CPlusPlus code formatter autotest"
|
||||
files: "tst_codeformatter.cpp"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "CPlusPlus autotests"
|
||||
references: [
|
||||
"ast/ast.qbs",
|
||||
"checksymbols/checksymbols.qbs",
|
||||
"codeformatter/codeformatter.qbs",
|
||||
"cxx11/cxx11.qbs",
|
||||
"findusages/findusages.qbs",
|
||||
"lexer/lexer.qbs",
|
||||
"lookup/lookup.qbs",
|
||||
"misc/misc.qbs",
|
||||
"preprocessor/preprocessor.qbs",
|
||||
"semantic/semantic.qbs",
|
||||
"simplifytypes/simplifytypes.qbs",
|
||||
"typeprettyprinter/typeprettyprinter.qbs"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import qbs
|
||||
import "../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
Depends { name: "CppTools" }
|
||||
Depends { name: "TextEditor" }
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Qt.widgets" } // For QTextDocument & friends
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
import qbs
|
||||
import "../cplusplusautotest.qbs" as CPlusPlusAutotest
|
||||
|
||||
CPlusPlusAutotest {
|
||||
name: "Cxx11 autotest"
|
||||
Group {
|
||||
name: "Source Files"
|
||||
files: "tst_cxx11.cpp"
|
||||
}
|
||||
|
||||
Group {
|
||||
name: "Data Files"
|
||||
prefix: "data/"
|
||||
fileTags: ["data"]
|
||||
files: [
|
||||
"inlineNamespace.1.cpp",
|
||||
"inlineNamespace.1.errors.txt",
|
||||
"staticAssert.1.cpp",
|
||||
"staticAssert.1.errors.txt",
|
||||
"noExcept.1.cpp",
|
||||
"noExcept.1.errors.txt"
|
||||
]
|
||||
}
|
||||
|
||||
cpp.defines: base.concat(['SRCDIR="' + path + '"'])
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import qbs
|
||||
import "../cplusplusautotest.qbs" as CPlusPlusAutotest
|
||||
|
||||
CPlusPlusAutotest {
|
||||
name: "CPlusPlus find usages autotest"
|
||||
files: "tst_findusages.cpp"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import qbs
|
||||
import "../cplusplusautotest.qbs" as CPlusPlusAutotest
|
||||
|
||||
CPlusPlusAutotest {
|
||||
name: "CPlusPlus lexer autotest"
|
||||
files: "tst_lexer.cpp"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import qbs
|
||||
import "../cplusplusautotest.qbs" as CPlusPlusAutotest
|
||||
|
||||
CPlusPlusAutotest {
|
||||
name: "CPlusPlus lookup autotest"
|
||||
files: "tst_lookup.cpp"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import qbs
|
||||
import "../cplusplusautotest.qbs" as CPlusPlusAutotest
|
||||
|
||||
CPlusPlusAutotest {
|
||||
name: "CPlusPlus miscellaneous autotest"
|
||||
files: "tst_misc.cpp"
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
import qbs
|
||||
import "../cplusplusautotest.qbs" as CPlusPlusAutotest
|
||||
|
||||
CPlusPlusAutotest {
|
||||
name: "CPlusPlus preprocessor autotest"
|
||||
Group {
|
||||
name: "Source Files"
|
||||
files: "tst_preprocessor.cpp"
|
||||
}
|
||||
|
||||
Group {
|
||||
name: "Data files"
|
||||
prefix: "data/"
|
||||
fileTags: ["data"]
|
||||
files: [
|
||||
"empty-macro.cpp", "empty-macro.out.cpp",
|
||||
"empty-macro.2.cpp", "empty-macro.2.out.cpp",
|
||||
"identifier-expansion.1.cpp", "identifier-expansion.1.out.cpp",
|
||||
"identifier-expansion.2.cpp", "identifier-expansion.2.out.cpp",
|
||||
"identifier-expansion.3.cpp", "identifier-expansion.3.out.cpp",
|
||||
"identifier-expansion.4.cpp", "identifier-expansion.4.out.cpp",
|
||||
"identifier-expansion.5.cpp", "identifier-expansion.5.out.cpp",
|
||||
"macro_expand.c", "macro_expand.out.c",
|
||||
"macro_expand_1.cpp", "macro_expand_1.out.cpp",
|
||||
"macro-test.cpp", "macro-test.out.cpp",
|
||||
"macro_pounder_fn.c",
|
||||
"noPP.1.cpp",
|
||||
"noPP.2.cpp",
|
||||
"poundpound.1.cpp", "poundpound.1.out.cpp",
|
||||
"recursive.1.cpp", "recursive.1.out.cpp",
|
||||
"reserved.1.cpp", "reserved.1.out.cpp",
|
||||
]
|
||||
}
|
||||
|
||||
cpp.defines: base.concat(['SRCDIR="' + path + '"'])
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import qbs
|
||||
import "../cplusplusautotest.qbs" as CPlusPlusAutotest
|
||||
|
||||
CPlusPlusAutotest {
|
||||
name: "CPlusPlus semantic autotest"
|
||||
files: "tst_semantic.cpp"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import qbs
|
||||
import "../cplusplusautotest.qbs" as CPlusPlusAutotest
|
||||
|
||||
CPlusPlusAutotest {
|
||||
name: "CPlusPlus simplify types autotest"
|
||||
files: "tst_simplifytypestest.cpp"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import qbs
|
||||
import "../cplusplusautotest.qbs" as CPlusPlusAutotest
|
||||
|
||||
CPlusPlusAutotest {
|
||||
name: "CPlusPlus pretty printer autotest"
|
||||
files: "tst_typeprettyprinter.cpp"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "Debugger autotests"
|
||||
property path debuggerDir: project.ide_source_tree + "/src/plugins/debugger/"
|
||||
references: [
|
||||
"dumpers.qbs",
|
||||
"gdb.qbs",
|
||||
"namedemangler.qbs"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
import qbs
|
||||
import "../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "Debugger dumpers autotest"
|
||||
Depends { name: "CPlusPlus" }
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Qt.widgets" } // For QTextDocument
|
||||
Depends { name: "Qt.network" } // For QHostAddress
|
||||
Group {
|
||||
name: "Sources from Debugger plugin"
|
||||
prefix: project.debuggerDir
|
||||
files: [
|
||||
"debuggerprotocol.h", "debuggerprotocol.cpp",
|
||||
"watchdata.h", "watchdata.cpp",
|
||||
"watchutils.h", "watchutils.cpp"
|
||||
]
|
||||
}
|
||||
|
||||
Group {
|
||||
name: "Test sources"
|
||||
files: [
|
||||
"temporarydir.h",
|
||||
"tst_dumpers.cpp"
|
||||
]
|
||||
}
|
||||
|
||||
cpp.defines: base.concat([
|
||||
'CDBEXT_PATH="' + buildDirectory + '\\\\lib"',
|
||||
'DUMPERDIR="' + path + '/../../../share/qtcreator/dumper"',
|
||||
'QT_NO_CAST_FROM_ASCII',
|
||||
'QT_DISABLE_DEPRECATED_BEFORE=0x040900'
|
||||
])
|
||||
cpp.includePaths: base.concat([project.debuggerDir])
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import qbs
|
||||
import "../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "gdb autotest"
|
||||
Depends { name: "Qt.network" } // For QHostAddress
|
||||
Group {
|
||||
name: "Sources from Debugger plugin"
|
||||
prefix: project.debuggerDir
|
||||
files: "debuggerprotocol.cpp"
|
||||
}
|
||||
Group {
|
||||
name: "Test sources"
|
||||
files: "tst_gdb.cpp"
|
||||
}
|
||||
cpp.includePaths: base.concat([project.debuggerDir])
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import qbs
|
||||
import "../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "Name demangler autotest"
|
||||
Group {
|
||||
name: "Sources from Debugger plugin"
|
||||
prefix: project.debuggerDir + "namedemangler/"
|
||||
files: ["*.h", "*.cpp"]
|
||||
}
|
||||
Group {
|
||||
name: "Test sources"
|
||||
files: "tst_namedemangler.cpp"
|
||||
}
|
||||
cpp.includePaths: base.concat([project.debuggerDir])
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "Diff autotests"
|
||||
references: ["differ/differ.qbs"]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import qbs
|
||||
import "../../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "Differ autotest"
|
||||
Depends { name: "DiffEditor" }
|
||||
Depends { name: "Qt.widgets" } // For QTextDocument
|
||||
files: "tst_differ.cpp"
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import qbs
|
||||
import "../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "Environment autotest"
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Qt.widgets" } // TODO: qbs bug, remove when fixed
|
||||
files: "tst_environment.cpp"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
import qbs
|
||||
import qbs.File
|
||||
import qbs.FileInfo
|
||||
|
||||
Transformer {
|
||||
property pathList sourceFiles
|
||||
property path targetDirectory
|
||||
inputs: sourceFiles
|
||||
Artifact { fileName: targetDirectory }
|
||||
prepare: {
|
||||
var commands = []
|
||||
for (var tag in inputs) {
|
||||
for (var index in inputs[tag]) {
|
||||
var artifact = inputs[tag][index];
|
||||
var cmd = new JavaScriptCommand();
|
||||
cmd.sourceFile = artifact.fileName;
|
||||
cmd.description = "Copying '" + cmd.sourceFile + "' to '" + output.fileName + "/'.";
|
||||
cmd.highlight = "codegen";
|
||||
cmd.targetFilePath = output.fileName + '/' + FileInfo.fileName(cmd.sourceFile);
|
||||
cmd.sourceCode = function() { File.copy(sourceFile, targetFilePath); }
|
||||
commands.push(cmd);
|
||||
}
|
||||
}
|
||||
return commands;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "ExtensionSystem autotests"
|
||||
references: [
|
||||
"pluginmanager/pluginmanager.qbs",
|
||||
"pluginspec/pluginspec.qbs"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import qbs
|
||||
import qbs.File
|
||||
import qbs.FileInfo
|
||||
import "./copytransformer.qbs" as CopyTransformer
|
||||
import "../../../qbs/defaults.js" as Defaults
|
||||
|
||||
DynamicLibrary {
|
||||
Depends { name: "Aggregation" }
|
||||
Depends { name: "ExtensionSystem" }
|
||||
Depends { name: "cpp" }
|
||||
Depends { name: "Qt.core" }
|
||||
targetName: Defaults.qtLibraryName(qbs, name.split('_')[1])
|
||||
destinationDirectory: FileInfo.relativePath(project.ide_source_tree, sourceDirectory)
|
||||
cpp.rpaths: [
|
||||
buildDirectory + "/lib/qtcreator",
|
||||
buildDirectory + "/lib/qtcreator/plugins/QtProject"
|
||||
].concat(additionalRPaths)
|
||||
property pathList filesToCopy
|
||||
property pathList additionalRPaths: []
|
||||
CopyTransformer {
|
||||
sourceFiles: product.filesToCopy
|
||||
targetDirectory: product.destinationDirectory
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "ExtensionSystem cirular plugins autotests"
|
||||
references: [
|
||||
"plugin1/plugin1.qbs",
|
||||
"plugin2/plugin2.qbs",
|
||||
"plugin3/plugin3.qbs"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import qbs
|
||||
import "../../../plugin.qbs" as Plugin
|
||||
|
||||
Plugin {
|
||||
name: "circular_plugin1"
|
||||
filesToCopy: "plugin.xml"
|
||||
files: ["plugin1.h", "plugin1.cpp"].concat(filesToCopy)
|
||||
cpp.defines: base.concat(["PLUGIN1_LIBRARY"])
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import qbs
|
||||
import "../../../plugin.qbs" as Plugin
|
||||
|
||||
Plugin {
|
||||
name: "circular_plugin2"
|
||||
filesToCopy: "plugin.xml"
|
||||
files: ["plugin2.h", "plugin2.cpp"].concat(filesToCopy)
|
||||
cpp.defines: base.concat(["PLUGIN2_LIBRARY"])
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import qbs
|
||||
import "../../../plugin.qbs" as Plugin
|
||||
|
||||
Plugin {
|
||||
name: "circular_plugin3"
|
||||
filesToCopy: "plugin.xml"
|
||||
files: ["plugin3.h", "plugin3.cpp"].concat(filesToCopy)
|
||||
cpp.defines: base.concat(["PLUGIN3_LIBRARY"])
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "ExtensionSystem correct plugins autotests"
|
||||
references: [
|
||||
"plugin1/plugin1.qbs",
|
||||
"plugin2/plugin2.qbs",
|
||||
"plugin3/plugin3.qbs"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
import qbs
|
||||
import "../../../plugin.qbs" as Plugin
|
||||
|
||||
Plugin {
|
||||
name: "correct_plugin1"
|
||||
Depends { name: "correct_plugin2" }
|
||||
Depends { name: "correct_plugin3" }
|
||||
filesToCopy: "plugin.spec"
|
||||
additionalRPaths: [
|
||||
destinationDirectory + "/../plugin2",
|
||||
destinationDirectory + "/../plugin3"
|
||||
]
|
||||
files: ["plugin1.h", "plugin1.cpp"].concat(filesToCopy)
|
||||
cpp.defines: base.concat(["PLUGIN1_LIBRARY"])
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import qbs
|
||||
import "../../../plugin.qbs" as Plugin
|
||||
|
||||
Plugin {
|
||||
name: "correct_plugin2"
|
||||
filesToCopy: "plugin.spec"
|
||||
files: ["plugin2.h", "plugin2.cpp"].concat(filesToCopy)
|
||||
cpp.defines: base.concat(["PLUGIN2_LIBRARY"])
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import qbs
|
||||
import "../../../plugin.qbs" as Plugin
|
||||
|
||||
Plugin {
|
||||
name: "correct_plugin3"
|
||||
Depends { name: "correct_plugin2" }
|
||||
filesToCopy: "plugin.spec"
|
||||
additionalRPaths: [destinationDirectory + "/../plugin2"]
|
||||
files: ["plugin3.h", "plugin3.cpp"].concat(filesToCopy)
|
||||
cpp.defines: base.concat(["PLUGIN3_LIBRARY"])
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "PluginManager autotests"
|
||||
references: [
|
||||
"circularplugins/circularplugins.qbs",
|
||||
"correctplugins1/correctplugins1.qbs",
|
||||
"test.qbs"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
import qbs
|
||||
import qbs.File
|
||||
import qbs.FileInfo
|
||||
import "../../autotest.qbs" as Autotest
|
||||
import "../copytransformer.qbs" as CopyTransformer
|
||||
|
||||
Autotest {
|
||||
name: "PluginManager autotest"
|
||||
Depends { name: "Aggregation" }
|
||||
Depends { name: "ExtensionSystem" }
|
||||
Depends { name: "circular_plugin1" }
|
||||
Depends { name: "circular_plugin2" }
|
||||
Depends { name: "circular_plugin3" }
|
||||
Depends { name: "correct_plugin1" }
|
||||
Depends { name: "correct_plugin2" }
|
||||
Depends { name: "correct_plugin3" }
|
||||
Group {
|
||||
id: pluginGroup
|
||||
name: "plugins"
|
||||
files: [
|
||||
"plugins/otherplugin.xml",
|
||||
"plugins/plugin1.xml",
|
||||
"plugins/myplug/myplug.xml"
|
||||
]
|
||||
}
|
||||
|
||||
CopyTransformer {
|
||||
sourceFiles: pluginGroup.files
|
||||
targetDirectory: product.destinationDirectory + "/plugins"
|
||||
}
|
||||
|
||||
files: "tst_pluginmanager.cpp"
|
||||
cpp.defines: base.concat(['PLUGINMANAGER_TESTS_DIR="' + destinationDirectory + '"'])
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "ExtensionSystem pluginspec autotests"
|
||||
references: ["testplugin/testplugin.qbs", "test.qbs"]
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
import qbs
|
||||
|
||||
// TODO: Remove when import bug is fixed
|
||||
import qbs.File
|
||||
import qbs.FileInfo
|
||||
|
||||
import "../../autotest.qbs" as Autotest
|
||||
import "../copytransformer.qbs" as CopyTransformer
|
||||
|
||||
Autotest {
|
||||
name: "ExtensionSystem pluginspec autotest"
|
||||
Depends { name: "Aggregation" }
|
||||
Depends { name: "ExtensionSystem" }
|
||||
Depends { name: "pluginspec_test" }
|
||||
cpp.defines: base.concat(['PLUGINSPEC_DIR="' + destinationDirectory + '"'])
|
||||
files: "tst_pluginspec.cpp"
|
||||
Group {
|
||||
id: testSpecsGroup
|
||||
name: "test specs"
|
||||
files: [
|
||||
"testspecs/simplespec.xml",
|
||||
"testspecs/simplespec_experimental.xml",
|
||||
"testspecs/spec1.xml",
|
||||
"testspecs/spec2.xml",
|
||||
"testspecs/spec_wrong1.xml",
|
||||
"testspecs/spec_wrong2.xml",
|
||||
"testspecs/spec_wrong3.xml",
|
||||
"testspecs/spec_wrong4.xml",
|
||||
"testspecs/spec_wrong5.xml",
|
||||
]
|
||||
}
|
||||
Group {
|
||||
id: testDependenciesGroup
|
||||
name: "test dependencies"
|
||||
files: [
|
||||
"testdependencies/spec1.xml",
|
||||
"testdependencies/spec2.xml",
|
||||
"testdependencies/spec3.xml",
|
||||
"testdependencies/spec4.xml",
|
||||
"testdependencies/spec5.xml",
|
||||
]
|
||||
}
|
||||
Group {
|
||||
id: specGroup
|
||||
name: "spec"
|
||||
files: ["testdir/spec.xml"]
|
||||
}
|
||||
|
||||
CopyTransformer {
|
||||
sourceFiles: testSpecsGroup.files
|
||||
targetDirectory: product.destinationDirectory + "/testspecs"
|
||||
}
|
||||
|
||||
CopyTransformer {
|
||||
sourceFiles: testDependenciesGroup.files
|
||||
targetDirectory: product.destinationDirectory + "/testdependencies"
|
||||
}
|
||||
|
||||
CopyTransformer {
|
||||
sourceFiles: specGroup.files
|
||||
targetDirectory: product.destinationDirectory + "/testdir"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
import qbs
|
||||
import "../../plugin.qbs" as Plugin
|
||||
|
||||
Plugin {
|
||||
name: "pluginspec_test"
|
||||
files: [
|
||||
"testplugin.h", "testplugin.cpp",
|
||||
"testplugin_global.h"
|
||||
].concat(filesToCopy)
|
||||
filesToCopy: "testplugin.xml"
|
||||
cpp.defines: base.concat(["MYPLUGIN_LIBRARY"])
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
import qbs
|
||||
import "../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "ExternalTool autotest"
|
||||
property path corePluginDir: project.ide_source_tree + "/src/plugins/coreplugin"
|
||||
// TODO: This should be all that is needed here: Depends { name: "Core" }
|
||||
Depends { name: "app_version_header" }
|
||||
Depends { name: "Aggregation" }
|
||||
Depends { name: "ExtensionSystem" }
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Qt"; submodules: ["help", "printsupport", "sql"]; }
|
||||
Depends { name: "Qt.widgets" } // TODO: qbs bug, remove when fixed
|
||||
Group {
|
||||
name: "Sources from Core plugin"
|
||||
prefix: product.corePluginDir + '/'
|
||||
files: [
|
||||
"actionmanager/*",
|
||||
"dialogs/*",
|
||||
"editormanager/*",
|
||||
"documentmanager.h", "documentmanager.cpp",
|
||||
"editortoolbar.h", "editortoolbar.cpp",
|
||||
"externaltool.h", "externaltool.cpp",
|
||||
"externaltoolmanager.h",
|
||||
"fancyactionbar.h", "fancyactionbar.cpp",
|
||||
"fancytabwidget.h", "fancytabwidget.cpp",
|
||||
"featureprovider.h", "featureprovider.cpp",
|
||||
"fileiconprovider.h", "fileiconprovider.cpp",
|
||||
"fileutils.h", "fileutils.cpp",
|
||||
"findplaceholder.h", "findplaceholder.cpp",
|
||||
"generalsettings.*",
|
||||
"helpmanager.h", "helpmanager.cpp",
|
||||
"icontext.h", "icontext.cpp",
|
||||
"icore.h", "icore.cpp",
|
||||
"icorelistener.h",
|
||||
"idocument.h", "idocument.cpp",
|
||||
"idocumentfactory.h",
|
||||
"id.h", "id.cpp",
|
||||
"imode.h", "imode.cpp",
|
||||
"inavigationwidgetfactory.h", "inavigationwidgetfactory.cpp",
|
||||
"infobar.h", "infobar.cpp",
|
||||
"ioutputpane.h",
|
||||
"iversioncontrol.h", "iversioncontrol.cpp",
|
||||
"mainwindow.h", "mainwindow.cpp",
|
||||
"manhattanstyle.h", "manhattanstyle.cpp",
|
||||
"messagemanager.h", "messagemanager.cpp",
|
||||
"messageoutputwindow.h", "messageoutputwindow.cpp",
|
||||
"mimedatabase.h", "mimedatabase.cpp",
|
||||
"mimetypemagicdialog.*",
|
||||
"mimetypesettings.h", "mimetypesettings.cpp",
|
||||
"minisplitter.h", "minisplitter.cpp",
|
||||
"modemanager.h", "modemanager.cpp",
|
||||
"navigationsubwidget.h", "navigationsubwidget.cpp",
|
||||
"navigationwidget.h", "navigationwidget.cpp",
|
||||
"outputpane.h", "outputpane.cpp",
|
||||
"outputpanemanager.h", "outputpanemanager.cpp",
|
||||
"outputwindow.h", "outputwindow.cpp",
|
||||
"plugindialog.h", "plugindialog.cpp",
|
||||
"rightpane.h", "rightpane.cpp",
|
||||
"settingsdatabase.h", "settingsdatabase.cpp",
|
||||
"statusbarmanager.h", "statusbarmanager.cpp",
|
||||
"statusbarwidget.h", "statusbarwidget.cpp",
|
||||
"styleanimator.h", "styleanimator.cpp",
|
||||
"toolsettings.h", "toolsettings.cpp",
|
||||
"variablechooser.h", "variablechooser.cpp",
|
||||
"variablemanager.h", "variablemanager.cpp",
|
||||
"vcsmanager.h", "vcsmanager.cpp",
|
||||
"versiondialog.h", "versiondialog.cpp",
|
||||
]
|
||||
}
|
||||
|
||||
Group {
|
||||
name: "Progress Manager"
|
||||
prefix: product.corePluginDir + "/progressmanager/"
|
||||
files: [
|
||||
"futureprogress.cpp", "futureprogress.h",
|
||||
"progressbar.cpp", "progressbar.h",
|
||||
"progressmanager.cpp", "progressmanager.h", "progressmanager_p.h",
|
||||
"progressview.cpp", "progressview.h",
|
||||
]
|
||||
}
|
||||
|
||||
Group {
|
||||
name: "ProgressManager_win"
|
||||
prefix: product.corePluginDir + '/'
|
||||
condition: qbs.targetOS.contains("windows")
|
||||
files: [
|
||||
"progressmanager/progressmanager_win.cpp",
|
||||
]
|
||||
}
|
||||
|
||||
Group {
|
||||
name: "ProgressManager_mac"
|
||||
prefix: product.corePluginDir + '/'
|
||||
condition: qbs.targetOS.contains("osx")
|
||||
files: [
|
||||
"macfullscreen.h",
|
||||
"macfullscreen.mm",
|
||||
"progressmanager/progressmanager_mac.mm",
|
||||
]
|
||||
}
|
||||
|
||||
Group {
|
||||
name: "ProgressManager_x11"
|
||||
prefix: product.corePluginDir + '/'
|
||||
condition: qbs.targetOS.contains("unix") && !qbs.targetOS.contains("osx")
|
||||
files: [
|
||||
"progressmanager/progressmanager_x11.cpp",
|
||||
]
|
||||
}
|
||||
|
||||
Group {
|
||||
name: "Test sources"
|
||||
files: "tst_externaltooltest.cpp"
|
||||
}
|
||||
cpp.defines: base.concat([
|
||||
"QT_DISABLE_DEPRECATED_BEFORE=0x040900",
|
||||
"CORE_LIBRARY" // Needed to compile on Windows...
|
||||
])
|
||||
cpp.includePaths: base.concat([
|
||||
product.buildDirectory + "/GeneratedFiles/Core",
|
||||
corePluginDir + "/.."
|
||||
])
|
||||
cpp.dynamicLibraries: {
|
||||
if (qbs.targetOS.contains("windows")) return [
|
||||
"ole32",
|
||||
"user32"
|
||||
]
|
||||
}
|
||||
cpp.frameworks: qbs.targetOS.contains("osx") ? ["AppKit"] : undefined
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import qbs
|
||||
import "../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "File search autotest"
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Qt.widgets" } // For QTextDocument
|
||||
files: [
|
||||
"testfile.txt",
|
||||
"tst_filesearch.cpp",
|
||||
"tst_filesearch.qrc"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "Generic highlighter autotests"
|
||||
property path genericHighlighterDir: project.ide_source_tree
|
||||
+ "/src/plugins/texteditor/generichighlighter"
|
||||
references: [
|
||||
"highlighterengine/highlighterengine.qbs",
|
||||
"specificrules/specificrules.qbs"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
import qbs
|
||||
import "../../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "Highlighter engine autotest"
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Qt.widgets" }
|
||||
Group {
|
||||
name: "Sources from TextEditor plugin"
|
||||
prefix: project.genericHighlighterDir + '/'
|
||||
files: [
|
||||
"context.h", "context.cpp",
|
||||
"dynamicrule.h", "dynamicrule.cpp",
|
||||
"highlightdefinition.h", "highlightdefinition.cpp",
|
||||
"highlighter.h", "highlighter.cpp",
|
||||
"itemdata.h", "itemdata.cpp",
|
||||
"keywordlist.h", "keywordlist.cpp",
|
||||
"progressdata.h", "progressdata.cpp",
|
||||
"rule.h", "rule.cpp",
|
||||
"specificrules.h", "specificrules.cpp"
|
||||
]
|
||||
}
|
||||
Group {
|
||||
name: "Test sources"
|
||||
files: [
|
||||
"formats.h", "formats.cpp",
|
||||
"highlightermock.h", "highlightermock.cpp",
|
||||
"tst_highlighterengine.cpp"
|
||||
]
|
||||
}
|
||||
Group {
|
||||
name: "Drop-in sources for the plugin"
|
||||
prefix: "texteditor/"
|
||||
files: [
|
||||
"basetextdocumentlayout.h",
|
||||
"syntaxhighlighter.h", "syntaxhighlighter.cpp",
|
||||
"tabsettings.h"
|
||||
]
|
||||
}
|
||||
|
||||
cpp.defines: base.concat(["TEXTEDITOR_LIBRARY"]) // For Windows
|
||||
cpp.includePaths: base.concat([
|
||||
path,
|
||||
project.genericHighlighterDir,
|
||||
project.genericHighlighterDir + "/../..",
|
||||
path])
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
import qbs
|
||||
import "../../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "Generic highlighter specific rules autotest"
|
||||
Depends { name: "Qt.widgets" }
|
||||
Group {
|
||||
name: "Sources from TextEditor plugin"
|
||||
prefix: project.genericHighlighterDir + '/'
|
||||
files: [
|
||||
"context.cpp",
|
||||
"dynamicrule.cpp",
|
||||
"highlightdefinition.cpp",
|
||||
"itemdata.cpp",
|
||||
"keywordlist.cpp",
|
||||
"progressdata.cpp",
|
||||
"rule.cpp",
|
||||
"specificrules.cpp",
|
||||
]
|
||||
}
|
||||
Group {
|
||||
name: "Test sources"
|
||||
files: "tst_specificrules.cpp"
|
||||
}
|
||||
|
||||
cpp.includePaths: base.concat([project.genericHighlighterDir + "/../.."])
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import qbs
|
||||
import "../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "IoUtils autotest"
|
||||
Depends { name: "Qt.core" }
|
||||
files: [
|
||||
project.ide_source_tree + "/src/shared/proparser/ioutils.cpp",
|
||||
"tst_ioutils.cpp"
|
||||
]
|
||||
Properties {
|
||||
condition: Qt.core.versionMajor == 4
|
||||
cpp.defines: base.concat(["QT_BOOTSTRAPPED"]) // For shellQuote().
|
||||
}
|
||||
cpp.includePaths: base.concat([project.ide_source_tree + "/src/shared"])
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
import qbs
|
||||
import "../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "ProFileWriter autotest"
|
||||
Depends { name: "Qt.xml" }
|
||||
Group {
|
||||
name: "Sources from ProParser"
|
||||
id: proParserGroup
|
||||
prefix: project.ide_source_tree + "/src/shared/proparser/"
|
||||
files: [
|
||||
"ioutils.h", "ioutils.cpp",
|
||||
"profileevaluator.h", "profileevaluator.cpp",
|
||||
"proitems.h", "proitems.cpp",
|
||||
"prowriter.h", "prowriter.cpp",
|
||||
"qmake_global.h",
|
||||
"qmakebuiltins.cpp",
|
||||
"qmakeevaluator.h", "qmakeevaluator_p.h", "qmakeevaluator.cpp",
|
||||
"qmakeglobals.h", "qmakeglobals.cpp",
|
||||
"qmakeparser.h", "qmakeparser.cpp",
|
||||
"qmakevfs.h", "qmakevfs.cpp"
|
||||
]
|
||||
}
|
||||
Group {
|
||||
name: "Test sources"
|
||||
files: "tst_profilewriter.cpp"
|
||||
}
|
||||
cpp.includePaths: base.concat([proParserGroup.prefix])
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import qbs
|
||||
import "../../../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "QML code model check autotest"
|
||||
Depends { name: "LanguageUtils" }
|
||||
Depends { name: "QmlJS" }
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Qt.widgets" }
|
||||
files: "tst_check.cpp"
|
||||
cpp.defines: base.concat([
|
||||
'QT_CREATOR',
|
||||
'QTCREATORDIR="' + project.ide_source_tree + '"',
|
||||
'TESTSRCDIR="' + path + '"'
|
||||
])
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "QML code model autotests"
|
||||
references: ["check/check.qbs"]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "QML autotests"
|
||||
references: [
|
||||
"codemodel/codemodel.qbs",
|
||||
// "qmldesigner/qmldesigner.qbs",
|
||||
"qmleditor/qmleditor.qbs",
|
||||
"qmljssimplereader/qmljssimplereader.qbs",
|
||||
"qmlprojectmanager/qmlprojectmanager.qbs",
|
||||
"qrcparser/qrcparser.qbs",
|
||||
"reformatter/reformatter.qbs"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
import qbs
|
||||
import "../../../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "QML code formatter autotest"
|
||||
Depends { name: "LanguageUtils" }
|
||||
Depends { name: "QmlJS" }
|
||||
Depends { name: "QmlJSTools" }
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Qt.widgets" } // TODO: Remove when qbs bug is fixed
|
||||
files: "tst_qmlcodeformatter.cpp"
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "QML editor autotests"
|
||||
references: ["qmlcodeformatter/qmlcodeformatter.qbs"]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import qbs
|
||||
import "../../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "QMLJS simple reader autotest"
|
||||
Depends { name: "QmlJS" }
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Qt.widgets" } // TODO: Remove when qbs bug is fixed
|
||||
files: "tst_qmljssimplereader.cpp"
|
||||
cpp.defines: base.concat(["QT_CREATOR"])
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import qbs
|
||||
import "../../../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
condition: false
|
||||
name: "QmlProjectManager file format autotest"
|
||||
Depends { name: "QmlProjectManager" }
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Qt"; submodules: ["script", "declarative"]; }
|
||||
Depends { name: "Qt.widgets" } // TODO: Remove when qbs bug is fixed
|
||||
files: "tst_fileformat.cpp"
|
||||
cpp.includePaths: base.concat([project.ide_source_tree + "/src/plugins/qmlprojectmanager/fileformat"])
|
||||
cpp.defines: base.concat(['SRCDIR="' + path + '"'])
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
condition: false // Known to be broken, nobody cares.
|
||||
name: "QmlProjectManager autotests"
|
||||
references: "fileformat/fileformat.qbs"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import qbs
|
||||
import "../../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "QML qrc parser autotest"
|
||||
Depends { name: "QmlJS" }
|
||||
Depends { name: "QmlJSTools" }
|
||||
files: "tst_qrcparser.cpp"
|
||||
cpp.defines: base.concat(['TESTSRCDIR="' + path + '"'])
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
import qbs
|
||||
import "../../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "QML reformatter autotest"
|
||||
Depends { name: "QmlJS" }
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Qt.widgets" } // TODO: Remove when qbs bug is fixed
|
||||
files: "tst_reformatter.cpp"
|
||||
cpp.defines: base.concat([
|
||||
'QT_CREATOR',
|
||||
'QTCREATORDIR="' + project.ide_source_tree + '"',
|
||||
'TESTSRCDIR="' + path + '"'
|
||||
])
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import qbs
|
||||
import "../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "QtcProcess autotest"
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Qt.widgets" } // TODO: qbs bug, remove when fixed
|
||||
files: "tst_qtcprocess.cpp"
|
||||
Properties {
|
||||
condition: qbs.targetOS === "windows"
|
||||
cpp.defines: base.concat(["_CRT_SECURE_NO_WARNINGS"])
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import qbs
|
||||
import "../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "TreeViewFind autotest"
|
||||
Depends { name: "Find" }
|
||||
Depends { name: "Qt.widgets" } // For QTextDocument
|
||||
files: "tst_treeviewfind.cpp"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import qbs
|
||||
import "../../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "FileUtils autotest"
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Qt.widgets" } // TODO: Remove when qbs bug is fixed
|
||||
Properties {
|
||||
condition: qbs.toolchain.contains("gcc")
|
||||
cpp.cxxFlags: base.concat(["-Wno-trigraphs"])
|
||||
}
|
||||
files: "tst_fileutils.cpp"
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "Utils autotests"
|
||||
references: ["fileutils/fileutils.qbs"]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import qbs
|
||||
import "../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "StringUtils autotest"
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Qt.widgets" } // TODO: Remove when qbs bug is fixed
|
||||
files: "tst_stringutils.cpp"
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "Callgrind autotests"
|
||||
references: ["callgrindparsertests.qbs"]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import qbs
|
||||
import "../../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "Callgrind parser autotest"
|
||||
Depends { name: "QtcSsh" }
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Valgrind" }
|
||||
Depends { name: "Qt.widgets" } // TODO: Remove when qbs bug is fixed
|
||||
property path pluginDir: project.ide_source_tree + "/src/plugins/valgrind"
|
||||
files: ["callgrindparsertests.h", "callgrindparsertests.cpp"]
|
||||
cpp.defines: base.concat([
|
||||
'CALLGRINDPARSERTESTS',
|
||||
'PARSERTESTS_DATA_DIR="' + path + '/data"'
|
||||
])
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "Memcheck autotests"
|
||||
references: [
|
||||
"testapps/testapps.qbs",
|
||||
"modeldemo.qbs",
|
||||
"parsertests.qbs",
|
||||
"testrunner.qbs"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import qbs
|
||||
import "../../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "Memcheck ModelDemo autotest"
|
||||
Depends { name: "QtcSsh" }
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Valgrind" }
|
||||
Depends { name: "valgrind-fake" }
|
||||
Depends { name: "Qt.widgets" } // TODO: Remove when qbs bug is fixed
|
||||
Depends { name: "Qt.network" }
|
||||
files: ["modeldemo.h", "modeldemo.cpp"]
|
||||
cpp.defines: base.concat([
|
||||
'PARSERTESTS_DATA_DIR="' + path + '/data"',
|
||||
'VALGRIND_FAKE_PATH="' + product.buildDirectory + '/' + project.ide_bin_path + '/valgrind-fake"'
|
||||
])
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import qbs
|
||||
import "../../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "Memcheck parser autotest"
|
||||
Depends { name: "QtcSsh" }
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Valgrind" }
|
||||
Depends { name: "valgrind-fake" }
|
||||
Depends { name: "Qt.widgets" } // TODO: Remove when qbs bug is fixed
|
||||
Depends { name: "Qt.network" }
|
||||
files: ["parsertests.h", "parsertests.cpp"]
|
||||
cpp.defines: base.concat([
|
||||
'PARSERTESTS_DATA_DIR="' + path + '/data"',
|
||||
'VALGRIND_FAKE_PATH="' + product.buildDirectory + '/' + project.ide_bin_path + '/valgrind-fake"'
|
||||
])
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
import qbs
|
||||
import "../testapp.qbs" as TestApp
|
||||
|
||||
TestApp { testName: "free1" }
|
||||
@@ -0,0 +1,4 @@
|
||||
import qbs
|
||||
import "../testapp.qbs" as TestApp
|
||||
|
||||
TestApp { testName: "free2" }
|
||||
@@ -0,0 +1,4 @@
|
||||
import qbs
|
||||
import "../testapp.qbs" as TestApp
|
||||
|
||||
TestApp { testName: "invalidjump" }
|
||||
@@ -0,0 +1,4 @@
|
||||
import qbs
|
||||
import "../testapp.qbs" as TestApp
|
||||
|
||||
TestApp { testName: "leak1" }
|
||||
@@ -0,0 +1,4 @@
|
||||
import qbs
|
||||
import "../testapp.qbs" as TestApp
|
||||
|
||||
TestApp { testName: "leak2" }
|
||||
@@ -0,0 +1,4 @@
|
||||
import qbs
|
||||
import "../testapp.qbs" as TestApp
|
||||
|
||||
TestApp { testName: "leak3" }
|
||||
@@ -0,0 +1,4 @@
|
||||
import qbs
|
||||
import "../testapp.qbs" as TestApp
|
||||
|
||||
TestApp { testName: "leak4" }
|
||||
@@ -0,0 +1,4 @@
|
||||
import qbs
|
||||
import "../testapp.qbs" as TestApp
|
||||
|
||||
TestApp { testName: "overlap"; cpp.cxxFlags: base.concat(["-O0", "-fno-builtin"]); }
|
||||
@@ -0,0 +1,4 @@
|
||||
import qbs
|
||||
import "../testapp.qbs" as TestApp
|
||||
|
||||
TestApp { testName: "syscall"; cpp.cxxFlags: base.concat(["-O0"]); }
|
||||
@@ -0,0 +1,9 @@
|
||||
import qbs
|
||||
import "../../../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "Memcheck " + testName + " autotest"
|
||||
targetName: testName // Test runner hardcodes the names of the executables
|
||||
destinationDirectory: buildDirectory + '/' + project.ide_bin_path + '/testapps/' + testName
|
||||
files: "main.cpp"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "Memcheck test apps"
|
||||
references: [
|
||||
"free1/free1.qbs",
|
||||
"free2/free2.qbs",
|
||||
"invalidjump/invalidjump.qbs",
|
||||
"leak1/leak1.qbs",
|
||||
"leak2/leak2.qbs",
|
||||
"leak3/leak3.qbs",
|
||||
"leak4/leak4.qbs",
|
||||
"overlap/overlap.qbs",
|
||||
"syscall/syscall.qbs",
|
||||
"uninit1/uninit1.qbs",
|
||||
"uninit2/uninit2.qbs",
|
||||
"uninit3/uninit3.qbs"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
import qbs
|
||||
import "../testapp.qbs" as TestApp
|
||||
|
||||
TestApp { testName: "uninit1"; cpp.cxxFlags: base.concat(["-O0"]); }
|
||||
@@ -0,0 +1,4 @@
|
||||
import qbs
|
||||
import "../testapp.qbs" as TestApp
|
||||
|
||||
TestApp { testName: "uninit2"; cpp.cxxFlags: base.concat(["-O0"]); }
|
||||
@@ -0,0 +1,4 @@
|
||||
import qbs
|
||||
import "../testapp.qbs" as TestApp
|
||||
|
||||
TestApp { testName: "uninit3"; cpp.cxxFlags: base.concat(["-O0"]); }
|
||||
@@ -0,0 +1,28 @@
|
||||
import qbs
|
||||
import "../../autotest.qbs" as Autotest
|
||||
|
||||
Autotest {
|
||||
name: "Memcheck test runner"
|
||||
Depends { name: "Memcheck free1 autotest" }
|
||||
Depends { name: "Memcheck free2 autotest" }
|
||||
Depends { name: "Memcheck invalidjump autotest" }
|
||||
Depends { name: "Memcheck leak1 autotest" }
|
||||
Depends { name: "Memcheck leak2 autotest" }
|
||||
Depends { name: "Memcheck leak3 autotest" }
|
||||
Depends { name: "Memcheck leak4 autotest" }
|
||||
Depends { name: "Memcheck overlap autotest" }
|
||||
Depends { name: "Memcheck syscall autotest" }
|
||||
Depends { name: "Memcheck uninit1 autotest" }
|
||||
Depends { name: "Memcheck uninit2 autotest" }
|
||||
Depends { name: "Memcheck uninit3 autotest" }
|
||||
Depends { name: "QtcSsh" }
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "Valgrind" }
|
||||
Depends { name: "Qt.widgets" } // TODO: Remove when qbs bug is fixed
|
||||
files: ["testrunner.h", "testrunner.cpp"]
|
||||
destinationDirectory: project.ide_bin_path
|
||||
cpp.defines: base.concat([
|
||||
'TESTRUNNER_SRC_DIR="' + path + '/testapps"',
|
||||
'TESTRUNNER_APP_DIR="' + product.buildDirectory + '/' + destinationDirectory + '/testapps"'
|
||||
])
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "Valgrind autotests"
|
||||
condition: qbs.targetOS.contains("unix")
|
||||
references: [
|
||||
"callgrind/callgrind.qbs",
|
||||
"memcheck/memcheck.qbs"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import qbs
|
||||
|
||||
Project {
|
||||
name: "Tests"
|
||||
references: ["auto/auto.qbs"]
|
||||
}
|
||||
Reference in New Issue
Block a user