Skip to content

Commit

Permalink
fix(timeseries): do not segfault if no valid files in train/test dir
Browse files Browse the repository at this point in the history
  • Loading branch information
fantes authored and sileht committed Nov 4, 2020
1 parent 6921c88 commit 1977bba
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 2 deletions.
6 changes: 6 additions & 0 deletions src/csvtsinputfileconn.cc
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,12 @@ namespace dd
return -1;

//- pick one file up and read header once
if (trainfiles.empty())
{
this->_logger->error("unable to find any files in " + dir);
throw InputConnectorBadParamException("unable to find any files in "
+ dir);
}
std::string fname = (*trainfiles.begin());
std::ifstream csv_file(fname, std::ios::binary);
if (!csv_file.is_open())
Expand Down
34 changes: 32 additions & 2 deletions tests/ut-conn.cc
Original file line number Diff line number Diff line change
Expand Up @@ -734,8 +734,38 @@ TEST(inputconn, csvts_basic)
ASSERT_EQ(5, cifc._columns.size());

ASSERT_EQ("target", (*cifc._columns.begin()));
// fileops::clear_directory("test");
// fileops::remove_dir("test");
fileops::clear_directory("csvts");
fileops::remove_dir("csvts");
}

TEST(inputconn, csvts_error)
{
std::string header = "target,cap-shape,cap-surface,cap-color,bruises";
fileops::create_dir("csvts", 0777);
std::vector<std::string> vdata = { "csvts" };
APIData ad;
ad.add("data", vdata);
APIData pad, pinp;
std::vector<APIData> vpinp = { pinp };
pad.add("input", vpinp);
std::vector<APIData> vpad = { pad };
ad.add("parameters", vpad);
CSVTSInputFileConn cifc;
cifc._logger = spdlog::stdout_logger_mt("test_csvts_error");
cifc._train = true;
try
{
cifc.transform(ad);
ASSERT_TRUE(false);
}
catch (InputConnectorBadParamException &e)
{
ASSERT_TRUE(
std::string(e.what()).compare("unable to find any files in csvts")
== 0);
}
fileops::clear_directory("csvts");
fileops::remove_dir("csvts");
}

/*TEST(inputconn,txt_parse_content)
Expand Down

0 comments on commit 1977bba

Please sign in to comment.