file_util::CopyDirectory is used by Windows installer so we really need to make sure the change does not break installer.
Huan On Mon, Oct 12, 2009 at 3:52 PM, Steven Knight <s...@chromium.org> wrote: > Our existing unit tests for file_util::CopyDirectory() do not test its > behavior when the destination directory already exists. The following CL: > > http://codereview.chromium.org/271060/show > > which adds unit tests for already-existing destination directories, shows > that Windows and POSIX behave differently for recursive copies when the > destination directory already exists. Specifically: > > On Windows, a call to file_util::CopyDirectory() with recursive copy enabled > will copy the directory name itself to ay(already-existing) destination > directory. POSIX systems will copy the *contents* of the directory to the > destination. That is, given a 'src' directory containing two files and a > call like: > > file_util::CopyDirectory('src' > , 'existing_dest_dir', true); > > On Windows we create 'existing_dest_dir/src/{file1,file2}' while on POSIX we > create just 'existing_dest_dir/{file1,file2}'. > > This has come up for memory_test, which uses CopyDirectory() to copy its > checked-in cached user data dir to a freshly-created temporary directory. > At some point the Windows version of memory_test.cc was broken by this > inconsistency. We haven't noticed because the "breakage" fails to load the > (cached) pages, but still returns memory size data and doesn't cause the > test itself to fail. > > Based on the fact that memory_test.cc originally worked on Windows, it seems > like the POSIX behavior is correct/intended (especially since it's > consistent with the behavior when the directory doesn't exist). Any > disagreement? If not, I'll fix Windows accordingly. > > --SK > > > --~--~---------~--~----~------------~-------~--~----~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---