Skip to content

Commit

Permalink
Ported to new wreport+wobble
Browse files Browse the repository at this point in the history
  • Loading branch information
spanezz committed Sep 8, 2015
1 parent 2d41700 commit 9aa1e53
Show file tree
Hide file tree
Showing 154 changed files with 11,823 additions and 13,431 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Makefile
/dballe/msg/ltypes.tex
/dballe/msg/tranges.dox
/dballe/msg/tranges.tex
/dballe/tut_test
/dballe/test-dballe
/dballe/dump-core-info
/fortran/check_attrs
/fortran/check_fdballe
Expand Down
24 changes: 0 additions & 24 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,6 @@ fi

dnl Check for wreport
PKG_CHECK_MODULES(WREPORT,libwreport >= 3.0)
PKG_CHECK_EXISTS([libwreport-test >= 3.0], [have_wreport_test=yes], [have_wreport_test=no])


dnl Check for sqlite3
PKG_CHECK_MODULES(SQLITE3, sqlite3)
Expand Down Expand Up @@ -199,21 +197,6 @@ then
fi
AM_CONDITIONAL([LUA], [test x"$have_lua" = x"yes"])


dnl Check for wibble
PKG_CHECK_EXISTS([libwibble], [have_wibble=yes], [have_wibble=no])
if test x$have_wibble = xyes && test x$have_wreport_test = xyes
then
PKG_CHECK_MODULES(WREPORT_TEST, libwreport-test)
PKG_CHECK_MODULES(WIBBLE, libwibble)
enable_tests=yes
else
test x$have_wibble = xno && AC_MSG_WARN([libwibble not found, tests will be disabled])
test x$have_wreport_test = xno && AC_MSG_WARN([libwreport-test not found, tests will be disabled])
enable_tests=no
fi


dnl Check for popt
AC_CHECK_HEADER(popt.h, AC_DEFINE(HAVE_POPT_H, 1, popt.h has been found),
AC_MSG_ERROR([*** popt.h not found. Check 'config.log' for more details.])
Expand Down Expand Up @@ -290,7 +273,6 @@ AM_CONDITIONAL([HAVE_ODBC], [test x"$have_odbc" = x"yes"])
AM_CONDITIONAL([DO_DBALLEF], [test x"$enable_dballef" = x"yes"])
AM_CONDITIONAL([DO_DBALLE_PYTHON], [test x"$enable_dballe_python" = x"yes"])
AM_CONDITIONAL([DO_DOCS], [test x"$enable_docs" = x"yes"])
AM_CONDITIONAL([DO_TESTS], [test x"$enable_tests" = x"yes"])

AM_CONDITIONAL([HAVE_LATEX2HTML], [test x$have_latex2html = xyes])
AM_CONDITIONAL([HAVE_RST2HTML], [test x$have_rst2html = xyes])
Expand All @@ -311,11 +293,6 @@ libdballe.pc
libdballef.pc
])
AC_OUTPUT
#dballe/bench/Makefile
#examples/Makefile

dnl tests/Makefile
dnl doc/Makefile

AC_MSG_NOTICE([
===================================================
Expand All @@ -326,7 +303,6 @@ AS_HELP_STRING([MySQL:], [$have_mysql])
AS_HELP_STRING([Fortran:], [$enable_dballef])
AS_HELP_STRING([Python:], [$enable_dballe_python])
AS_HELP_STRING([documentation:], [$enable_docs])
AS_HELP_STRING([tests:], [$enable_tests])
AS_HELP_STRING([latex2html:], [$have_latex2html])
AS_HELP_STRING([rst2html:], [$have_rst2html])
===================================================])
150 changes: 74 additions & 76 deletions dballe/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ EXTRA_DIST += \
# Unit testing
#

check_PROGRAMS = tut_test
check_PROGRAMS = test-dballe
TESTS_ENVIRONMENT = $(top_srcdir)/extra/runtest
#TESTS = $(check_PROGRAMS)

