[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Running Python bindings tests on Windows?

From: David James <james_at_cs.toronto.edu>
Date: 2007-01-03 22:24:19 CET

On 1/2/07, Joe Swatosh <joe.swatosh@gmail.com> wrote:
> Hi David,
>
> On 1/2/07, David James <james@cs.toronto.edu> wrote:
> > On 12/20/06, Joe Swatosh <joe.swatosh@gmail.com> wrote:
> > > On 12/20/06, D.J. Heap <djheap@gmail.com> wrote:
> > > > On 12/20/06, Joe Swatosh <joe.swatosh@gmail.com> wrote:
> > > > >
>
>
> >
> > Hi Joe,
> >
> > It looks like you got this "permission denied" error because Python's
> > shutil.rmtree function cannot delete read-only files, and therefore
> > cannot delete Subversion repositories on Windows without some custom
> > chmod business, which I did not implement in test_create.
> >
> > To fix this bug, I've updated Subversion to use svn_repos_delete to
> > delete repositories in r22879, so we don't need to use shutil.rmtree.
> > Can you try again with my fix?
> >
> > Thanks,
> >
> > David
> >
>
>
> It looks quite a bit better. The tests run to completion. It looks
> like there are more tests trying to use rmtree.

I think I've fixed the remaining problems in r22887, with the
exception of the failing test_get_file test. Can you try again and see
whether my fixes help? Thanks!

More details below, inline.

> ERROR: test_access_path (wc.SubversionWorkingCopyTestCase)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "D:\SVN\src-trunk\subversion\bindings\swig\python\tests\wc.py",
> line 162, in tearDown
> shutil.rmtree(self.path)
> File "C:\python24\lib\shutil.py", line 163, in rmtree
> rmtree(fullname, ignore_errors, onerror)
> File "C:\python24\lib\shutil.py", line 168, in rmtree
> onerror(os.remove, fullname, sys.exc_info())
> File "C:\python24\lib\shutil.py", line 166, in rmtree
> os.remove(fullname)
> OSError: [Errno 13] Permission denied:
> 'c:\\docume~1\\joe-sw~1.acs\\locals~1\\temp\\tmpuraled\\.svn\\entries'
[ snip lots more examples of the same error]

I've fixed the above problem by switching from shutil.rmtree to
svn_io_remove_dir.

> FAIL: test_get_file (ra.SubversionRepositoryAccessTestCase)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "D:\SVN\src-trunk\subversion\bindings\swig\python\tests\ra.py",
> line 30, in test_get_file
> self.assertEqual(rev, fs_revnum)
> AssertionError: 10503392 != 14

This looks like a bug in either the get_file function or the SWIG
wrapper. I'm not sure how to fix this one, or debug it. Ideas?

> FAIL: test_crawl_revisions2 (wc.SubversionWorkingCopyTestCase)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "D:\SVN\src-trunk\subversion\bindings\swig\python\tests\wc.py",
> line 112, in test_crawl_revisions2
> self.assertEqual(readme_path, info.path)
> AssertionError:
> 'c:\\docume~1\\joe-sw~1.acs\\locals~1\\temp\\tmpgxa0we\\trunk\\README.txt'
> != 'c:\\docume~1\\joe-sw~1.acs\\locals~1\\temp\\t
> mpgxa0we/trunk/README.txt'
>
> ======================================================================
> FAIL: test_get_pristine_copy_path (wc.SubversionWorkingCopyTestCase)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "D:\SVN\src-trunk\subversion\bindings\swig\python\tests\wc.py",
> line 150, in test_get_pristine_copy_path
> os.path.join(self.path, wc.get_adm_dir(), 'text-base', 'foo.svn-base'))
> AssertionError:
> 'c:.svn/text-base/\\docume~1\\joe-sw~1.acs\\locals~1\\temp\\tmp1elxzp\\foo.svn-base'
> != 'c:\\docume~1\\joe-sw~1.acs\\locals~
> 1\\temp\\tmp1elxzp\\.svn\\text-base\\foo.svn-base'

These two failures occurred, I think, because we are not using
canonical paths. I fixed the wc.py test to use canonical paths with
forward slashes, so this problem should be fixed.

Cheers,

David

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Jan 3 22:24:45 2007

This is an archived mail posted to the Subversion Users mailing list.