X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=nucleus%2Flibrary%2Ftests_filesystem%2Ftest_directory_tree.cpp;h=77b32a3737b362446b325a407c4332e1cc595567;hb=8aec25f6496659248d997e474195ee4acdcdb976;hp=c1894aca4b28c8ed96db97076f4eeb60c7e3d96b;hpb=457b128b77b5b4a0b7dd3094de543de2ce1477ad;p=feisty_meow.git diff --git a/nucleus/library/tests_filesystem/test_directory_tree.cpp b/nucleus/library/tests_filesystem/test_directory_tree.cpp index c1894aca..77b32a37 100644 --- a/nucleus/library/tests_filesystem/test_directory_tree.cpp +++ b/nucleus/library/tests_filesystem/test_directory_tree.cpp @@ -12,16 +12,17 @@ * Please send any updates to: fred@gruntose.com * */ +#include #include #include -#include -#include -#include -#include #include #include #include +#include +#include +#include #include +#include #include #include @@ -30,6 +31,7 @@ using namespace basis; using namespace mathematics; using namespace filesystem; using namespace loggers; +using namespace processes; using namespace structures; using namespace textual; using namespace timely; @@ -122,10 +124,10 @@ int test_directory_tree::execute() directory_tree dir2(path, pattern.s()); ASSERT_TRUE(dir2.good(), "the directory should read the second time fine too"); -// LOG("comparing the two trees."); + LOG("comparing the two trees."); filename_list diffs; directory_tree::compare_trees(dir, dir2, diffs, file_info::EQUAL_CHECKSUM_TIMESTAMP_FILESIZE); -//LOG(diffs.text_form()); +LOG(diffs.text_form()); ASSERT_FALSE(diffs.elements(), "there should be no differences comparing identical dirs"); } @@ -190,6 +192,36 @@ int test_directory_tree::execute() ASSERT_FALSE(diffs.elements(), "no differences for reverse compare identical dirs"); } + { + // sixth test: see if the make_directories function works. +LOG("reading tree to recreate"); + directory_tree dir(path, pattern.s()); + ASSERT_TRUE(dir.good(), "makedirs test directory reading"); + filename tmpdir(environment::get("GENERATED_STORE") + "/zz_balfazzaral"); + LOG(astring("will write to tmp in ") + tmpdir); + basis::outcome result = dir.make_directories(tmpdir.raw()); + ASSERT_EQUAL(result.value(), common::OKAY, "makedirs should succeed"); + + +LOG("what happened with that? did it work?"); + +//hmmm: compare the directories with what we expect to be made; +// do a dirtree iterator on the path, and make sure each of those exists in the target place. + + + // clean up the output directory. +//this won't do it; it's a directory! +// bool worked = tmpdir.recursive_unlink(); +// ASSERT_TRUE(worked, "removing temporary files after test"); + +//hmmm: plug in real recursive delete here instead. +basis::un_int kid; +launch_process::run("/bin/rm", astring("-rf ") + tmpdir.raw(), launch_process::AWAIT_APP_EXIT, kid); +ASSERT_FALSE(kid, "removing temporary files after test"); + + } + + // nth test: // combine the results of the second test with a comparison like in the // third test. delete all of those temporary files that were added.