Expand All @@ -322,96 +322,94 @@ dist_noinst_HEADERS = \
msg/tests-lua.h \
db/tests.h

tut_test_SOURCES = \
core/tests/tut-main.cpp \
test_dballe_SOURCES = \
tests-main.cpp \
core/tests.cc \
file-tut.cc \
message-tut.cc \
types-tut.cc \
record-tut.cc \
query-tut.cc \
var-tut.cc \
core/aliases-tut.cc \
core/stlutils-tut.cc \
core/defs-tut.cc \
core/var-tut.cc \
core/values-tut.cc \
core/file-tut.cc \
core/record-tut.cc \
core/query-tut.cc \
core/structbuf-tut.cc \
core/csv-tut.cc \
core/matcher-tut.cc \
core/match-wreport-tut.cc \
core/varmatch-tut.cc \
core/json-tut.cc \
file-test.cc \
message-test.cc \
types-test.cc \
record-test.cc \
query-test.cc \
var-test.cc \
core/aliases-test.cc \
core/stlutils-test.cc \
core/defs-test.cc \
core/var-test.cc \
core/values-test.cc \
core/file-test.cc \
core/record-test.cc \
core/query-test.cc \
core/structbuf-test.cc \
core/csv-test.cc \
core/matcher-test.cc \
core/match-wreport-test.cc \
core/varmatch-test.cc \
core/json-test.cc \
memdb/tests.cc \
memdb/valuestorage-tut.cc \
memdb/index-tut.cc \
memdb/match-tut.cc \
memdb/results-tut.cc \
memdb/station-tut.cc \
memdb/valuebase-tut.cc \
memdb/stationvalue-tut.cc \
memdb/levtr-tut.cc \
memdb/value-tut.cc \
memdb/memdb-tut.cc \
memdb/serializer-tut.cc \
memdb/valuestorage-test.cc \
memdb/index-test.cc \
memdb/match-test.cc \
memdb/results-test.cc \
memdb/station-test.cc \
memdb/valuebase-test.cc \
memdb/stationvalue-test.cc \
memdb/levtr-test.cc \
memdb/value-test.cc \
memdb/memdb-test.cc \
memdb/serializer-test.cc \
msg/tests.cc \
msg/vars-tut.cc \
msg/context-tut.cc \
msg/codec-tut.cc \
msg/msg-tut.cc \
msg/wr_codec_generic-tut.cc \
msg/wr_codec-tut.cc \
msg/wr_import-tut.cc \
msg/wr_export-tut.cc \
msg/aof_codec-tut.cc \
msg/vars-test.cc \
msg/context-test.cc \
msg/codec-test.cc \
msg/msg-test.cc \
msg/wr_codec_generic-test.cc \
msg/wr_codec-test.cc \
msg/wr_import-test.cc \
msg/wr_export-test.cc \
msg/aof_codec-test.cc \
db/tests.cc \
db/querybuf-tut.cc \
db/trace-tut.cc \
db/sql/repinfo-tut.cc \
db/sql/station-tut.cc \
db/sql/levtr-tut.cc \
db/sql/datav6-tut.cc \
db/sql/attrv6-tut.cc \
db/sqlite/internals-tut.cc \
db/db-basic-tut.cc \
db/db-misc-tut.cc \
db/db-query-station-tut.cc \
db/db-query-data-tut.cc \
db/db-query-summary-tut.cc \
db/db-import-tut.cc \
db/db-export-tut.cc \
db/mem/repinfo-tut.cc \
db/mem/cursor-tut.cc \
db/summary-tut.cc \
simple/msgapi-tut.cc \
cmdline/dbadb-tut.cc \
simple/dbapi-tut.cc
db/querybuf-test.cc \
db/trace-test.cc \
db/sql/repinfo-test.cc \
db/sql/station-test.cc \
db/sql/levtr-test.cc \
db/sql/datav6-test.cc \
db/sql/attrv6-test.cc \
db/sqlite/internals-test.cc \
db/db-basic-test.cc \
db/db-misc-test.cc \
db/db-query-station-test.cc \
db/db-query-data-test.cc \
db/db-query-summary-test.cc \
db/db-import-test.cc \
db/db-export-test.cc \
db/mem/repinfo-test.cc \
db/mem/cursor-test.cc \
db/summary-test.cc \
simple/msgapi-test.cc \
cmdline/dbadb-test.cc \
simple/dbapi-test.cc
if LUA
tut_test_SOURCES += \
msg/lua-tut.cc \
test_dballe_SOURCES += \
msg/lua-test.cc \
msg/tests-lua.cc
endif
if HAVE_LIBPQ
tut_test_SOURCES += \
db/postgresql/internals-tut.cc
test_dballe_SOURCES += \
db/postgresql/internals-test.cc
endif
if HAVE_MYSQL
tut_test_SOURCES += \
db/mysql/internals-tut.cc
test_dballe_SOURCES += \
db/mysql/internals-test.cc
endif
if HAVE_ODBC
tut_test_SOURCES += \
db/odbc/internals-tut.cc
test_dballe_SOURCES += \
db/odbc/internals-test.cc
endif

