Yes Windows installer relies on this behavior. There are installer_unittests which might cover this particular use case (in CopyTreeWorkItemTest) but I am not sure.
On Mon, Oct 12, 2009 at 3:52 PM, Steven Knight <[email protected]> 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: [email protected] View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---
