Skip to content

Commit

Permalink
add a csv_datasource initialization c++ test
Browse files Browse the repository at this point in the history
  • Loading branch information
Dane Springmeyer committed Aug 23, 2012
1 parent a325496 commit f4a74d0
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 8 deletions.
18 changes: 10 additions & 8 deletions tests/cpp_tests/build.py
Expand Up @@ -6,16 +6,18 @@

test_env = env.Clone()

headers = env['CPPPATH']

libraries = copy(env['LIBMAPNIK_LIBS'])
libraries.append('mapnik')
libraries.append('sqlite3')

test_env.Append(CXXFLAGS='-g')
test_env['LIBS'] = copy(env['LIBMAPNIK_LIBS'])
test_env.AppendUnique(LIBS='mapnik')
test_env.AppendUnique(LIBS='sqlite3')
test_env.AppendUnique(CXXFLAGS='-g')

for cpp_test in glob.glob('*_test.cpp'):
test_program = test_env.Program(cpp_test.replace('.cpp','-bin'), [cpp_test], CPPPATH=headers, LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
test_env_local = test_env.Clone()
name = cpp_test.replace('.cpp','-bin')
source_files = [cpp_test]
if 'csv_parse' in cpp_test:
source_files += glob.glob('../../plugins/input/csv/' + '*.cpp')
test_program = test_env_local.Program(name, source=source_files, LINKFLAGS=env['CUSTOM_LDFLAGS'])
Depends(test_program, env.subst('../../src/%s' % env['MAPNIK_LIB_NAME']))
# build locally if installing
if 'install' in COMMAND_LINE_TARGETS:
Expand Down
30 changes: 30 additions & 0 deletions tests/cpp_tests/csv_parse_test.cpp
@@ -0,0 +1,30 @@
#include <boost/version.hpp>
#include <boost/detail/lightweight_test.hpp>
#include <iostream>
#include "plugins/input/csv/csv_datasource.hpp"
#include <mapnik/params.hpp>


int main( int, char*[] )
{
// test of directly instanciating a datasource
try {
mapnik::parameters params;
params["type"]="csv";
params["file"]="./tests/data/csv/wkt.csv";
csv_datasource ds(params);
BOOST_TEST(true);
} catch (std::exception const& ex) {
BOOST_TEST(false);
std::clog << "threw: " << ex.what() << "\n";
}

if (!::boost::detail::test_errors()) {
std::clog << "C++ CSV parse: \x1b[1;32m✓ \x1b[0m\n";
#if BOOST_VERSION >= 104600
::boost::detail::report_errors_remind().called_report_errors_function = true;
#endif
} else {
return ::boost::report_errors();
}
}

0 comments on commit f4a74d0

Please sign in to comment.