diff --git a/libgrive/src/util/Config.cc b/libgrive/src/util/Config.cc index 1a19effc..539e82c0 100644 --- a/libgrive/src/util/Config.cc +++ b/libgrive/src/util/Config.cc @@ -34,12 +34,6 @@ const std::string default_filename = ".grive"; const char *env_name = "GR_CONFIG"; const std::string default_root_folder = "."; -Config::Config( const fs::path& root_path ) : - m_path( GetPath( root_path ) ) -{ - m_file = Read() ; -} - Config::Config( const po::variables_map& vm ) { m_cmd.Add( "log-xml", Json(vm.count("log-xml") > 0) ) ; diff --git a/libgrive/src/util/Config.hh b/libgrive/src/util/Config.hh index 8349ce33..e2c0423f 100644 --- a/libgrive/src/util/Config.hh +++ b/libgrive/src/util/Config.hh @@ -39,7 +39,6 @@ public : struct Error : virtual Exception {} ; typedef boost::error_info File ; - Config( const fs::path& root_path ) ; Config( const boost::program_options::variables_map& vm ) ; const fs::path Filename() const ; diff --git a/libgrive/test/util/ConfigTest.cc b/libgrive/test/util/ConfigTest.cc index 94b3eeff..48d7602c 100644 --- a/libgrive/test/util/ConfigTest.cc +++ b/libgrive/test/util/ConfigTest.cc @@ -25,33 +25,41 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include "protocol/Json.hh" #include "util/log/Log.hh" +#include #include using namespace grut; using namespace gr ; +namespace po = boost::program_options; ConfigTest::ConfigTest( ) { } -void ConfigTest::TestInitialiseWithEmptyString( ) +void ConfigTest::TestInitialiseWithNoPath( ) { - Config config(""); - GRUT_ASSERT_EQUAL( "/home/.grive", config.Filename().string()) ; -} + po::variables_map vm; + po::notify(vm); -void ConfigTest::TestInitialiseWithString( ) -{ - Config config("/home/.grive"); - GRUT_ASSERT_EQUAL( "/home/.grive", config.Filename().string()) ; + Config config(vm); + GRUT_ASSERT_EQUAL( "./.grive", config.Filename().string()) ; } -void ConfigTest::TestInitialiseWithFileSystemPath( ) +void ConfigTest::TestInitialiseWithPath( ) { - fs::path path("/home"); - fs::path file(".grive"); - Config config(path / file); - GRUT_ASSERT_EQUAL( "/home/.grive", config.Filename().string()); -} + char const *argv[] = { "Program", "-p", "/home/grive" }; + int argc = 3; + po::options_description desc( "Grive options" ); + desc.add_options() + ( "path,p", po::value(), "Path to sync") + ; + + po::variables_map vm; + po::store(po::parse_command_line( argc, argv, desc), vm ); + po::notify(vm); + + Config config(vm); + GRUT_ASSERT_EQUAL( "/home/grive/.grive", config.Filename().string()) ; +} diff --git a/libgrive/test/util/ConfigTest.hh b/libgrive/test/util/ConfigTest.hh index 90325743..f7e100d3 100644 --- a/libgrive/test/util/ConfigTest.hh +++ b/libgrive/test/util/ConfigTest.hh @@ -30,12 +30,11 @@ class ConfigTest : public CppUnit::TestFixture public : ConfigTest( ) ; - // declare suit function CPPUNIT_TEST_SUITE( ConfigTest ) ; - CPPUNIT_TEST_EXCEPTION( TestInitialiseWithEmptyString, gr::Config::Error ) ; + CPPUNIT_TEST( TestInitialiseWithEmptyString ) ; CPPUNIT_TEST( TestInitialiseWithString ) ; CPPUNIT_TEST( TestInitialiseWithFileSystemPath ) ; - CPPUNIT_TEST_SUITE_END(); + CPPUNIT_TEST_SUITE_END(); private : void TestInitialiseWithEmptyString( );