tut_test_LDADD = \
test_dballe_LDADD = \
libdballe.la \
$(common_libs) \
$(WREPORT_TEST_LIBS) \
$(WIBBLE_LIBS)
$(common_libs)

#
# Benchmark
Expand Down
67 changes: 67 additions & 0 deletions dballe/cmdline/dbadb-test.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
#include "config.h"
#include "db/tests.h"
#include "cmdline/dbadb.h"
#include "core/arrayfile.h"
#include "msg/codec.h"
#include "msg/msg.h"
#include "config.h"

using namespace dballe;
using namespace dballe::cmdline;
using namespace dballe::tests;
using namespace wreport;
using namespace std;

namespace {

class Tests : public FixtureTestCase<DBFixture>
{
using FixtureTestCase::FixtureTestCase;

void register_tests() override
{
add_method("import", [](Fixture& f) {
Dbadb dbadb(*f.db);

// Import a synop
cmdline::Reader reader;
wassert(actual(dbadb.do_import(dballe::tests::datafile("bufr/obs0-1.22.bufr"), reader)) == 0);

// Export forcing report as temp
core::Query query;
core::ArrayFile file(File::BUFR);
wassert(actual(dbadb.do_export(query, file, "generic", "ship")) == 0);

wassert(actual(file.msgs.size()) == 1u);

// Decode results
auto importer = msg::Importer::create(File::BUFR);
Messages msgs = importer->from_binary(file.msgs[0]);
wassert(actual(msgs.size()) == 1u);
Msg& msg = Msg::downcast(msgs[0]);

// Ensure they're ships
wassert(actual(msg.type) == MSG_SHIP);

// Check 001194 [SIM] Report mnemonic(CCITTIA5), too
const Var* var = msg.get_rep_memo_var();
wassert(actual(var).istrue());
wassert(actual(var->enqc()).istrue());
wassert(actual(var->enq<std::string>()) == "ship");
});
}
};

Tests tg1("cmdline_dbadb_mem", nullptr, db::MEM);
Tests tg2("cmdline_dbadb_v6_sqlite", "SQLITE", db::V6);
#ifdef HAVE_ODBC
Tests tg4("cmdline_dbadb_v6_odbc", "ODBC", db::V6);
#endif
#ifdef HAVE_LIBPQ
Tests tg6("cmdline_dbadb_v6_postgresql", "POSTGRESQL", db::V6);
#endif
#ifdef HAVE_MYSQL
Tests tg8("cmdline_dbadb_v6_mysql", "MYSQL", db::V6);
#endif

}
Loading

0 comments on commit 9aa1e53

Please sign in to comment.