30 BOOST_REQUIRE_NO_THROW(
Options(
"Test") );
38 TFile::Open(
"input.root",
"RECREATE")->Close();
40 fs::path
input, output;
41 BOOST_REQUIRE_NO_THROW(
options.input(
"input", &
input,
"input ROOT file") );
42 BOOST_REQUIRE_NO_THROW(
options.output(
"output", &output,
"output ROOT file") );
46 auto const args =
tokenize(
"exec input.root output.root --unknown");
47 BOOST_REQUIRE_THROW(
options(
args.size(),
args.data()), boost::wrapexcept<po::error> );
52 auto const args =
tokenize(
"exec input.root output.root");
56 cout <<
options.full_cmd << endl;
60 fs::remove(
"output.root");
64 auto const args =
tokenize(
"exec inpu.root output.root");
65 BOOST_REQUIRE_THROW(
options(
args.size(),
args.data()), boost::wrapexcept<fs::filesystem_error> );
71 BOOST_REQUIRE_THROW(
options(
args.size(),
args.data()), boost::wrapexcept<fs::filesystem_error> );
76 fs::permissions(
"input.root", fs::perms::owner_read, fs::perm_options::remove);
77 auto const args =
tokenize(
"exec input.root output.root");
78 BOOST_REQUIRE_THROW(
options(
args.size(),
args.data()), boost::wrapexcept<fs::filesystem_error> );
79 fs::permissions(
"input.root", fs::perms::owner_read, fs::perm_options::add);
82 TFile::Open(
"output.root",
"RECREATE")->Close();
86 fs::permissions(
"output.root", fs::perms::owner_write, fs::perm_options::remove);
87 auto const args =
tokenize(
"exec input.root output.root");
88 BOOST_REQUIRE_THROW(
options(
args.size(),
args.data()), boost::wrapexcept<fs::filesystem_error> );
89 fs::permissions(
"output.root", fs::perms::owner_write, fs::perm_options::add);
92 fs::remove(
"input.root");
93 fs::remove(
"output.root");