cppcheck/test/cfg/qt.cpp

39 lines
895 B
C++
Raw Normal View History

2017-04-18 18:04:27 +02:00
// Test library configuration for qt.cfg
//
// Usage:
2017-04-18 18:47:35 +02:00
// $ cppcheck --check-library --enable=information --inconclusive --error-exitcode=1 --suppress=missingIncludeSystem --inline-suppr --library=qt test/cfg/qt.cpp
2017-04-18 18:04:27 +02:00
// =>
// No warnings about bad library configuration, unmatched suppressions, etc. exitcode=0
//
#include <QObject>
#include <QString>
#include <QtPlugin>
2017-04-18 18:04:27 +02:00
2017-04-20 17:43:28 +02:00
void QString1(QString s)
{
for (int i = 0; i <= s.size(); ++i) {
// cppcheck-suppress stlOutOfBounds
s[i] = 'x';
}
2017-04-18 18:04:27 +02:00
}
2017-04-18 18:47:35 +02:00
2017-04-20 17:43:28 +02:00
int QString2()
{
QString s;
// FIXME cppcheck-suppress reademptycontainer
2017-04-20 17:43:28 +02:00
return s.size();
2017-04-18 19:26:54 +02:00
}
// Verify that Qt macros do not result in syntax errors, false positives or other issues.
class MacroTest1: public QObject {
Q_OBJECT
Q_PLUGIN_METADATA(IID "com.foo.bar" FILE "test.json")
public:
explicit MacroTest1(QObject *parent = 0);
~MacroTest1();
};