summaryrefslogtreecommitdiffstats
path: root/tests/hawd/modules/check.cpp
diff options
context:
space:
mode:
authorAaron Seigo <aseigo@kde.org>2014-12-09 22:30:26 +0100
committerAaron Seigo <aseigo@kde.org>2014-12-11 01:01:13 +0100
commitcad5f1bc0c9042c9b1b8b2e48a7d7a5f931ca0e0 (patch)
tree76f11dae1ae29b38716784821e3a4de1d5219202 /tests/hawd/modules/check.cpp
parentce7056d27d63d33c9fd38f41abfacb8afb1eaaf4 (diff)
downloadsink-cad5f1bc0c9042c9b1b8b2e48a7d7a5f931ca0e0.tar.gz
sink-cad5f1bc0c9042c9b1b8b2e48a7d7a5f931ca0e0.zip
add a checker module: hawd check <module names>
Diffstat (limited to 'tests/hawd/modules/check.cpp')
-rw-r--r--tests/hawd/modules/check.cpp57
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/hawd/modules/check.cpp b/tests/hawd/modules/check.cpp
new file mode 100644
index 0000000..c83ed39
--- /dev/null
+++ b/tests/hawd/modules/check.cpp
@@ -0,0 +1,57 @@
1/*
2 * Copyright (C) 2014 Aaron Seigo <aseigo@kde.org>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the
16 * Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20#include "check.h"
21
22#include "../datasetdefinition.h"
23
24#include <QObject>
25
26#include <iostream>
27
28namespace HAWD
29{
30
31Check::Check()
32 : Module()
33{
34 Syntax top("check", &Check::check);
35 setSyntax(top);
36}
37
38bool Check::check(const QStringList &commands, State &state)
39{
40 if (commands.isEmpty()) {
41 std::cout << QObject::tr("Please provide the name of a dataset definition file. (Use the 'list' command to see available datasets.)").toStdString() << std::endl;
42 } else {
43 for (const QString &name: commands) {
44 DatasetDefinition def = state.datasetDefinition(name);
45 if (def.isValid()) {
46 std::cout << QObject::tr("%1 is OK").arg(name).toStdString() << std::endl;
47 } else {
48 std::cout << QObject::tr("%1 has errors: %2").arg(name).arg(def.lastError()).toStdString() << std::endl;
49 }
50 }
51 }
52
53 return true;
54}
55
56} // namespace HAWD
57