From 6d4c9edede1bcc2f35b513d7ef756919237d73fb Mon Sep 17 00:00:00 2001 From: Marco Biasini <marco.biasini@unibas.ch> Date: Fri, 22 Apr 2011 11:50:59 +0200 Subject: [PATCH] properly use boost.filesystem version 3 --- modules/base/src/test_utils/compare_files.cc | 9 +++++++++ modules/io/src/mol/entity_io_crd_handler.cc | 2 +- modules/io/src/mol/pdb_writer.cc | 2 +- modules/io/src/mol/sdf_writer.cc | 8 +++++++- modules/io/tests/test_io_sdf.cc | 8 ++++---- 5 files changed, 22 insertions(+), 7 deletions(-) diff --git a/modules/base/src/test_utils/compare_files.cc b/modules/base/src/test_utils/compare_files.cc index 30aaf652c..f28821e68 100644 --- a/modules/base/src/test_utils/compare_files.cc +++ b/modules/base/src/test_utils/compare_files.cc @@ -25,7 +25,16 @@ namespace ost { bool compare_files(const String& test, const String& gold_standard) { std::ifstream test_stream(test.c_str()); + if (!test_stream) { + std::cerr << "output file '" << test << "' doesn't exist" << std::endl; + return false; + } std::ifstream gold_stream(gold_standard.c_str()); + if (!gold_stream) { + std::cerr << "gold standard file '" << gold_standard + << "' doesn't exist" << std::endl; + return false; + } String test_line, gold_line; while (true) { bool test_end=std::getline(test_stream, test_line) != 0; diff --git a/modules/io/src/mol/entity_io_crd_handler.cc b/modules/io/src/mol/entity_io_crd_handler.cc index eb905dc70..8b0ceb837 100644 --- a/modules/io/src/mol/entity_io_crd_handler.cc +++ b/modules/io/src/mol/entity_io_crd_handler.cc @@ -224,7 +224,7 @@ CRDWriter::CRDWriter(std::ostream& ostream) : CRDWriter::CRDWriter(const boost::filesystem::path& filename) : #if BOOST_FILESYSTEM_VERSION==3 - outfile_(filename.filename().string().c_str()), outstream_(outfile_), + outfile_(filename.string().c_str()), outstream_(outfile_), #else outfile_(filename.file_string().c_str()), outstream_(outfile_), #endif diff --git a/modules/io/src/mol/pdb_writer.cc b/modules/io/src/mol/pdb_writer.cc index cc7257f25..8878fb16d 100644 --- a/modules/io/src/mol/pdb_writer.cc +++ b/modules/io/src/mol/pdb_writer.cc @@ -333,7 +333,7 @@ PDBWriter::PDBWriter(std::ostream& stream, const IOProfile& profile): PDBWriter::PDBWriter(const boost::filesystem::path& filename, const IOProfile& profile): #if BOOST_FILESYSTEM_VERSION==3 - outfile_(filename.filename().string().c_str()), outstream_(outfile_), + outfile_(filename.string().c_str()), outstream_(outfile_), #else outfile_(filename.file_string().c_str()), outstream_(outfile_), #endif diff --git a/modules/io/src/mol/sdf_writer.cc b/modules/io/src/mol/sdf_writer.cc index 1b59aa34c..9f3154e9b 100644 --- a/modules/io/src/mol/sdf_writer.cc +++ b/modules/io/src/mol/sdf_writer.cc @@ -102,7 +102,7 @@ SDFWriter::SDFWriter(const String& filename) SDFWriter::SDFWriter(const boost::filesystem::path& filename): #if BOOST_FILESYSTEM_VERSION==3 - outfile_(filename.filename().string().c_str()), + outfile_(filename.string().c_str()), #else outfile_(filename.file_string().c_str()), #endif @@ -110,11 +110,17 @@ SDFWriter::SDFWriter(const boost::filesystem::path& filename): } void SDFWriter::Write(const mol::EntityView& ent) { + if (!ostr_) { + throw IOException("Can't write SDF file. Bad output stream"); + } mol::EntityView non_const_view = ent; non_const_view.Apply(*this); } void SDFWriter::Write(const mol::EntityHandle& ent) { + if (!ostr_) { + throw IOException("Can't write SDF file. Bad output stream"); + } mol::EntityView non_const_view = ent.CreateFullView(); non_const_view.Apply(*this); } diff --git a/modules/io/tests/test_io_sdf.cc b/modules/io/tests/test_io_sdf.cc index 60861a9ab..bd62e0528 100644 --- a/modules/io/tests/test_io_sdf.cc +++ b/modules/io/tests/test_io_sdf.cc @@ -147,8 +147,8 @@ BOOST_AUTO_TEST_CASE(write_sdf) sdfh.Import(eh,"testfiles/sdf/compound.sdf"); SaveEntity(eh, "testfiles/sdf/compound-out.sdf"); } - BOOST_CHECK(compare_files("testfiles/sdf/compound.sdf", - "testfiles/sdf/compound-out.sdf")); + BOOST_CHECK(compare_files("testfiles/sdf/compound-out.sdf", + "testfiles/sdf/compound.sdf")); } BOOST_AUTO_TEST_CASE(write_sdf_view) @@ -162,8 +162,8 @@ BOOST_AUTO_TEST_CASE(write_sdf_view) mol::EntityView ev = eh.Select("(ele=C or ele=N) and aname!='1'"); SaveEntity(ev, "testfiles/sdf/compound-view-out.sdf"); } - BOOST_CHECK(compare_files("testfiles/sdf/compound-view.sdf", - "testfiles/sdf/compound-view-out.sdf")); + BOOST_CHECK(compare_files("testfiles/sdf/compound-view-out.sdf", + "testfiles/sdf/compound-view.sdf")); } BOOST_AUTO_TEST_CASE(nonexisting_file) -- GitLab