forked from qt-creator/qt-creator
Move functions to utils class
Change-Id: I8fd3d32b22976a11fd5bc5e3282e2cde0c409349 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
This commit is contained in:
committed by
Niels Weber
parent
54d753574e
commit
0502bb3cf7
@@ -22,9 +22,12 @@
|
|||||||
|
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
|
|
||||||
namespace AutoTest {
|
namespace Autotest {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
|
class TestUtils
|
||||||
|
{
|
||||||
|
public:
|
||||||
static bool isGTestMacro(const QString ¯o)
|
static bool isGTestMacro(const QString ¯o)
|
||||||
{
|
{
|
||||||
static QStringList valid = {
|
static QStringList valid = {
|
||||||
@@ -33,7 +36,20 @@ static bool isGTestMacro(const QString ¯o)
|
|||||||
return valid.contains(macro);
|
return valid.contains(macro);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool isQTestMacro(const QByteArray ¯o)
|
||||||
|
{
|
||||||
|
static QByteArrayList valid = {"QTEST_MAIN", "QTEST_APPLESS_MAIN", "QTEST_GUILESS_MAIN"};
|
||||||
|
return valid.contains(macro);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool isQuickTestMacro(const QByteArray ¯o)
|
||||||
|
{
|
||||||
|
static const QByteArrayList valid = {"QUICK_TEST_MAIN", "QUICK_TEST_OPENGL_MAIN"};
|
||||||
|
return valid.contains(macro);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
} // namespace AutoTest
|
} // namespace Autotest
|
||||||
|
|
||||||
#endif // AUTOTEST_UTILS_H
|
#endif // AUTOTEST_UTILS_H
|
||||||
|
@@ -277,14 +277,13 @@ static QString quickTestSrcDir(const CppTools::CppModelManager *cppMM,
|
|||||||
static QString testClass(const CppTools::CppModelManager *modelManager,
|
static QString testClass(const CppTools::CppModelManager *modelManager,
|
||||||
CPlusPlus::Document::Ptr &document)
|
CPlusPlus::Document::Ptr &document)
|
||||||
{
|
{
|
||||||
static const QByteArray qtTestMacros[] = {"QTEST_MAIN", "QTEST_APPLESS_MAIN", "QTEST_GUILESS_MAIN"};
|
|
||||||
const QList<CPlusPlus::Document::MacroUse> macros = document->macroUses();
|
const QList<CPlusPlus::Document::MacroUse> macros = document->macroUses();
|
||||||
|
|
||||||
foreach (const CPlusPlus::Document::MacroUse ¯o, macros) {
|
foreach (const CPlusPlus::Document::MacroUse ¯o, macros) {
|
||||||
if (!macro.isFunctionLike())
|
if (!macro.isFunctionLike())
|
||||||
continue;
|
continue;
|
||||||
const QByteArray name = macro.macro().name();
|
const QByteArray name = macro.macro().name();
|
||||||
if (name == qtTestMacros[0] || name == qtTestMacros[1] || name == qtTestMacros[2]) {
|
if (TestUtils::isQTestMacro(name)) {
|
||||||
const CPlusPlus::Document::Block arg = macro.arguments().at(0);
|
const CPlusPlus::Document::Block arg = macro.arguments().at(0);
|
||||||
return QLatin1String(getFileContent(document->fileName())
|
return QLatin1String(getFileContent(document->fileName())
|
||||||
.mid(arg.bytesBegin(), arg.bytesEnd() - arg.bytesBegin()));
|
.mid(arg.bytesBegin(), arg.bytesEnd() - arg.bytesBegin()));
|
||||||
@@ -303,14 +302,13 @@ static QString testClass(const CppTools::CppModelManager *modelManager,
|
|||||||
|
|
||||||
static QString quickTestName(const CPlusPlus::Document::Ptr &doc)
|
static QString quickTestName(const CPlusPlus::Document::Ptr &doc)
|
||||||
{
|
{
|
||||||
static const QByteArray qtTestMacros[] = {"QUICK_TEST_MAIN", "QUICK_TEST_OPENGL_MAIN"};
|
|
||||||
const QList<CPlusPlus::Document::MacroUse> macros = doc->macroUses();
|
const QList<CPlusPlus::Document::MacroUse> macros = doc->macroUses();
|
||||||
|
|
||||||
foreach (const CPlusPlus::Document::MacroUse ¯o, macros) {
|
foreach (const CPlusPlus::Document::MacroUse ¯o, macros) {
|
||||||
if (!macro.isFunctionLike())
|
if (!macro.isFunctionLike())
|
||||||
continue;
|
continue;
|
||||||
const QByteArray name = macro.macro().name();
|
const QByteArray name = macro.macro().name();
|
||||||
if (name == qtTestMacros[0] || name == qtTestMacros[1] || name == qtTestMacros[2]) {
|
if (TestUtils::isQuickTestMacro(name)) {
|
||||||
CPlusPlus::Document::Block arg = macro.arguments().at(0);
|
CPlusPlus::Document::Block arg = macro.arguments().at(0);
|
||||||
return QLatin1String(getFileContent(doc->fileName())
|
return QLatin1String(getFileContent(doc->fileName())
|
||||||
.mid(arg.bytesBegin(), arg.bytesEnd() - arg.bytesBegin()));
|
.mid(arg.bytesBegin(), arg.bytesEnd() - arg.bytesBegin()));
|
||||||
@@ -325,7 +323,7 @@ static QSet<QString> testNames(CPlusPlus::Document::Ptr &document)
|
|||||||
foreach (const CPlusPlus::Document::MacroUse ¯o, document->macroUses()) {
|
foreach (const CPlusPlus::Document::MacroUse ¯o, document->macroUses()) {
|
||||||
if (!macro.isFunctionLike())
|
if (!macro.isFunctionLike())
|
||||||
continue;
|
continue;
|
||||||
if (AutoTest::Internal::isGTestMacro(QLatin1String(macro.macro().name()))) {
|
if (TestUtils::isGTestMacro(QLatin1String(macro.macro().name()))) {
|
||||||
const QVector<CPlusPlus::Document::Block> args = macro.arguments();
|
const QVector<CPlusPlus::Document::Block> args = macro.arguments();
|
||||||
if (args.size() != 2)
|
if (args.size() != 2)
|
||||||
continue;
|
continue;
|
||||||
|
@@ -359,7 +359,7 @@ bool GTestVisitor::visit(CPlusPlus::FunctionDefinitionAST *ast)
|
|||||||
|
|
||||||
CPlusPlus::LookupContext lc;
|
CPlusPlus::LookupContext lc;
|
||||||
const QString prettyName = m_overview.prettyName(lc.fullyQualifiedName(ast->symbol));
|
const QString prettyName = m_overview.prettyName(lc.fullyQualifiedName(ast->symbol));
|
||||||
if (!AutoTest::Internal::isGTestMacro(prettyName))
|
if (!TestUtils::isGTestMacro(prettyName))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
CPlusPlus::Argument *testCaseNameArg = ast->symbol->argumentAt(0)->asArgument();
|
CPlusPlus::Argument *testCaseNameArg = ast->symbol->argumentAt(0)->asArgument();
|
||||||
|
Reference in New Issue
Block a user