
"Emil Dotchevski" <emildotchevski@hotmail.com> wrote in message news:BAY110-DAV114E376C7E9857A737E911D47C0@phx.gbl...
Hmm. Looks like you are mixing a looot of staff into single bowl.
Essentially what I need is a system which, given a file name without path, returns a fully qualified file name that places the file in the same directory where the executable is, and also remembers the file name in an internal file name list.
Looks like something what boost::filesystem should allow you to do.
Indeed my current implementation uses boost::filesystem. The part of this functionality that is in the testing domain is keeping track of which files have been created by the test, so that they can be compared against their svd versions.
When a unit test finishes, the system goes through all files requested by the unit test. For each file, it compares it to a file with the same name but .svd extension. If a matching .svd file does not exist, or if it differs, the system fails the unit test, specifying the name of the mismatched file.
How do you plan t compare them? using diff? Than it somewhere in Boost.Build domain.
I should have mentioned that what I need is a binary diff, but a better implementation would allow the user to supply the diff function.
Umm. Indeed output_test_stream woudln't help you her.
I agree that all of this could be implemented in Boost.Build. The idea would be to monitor the files created by the executable, and compare them to their known "good" versions. The tricky part is how do you know which of the created files should be compared. Note that in my current system, a test can create all kinds of files through the standard libs interface or even boost::filesystem, but the system only compares the files whose names have been obtained through the interface I described in my original post.
I still do not see what exactly do you want from UTF. Do you want me to compare binary files or register which files to compare somewhere? Gennadiy