App for running tests for QmuParser library.
--HG-- branch : feature
This commit is contained in:
parent
2896d7feeb
commit
1bbee62a79
11
src/src.pro
11
src/src.pro
|
@ -1,17 +1,16 @@
|
||||||
TEMPLATE = subdirs
|
TEMPLATE = subdirs
|
||||||
#SUBDIRS = sub_lib sub_tests sub_app
|
|
||||||
SUBDIRS = \
|
SUBDIRS = \
|
||||||
sub_app \
|
sub_app \
|
||||||
sub_lib_qmuparser
|
sub_lib_qmuparser \
|
||||||
|
test/ParserTest
|
||||||
|
|
||||||
#sub_lib_qmuparser.subdir = libs/qmuparser
|
|
||||||
sub_lib_qmuparser.file = libs/qmuparser/qmuparser.pro
|
sub_lib_qmuparser.file = libs/qmuparser/qmuparser.pro
|
||||||
#sub_tests.file = tests/proj.pro
|
sub_parser_tests.file = test/ParserTest/ParserTest.pro
|
||||||
#sub_tests.depends = sub_lib
|
sub_parser_tests.depends = sub_lib_qmuparser
|
||||||
#sub_app.subdir = app
|
|
||||||
sub_app.file = app/app.pro
|
sub_app.file = app/app.pro
|
||||||
sub_app.depends = sub_lib_qmuparser
|
sub_app.depends = sub_lib_qmuparser
|
||||||
|
|
||||||
|
|
||||||
#This makes it possible to use make -j 4 on your fancy quad-core system with a project that consists of several
|
#This makes it possible to use make -j 4 on your fancy quad-core system with a project that consists of several
|
||||||
#components that depend on each other. To simplify the process a bit, the following test function can be defined:
|
#components that depend on each other. To simplify the process a bit, the following test function can be defined:
|
||||||
|
|
||||||
|
|
66
src/test/ParserTest/ParserTest.pro
Normal file
66
src/test/ParserTest/ParserTest.pro
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
#-------------------------------------------------
|
||||||
|
#
|
||||||
|
# Project created by QtCreator 2014-05-21T20:43:38
|
||||||
|
#
|
||||||
|
#-------------------------------------------------
|
||||||
|
|
||||||
|
QT += core
|
||||||
|
|
||||||
|
QT -= gui
|
||||||
|
|
||||||
|
TARGET = ParserTest
|
||||||
|
CONFIG += console c++11
|
||||||
|
CONFIG -= app_bundle debug_and_release debug_and_release_target
|
||||||
|
|
||||||
|
TEMPLATE = app
|
||||||
|
|
||||||
|
# directory for executable file
|
||||||
|
DESTDIR = bin
|
||||||
|
|
||||||
|
# objecs files
|
||||||
|
OBJECTS_DIR = obj
|
||||||
|
|
||||||
|
SOURCES += main.cpp
|
||||||
|
|
||||||
|
unix {
|
||||||
|
QMAKE_CXX = ccache g++
|
||||||
|
}
|
||||||
|
|
||||||
|
CONFIG(debug, debug|release){
|
||||||
|
# Debug
|
||||||
|
unix {
|
||||||
|
*-g++{
|
||||||
|
QMAKE_CXXFLAGS += -isystem "/usr/include/qt5" -isystem "/usr/include/qt5/QtCore" \
|
||||||
|
-O0 -Wall -Wextra -pedantic -Weffc++ -Woverloaded-virtual -Wctor-dtor-privacy \
|
||||||
|
-Wnon-virtual-dtor -Wold-style-cast -Wconversion -Winit-self -Wstack-protector \
|
||||||
|
-Wunreachable-code -Wcast-align -Wcast-qual -Wdisabled-optimization -Wfloat-equal \
|
||||||
|
-Wformat=2 -Wimport \
|
||||||
|
-Winvalid-pch -Wunsafe-loop-optimizations -Wlong-long -Wmissing-format-attribute \
|
||||||
|
-Wmissing-include-dirs -Wpacked -Wredundant-decls -Winline \
|
||||||
|
-Wswitch-default -Wswitch-enum -Wuninitialized -Wvariadic-macros \
|
||||||
|
-Wlogical-op -Wnoexcept -Wmissing-noreturn -Wpointer-arith\
|
||||||
|
-Wstrict-null-sentinel -Wstrict-overflow=5 -Wundef -Wno-unused -gdwarf-3 \
|
||||||
|
-ftrapv
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
*-g++{#Don't use additional GCC keys on Windows system.
|
||||||
|
QMAKE_CXXFLAGS += -O0 -Wall -Wextra -pedantic
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
# Release
|
||||||
|
*-g++{
|
||||||
|
QMAKE_CXXFLAGS += -O2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Remove generated files at cleaning
|
||||||
|
QMAKE_DISTCLEAN += $${DESTDIR}/* \
|
||||||
|
$${OBJECTS_DIR}/*
|
||||||
|
|
||||||
|
win32:CONFIG(release, debug|release): LIBS += -L../../libs/qmuparser/bin -lqmuparser2
|
||||||
|
else:win32:CONFIG(debug, debug|release): LIBS += -L../../libs/qmuparser/bin -lqmuparser2
|
||||||
|
else:unix: LIBS += -L../../libs/qmuparser/bin -lqmuparser
|
||||||
|
|
||||||
|
INCLUDEPATH += ../../libs/qmuparser
|
||||||
|
DEPENDPATH += ../../libs/qmuparser
|
77
src/test/ParserTest/main.cpp
Normal file
77
src/test/ParserTest/main.cpp
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
/************************************************************************
|
||||||
|
**
|
||||||
|
** @file main.cpp
|
||||||
|
** @author Roman Telezhynskyi <dismine(at)gmail.com>
|
||||||
|
** @date 21 5, 2014
|
||||||
|
**
|
||||||
|
** @brief
|
||||||
|
** @copyright
|
||||||
|
** This source code is part of the Valentine project, a pattern making
|
||||||
|
** program, whose allow create and modeling patterns of clothing.
|
||||||
|
** Copyright (C) 2014 Valentina project
|
||||||
|
** <https://bitbucket.org/dismine/valentina> All Rights Reserved.
|
||||||
|
**
|
||||||
|
** Valentina is free software: you can redistribute it and/or modify
|
||||||
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
** the Free Software Foundation, either version 3 of the License, or
|
||||||
|
** (at your option) any later version.
|
||||||
|
**
|
||||||
|
** Valentina is distributed in the hope that it will be useful,
|
||||||
|
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
** GNU General Public License for more details.
|
||||||
|
**
|
||||||
|
** You should have received a copy of the GNU General Public License
|
||||||
|
** along with Valentina. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
**
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
#include <QCoreApplication>
|
||||||
|
#include <QDebug>
|
||||||
|
#include <QtGlobal>
|
||||||
|
#include "../../libs/qmuparser/qmuparsertest.h"
|
||||||
|
|
||||||
|
using namespace qmu;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void testMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg)
|
||||||
|
{
|
||||||
|
QByteArray localMsg = msg.toLocal8Bit();
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case QtDebugMsg:
|
||||||
|
fprintf(stderr, "%s\n", localMsg.constData());
|
||||||
|
break;
|
||||||
|
case QtWarningMsg:
|
||||||
|
fprintf(stderr, "Warning: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line,
|
||||||
|
context.function);
|
||||||
|
break;
|
||||||
|
case QtCriticalMsg:
|
||||||
|
fprintf(stderr, "Critical: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line,
|
||||||
|
context.function);
|
||||||
|
break;
|
||||||
|
case QtFatalMsg:
|
||||||
|
fprintf(stderr, "Fatal: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line,
|
||||||
|
context.function);
|
||||||
|
abort();
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
QCoreApplication a(argc, argv);
|
||||||
|
|
||||||
|
qInstallMessageHandler(testMessageOutput);
|
||||||
|
|
||||||
|
qDebug() << "-----------------------------------------------------------";
|
||||||
|
qDebug() << "Running test suite:\n";
|
||||||
|
|
||||||
|
|
||||||
|
qmu::Test::QmuParserTester pt;
|
||||||
|
pt.Run();
|
||||||
|
|
||||||
|
return a.exec();
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user