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
-~----------~----~----~----~------~----~------~--~---

Reply via email to