summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/hawd/CMakeLists.txt1
-rw-r--r--tests/hawd/module.cpp2
-rw-r--r--tests/hawd/modules/check.cpp57
-rw-r--r--tests/hawd/modules/check.h37
4 files changed, 97 insertions, 0 deletions
diff --git a/tests/hawd/CMakeLists.txt b/tests/hawd/CMakeLists.txt
index ebc5ac2..e15589a 100644
--- a/tests/hawd/CMakeLists.txt
+++ b/tests/hawd/CMakeLists.txt
@@ -12,6 +12,7 @@ set(SRCS
12 main.cpp 12 main.cpp
13 module.cpp 13 module.cpp
14 modules/list.cpp 14 modules/list.cpp
15 modules/check.cpp
15) 16)
16 17
17add_library(libhawd ${lib_SRCS}) 18add_library(libhawd ${lib_SRCS})
diff --git a/tests/hawd/module.cpp b/tests/hawd/module.cpp
index c020e06..d4c3059 100644
--- a/tests/hawd/module.cpp
+++ b/tests/hawd/module.cpp
@@ -20,6 +20,7 @@
20#include "module.h" 20#include "module.h"
21 21
22#include "modules/list.h" 22#include "modules/list.h"
23#include "modules/check.h"
23 24
24#include <QCoreApplication> 25#include <QCoreApplication>
25 26
@@ -48,6 +49,7 @@ Module::Module()
48void Module::loadModules() 49void Module::loadModules()
49{ 50{
50 addModule(List()); 51 addModule(List());
52 addModule(Check());
51} 53}
52 54
53void Module::printCommands() 55void Module::printCommands()
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
diff --git a/tests/hawd/modules/check.h b/tests/hawd/modules/check.h
new file mode 100644
index 0000000..48f2732
--- /dev/null
+++ b/tests/hawd/modules/check.h
@@ -0,0 +1,37 @@
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#pragma once
21
22#include "module.h"
23
24namespace HAWD
25{
26
27class Check : public Module
28{
29public:
30 Check();
31
32private:
33 static bool check(const QStringList &commands, State &state);
34};
35
36} // namespace HAWD
37