[Python-modules-commits] [python-llfuse] 02/03: [ Ondřej Nový ] [ Nikolaus Rath ] Don't use pytest.skip at module level. Closes: #837254.

Nikolaus Rath nikratio-guest at moszumanska.debian.org
Sat Sep 24 04:04:07 UTC 2016


This is an automated email from the git hooks/post-receive script.

nikratio-guest pushed a commit to branch master
in repository python-llfuse.

commit 531c6331c2fc8f79a91b5a64071f8a6c06816d31
Merge: f602071 19b0db8
Author: Nikolaus Rath <Nikolaus at rath.org>
Date:   Fri Sep 23 20:40:20 2016 -0700

    [ Ondřej Nový ]
    [ Nikolaus Rath ]
    Don't use pytest.skip at module level. Closes: #837254.

 debian/.git-dpm                                    |   4 +-
 debian/changelog                                   |   4 +
 ...003-Use-cython3-instead-of-cython-command.patch |   2 +-
 ...Backport-properties-to-Cython-0.23-syntax.patch |   4 +-
 ...mpiler-warnings-due-to-old-Cython-version.patch |   2 +-
 .../patches/0006-Work-around-Cython-0.23-bug.patch |   2 +-
 ...tended-attribute-tests-under-GNU-kFreeBSD.patch |   2 +-
 debian/patches/mips_dev_t.diff                     |   2 +-
 debian/patches/pytest-skip.diff                    | 110 +++++++++++++++++++++
 debian/patches/series                              |   1 +
 .../patches/use-local-intersphinx-inventory.patch  |   2 +-
 test/test_examples.py                              |   4 +-
 test/test_fs.py                                    |   5 +-
 test/util.py                                       |  20 ++--
 14 files changed, 143 insertions(+), 21 deletions(-)

diff --cc debian/.git-dpm
index 540feb1,0000000..94f8b15
mode 100644,000000..100644
--- a/debian/.git-dpm
+++ b/debian/.git-dpm
@@@ -1,11 -1,0 +1,11 @@@
 +# see git-dpm(1) from git-dpm package
- 4686182e678b4be3535c4ea4ccc016dd725fb57d
- 4686182e678b4be3535c4ea4ccc016dd725fb57d
++19b0db84e5635cc8f33ffe8d08b78bce7135443c
++19b0db84e5635cc8f33ffe8d08b78bce7135443c
 +df84cf8d74324f750f847be2f6fb0bcb39e571ce
 +df84cf8d74324f750f847be2f6fb0bcb39e571ce
 +python-llfuse_1.1.1+dfsg.orig.tar.xz
 +560ea615e9dfe24153860c3c2ef0184f082367e3
 +171264
 +debianTag="debian/%e%v"
 +patchedTag="patched/%e%v"
 +upstreamTag="upstream/%e%u"
diff --cc debian/changelog
index 4b48a1c,0000000..3a9e24b
mode 100644,000000..100644
--- a/debian/changelog
+++ b/debian/changelog
@@@ -1,208 -1,0 +1,212 @@@
 +python-llfuse (1.1.1+dfsg-3) UNRELEASED; urgency=medium
 +
++  [ Ondřej Nový ]
 +  * Fixed VCS URL (https)
 +
++  [ Nikolaus Rath ]
++  * Don't use pytest.skip at module level. Closes: #837254.
++
 + -- Ondřej Nový <novy at ondrej.org>  Tue, 29 Mar 2016 22:10:26 +0200
 +
 +python-llfuse (1.1.1+dfsg-2) unstable; urgency=medium
 +
 +  * Added missing pytest-catchlog build dependency
 +  * Fixup 0004-Backport-properties-to-Cython-0.23-syntax.patch
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Wed, 27 Jul 2016 11:25:48 -0700
 +
 +python-llfuse (1.1.1+dfsg-1) unstable; urgency=medium
 +
 +  * New upstream release.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Wed, 27 Jul 2016 10:20:40 -0700
 +
 +python-llfuse (1.0+dfsg-2) unstable; urgency=medium
 +
 +  * Cherry picked ns-resolution support for kFreeBSD
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Thu, 10 Mar 2016 09:13:08 -0800
 +
 +python-llfuse (1.0+dfsg-1) unstable; urgency=medium
 +
 +  * New upstream release.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Tue, 08 Mar 2016 09:04:29 -0800
 +
 +python-llfuse (0.43+dfsg-3) unstable; urgency=medium
 +
 +  * Skip extended attribute tests under kFreeBSD.
 +  * Bump standards version to 3.9.7, no changes required.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Mon, 07 Mar 2016 13:23:53 -0800
 +
 +python-llfuse (0.43+dfsg-2) unstable; urgency=medium
 +
 +  * Added Breaks: borgbackup.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Thu, 25 Feb 2016 09:42:48 -0800
 +
 +python-llfuse (0.43+dfsg-1) unstable; urgency=medium
 +
 +  * Updated URL in copyright file.
 +  * New upstream release.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Tue, 23 Feb 2016 16:10:05 -0800
 +
 +python-llfuse (0.41.1+dfsg-4) unstable; urgency=medium
 +
 +  * Added patches/mips_dev_t.diff to work around bug in mips/mipsel libc
 +    (cf. https://sourceware.org/bugzilla/show_bug.cgi?id=17786).
 +    Closes: #635197.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Wed, 16 Sep 2015 13:59:11 -0700
 +
 +python-llfuse (0.41.1+dfsg-3) unstable; urgency=medium
 +
 +  * Bumped Cython dependency to >= 0.21.1. Older versions don't have
 +    posix/time.pxi.
 +  * Added patches/setattr_compat.diff to restore full backwards
 +    compatibility with version 0.40 (some applications were relying
 +    on undocumented behavior were broken by the update to 0.41.1).
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Thu, 10 Sep 2015 14:09:16 -0700
 +
 +python-llfuse (0.41.1+dfsg-1) unstable; urgency=medium
 +
 +  * Added test suite.
 +  * 'nostrip' build option is now honored.
 +  * New upstream release.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Sat, 22 Aug 2015 19:34:48 -0700
 +
 +python-llfuse (0.41+dfsg-1) unstable; urgency=medium
 +
 +  * New upstream release.
 +  * Use Python 3 versions of Cython and Sphinx.
 +  * Dropped build dependency on cython3-dbg (fixed upstream).
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Fri, 21 Aug 2015 08:52:21 -0700
 +
 +python-llfuse (0.40+dfsg-2) unstable; urgency=medium
 +
 +  * Correctly handle symlink-to-directory transition of 
 +    /usr/share/doc/{python,python3}-llfuse-dbg when upgrading from jessie.
 +    Closes: #788161.
 +  * Add versioned Breaks and Conflicts to -dbg packages to avoid
 +    upgrade problems due to moved file. Closes: #781652.
 +  * Put debugging symbols for regular interpreter into -dbg
 +    package again. Closes: #781719.
 +  * Bumped Standards-Version to 3.9.6 (no changes needed).
 +  * Added missing build-depends on cython3 and cython-dbg. 
 +    Closes: #794056.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Wed, 29 Jul 2015 20:49:49 -0700
 +
 +python-llfuse (0.40+dfsg-1) unstable; urgency=medium
 +
 +  * Updated watch file to use pypi, and validate pgp signature.
 +  * Remove minified javascript files from upstream source.
 +  * Switched package build system to pybuild.
 +  * Updated project URL.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Thu, 10 Jul 2014 21:34:34 -0700
 +
 +python-llfuse (0.40-2) unstable; urgency=low
 +
 +  * Some cosmetic fixes to debian/
 +  * Bumped standards version to 3.9.5, no other changes required.
 +  * Added force_xattr_api.diff to support compilation under GNU/kFreeBSD.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Wed, 27 Nov 2013 20:19:13 -0800
 +
 +python-llfuse (0.40-1) unstable; urgency=low
 +
 +  * New upstream release.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Tue, 26 Nov 2013 21:59:10 -0800
 +
 +python-llfuse (0.39-1) unstable; urgency=low
 +
 +  [ Nikolaus Rath ]
 +  * Bumped standards version to 3.9.4, no other changes required.
 +  * Bumped debhelper compatibility level to 9 to get support for
 +    dpkg-buildflags.
 +  * Added lintian override for hardening-no-fortify-functions,
 +    this is a false positive.
 +  * Build depend on newer Cython (> 0.16).
 +  * New upstream release.
 +
 +  [ Jakub Wilk ]
 +  * Use canonical URIs for Vcs-* fields.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Sat, 11 May 2013 12:33:34 -0700
 +
 +python-llfuse (0.37.1-2) unstable; urgency=low
 +
 +  * Fix build failure, only call dh_sphinxdoc when building
 +    python-llfuse-doc package.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Thu, 22 Dec 2011 22:37:26 -0500
 +
 +python-llfuse (0.37.1-1) unstable; urgency=low
 +
 +  * New upstream release.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Sat, 10 Dec 2011 20:57:38 -0500
 +
 +python-llfuse (0.36-2) unstable; urgency=low
 +
 +  * Use dh_sphinxdoc. Closes: #637393.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Mon, 24 Oct 2011 19:36:59 -0400
 +
 +python-llfuse (0.36-1) unstable; urgency=low
 +
 +  * New upstream release.
 +  * Depend on Cython > 0.15.1, previous versions generated segfaulting
 +    code.
 +  * Breaks S3QL < 1.2, API changed in non-backwards compatible way.
 +    (python-llfuse is not in any stable release, and S3QL is the
 +    only reverse dependency, so a new package name does not seem
 +    justified).
 +  * Update format of copyright file.
 +  * Fixed argument parsing under Python 3.x
 +  * Do correct typecasting of mode_t constants. Fix introduces
 +    build dependency on Cython 0.15 (Closes: #635196).
 +  * Use underscore.js from libjs-underscore rather than shipping
 +    our own version.
 +  * Added correct copyright information for files in doc/html/_static.
 +  * Thanks to Jakub Wilk for his packaging review.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Tue, 20 Sep 2011 22:16:17 -0400
 +
 +python-llfuse (0.33-1) unstable; urgency=low
 +
 +  * New upstream release.
 +  * Build extension before generating documentation, so that
 +    autogenerated documentation is no longer empty. Closes: 631871
 +  * Ship cached python intersphinx file in debian/, so that it
 +    does not need to be downloaded at build time.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Wed, 06 Jul 2011 09:32:38 -0400
 +
 +python-llfuse (0.32-2) unstable; urgency=low
 +
 +  * Created separate -doc package for documentation. Closes: 630632
 +  * Regenerate documentation in debian/rules. Closes: 630605
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Sat, 25 Jun 2011 13:01:03 -0400
 +
 +python-llfuse (0.32-1) unstable; urgency=low
 +
 +  * First official debian release. Closes: 626658
 +  * Breaks and Replaces s3ql <= 0.28, this package isn't in the official
 +    debian package but was provided by upstream over various channels (LLFUSE
 +    was factored out of S3QL in version 0.29).
 +  * Rebuilding of HTML documentation requires (yet unreleased) Sphinx version
 +    1.1 or resolution of wishlist bug #63040, therefore we do not rebuild the
 +    documentation in debian/rules but use the HTML files included in the
 +    upstream tarball.
 +
 + -- Nikolaus Rath <Nikolaus at rath.org>  Thu, 12 May 2011 10:19:11 -0400
 +
diff --cc debian/patches/0003-Use-cython3-instead-of-cython-command.patch
index 06aeb71,0000000..af5396c
mode 100644,000000..100644
--- a/debian/patches/0003-Use-cython3-instead-of-cython-command.patch
+++ b/debian/patches/0003-Use-cython3-instead-of-cython-command.patch
@@@ -1,37 -1,0 +1,37 @@@
 +From baf2d5e68316623c4787dd486c7dbebf7c019389 Mon Sep 17 00:00:00 2001
 +From: Nikolaus Rath <Nikolaus at rath.org>
 +Date: Tue, 23 Feb 2016 16:30:36 -0800
 +Subject: Use 'cython3' instead of 'cython' command
 +
 +Origin: debian
 +Forwarded: not-needed
 +
 +In Debian, python3-cython provides only a 'cython3' command. To avoid
 +pulling in the complete Python 2.x runtime environment for
 +python-cython, we use 'cython3' instead.
 +---
 + setup.py | 4 ++--
 + 1 file changed, 2 insertions(+), 2 deletions(-)
 +
 +diff --git a/setup.py b/setup.py
- index 353c..8a5c 100755
++index 353c0..8a5ca 100755
 +--- a/setup.py
 ++++ b/setup.py
 +@@ -210,7 +210,7 @@ class build_cython(setuptools.Command):
 + 
 +     def run(self):
 +         try:
 +-            version = subprocess.check_output(['cython', '--version'],
 ++            version = subprocess.check_output(['cython3', '--version'],
 +                                               universal_newlines=True,
 +                                               stderr=subprocess.STDOUT)
 +         except OSError:
 +@@ -220,7 +220,7 @@ class build_cython(setuptools.Command):
 +         if not hit or LooseVersion(hit.group(1)) < "0.24":
 +             raise SystemExit('Need Cython 0.24 or newer, found ' + version)
 + 
 +-        cmd = ['cython', '-Wextra', '--force', '-3', '--fast-fail',
 ++        cmd = ['cython3', '-Wextra', '--force', '-3', '--fast-fail',
 +                '--directive', 'embedsignature=True', '--include-dir',
 +                os.path.join(basedir, 'Include'), '--verbose' ]
 +         if DEVELOPER_MODE:
diff --cc debian/patches/0004-Backport-properties-to-Cython-0.23-syntax.patch
index f40d12a,0000000..689c5d4
mode 100644,000000..100644
--- a/debian/patches/0004-Backport-properties-to-Cython-0.23-syntax.patch
+++ b/debian/patches/0004-Backport-properties-to-Cython-0.23-syntax.patch
@@@ -1,348 -1,0 +1,348 @@@
 +From 4423b7ddfd6e035ac862e4a008c3bc5df2d25d96 Mon Sep 17 00:00:00 2001
 +From: Nikolaus Rath <Nikolaus at rath.org>
 +Date: Tue, 23 Feb 2016 16:17:31 -0800
 +Subject: Backport properties to Cython 0.23 syntax
 +
 +Origin: debian
 +Forwarded: not-needed
 +Last-Update: <2016-02-23>
 +Author: Nikolaus Rath <Nikolaus at rath.org>
 +
 +The syntax to define properties in Cython has changed from
 +version 0.23 to 0.24. Upstream uses the newer syntax, but Cython
 +0.24 is not available in Debian yet. Thus, we backport to the
 +older syntax.
 +---
 + setup.py     |   4 +-
 + src/misc.pxi | 283 ++++++++++++++++++++++-------------------------------------
 + 2 files changed, 109 insertions(+), 178 deletions(-)
 +
 +diff --git a/setup.py b/setup.py
- index 8a5c..cc21 100755
++index 8a5ca..cc21a 100755
 +--- a/setup.py
 ++++ b/setup.py
 +@@ -217,8 +217,8 @@ class build_cython(setuptools.Command):
 +             raise SystemExit('Cython needs to be installed for this command')
 + 
 +         hit = re.match('^Cython version (.+)$', version)
 +-        if not hit or LooseVersion(hit.group(1)) < "0.24":
 +-            raise SystemExit('Need Cython 0.24 or newer, found ' + version)
 ++        if not hit or LooseVersion(hit.group(1)) < "0.23":
 ++            raise SystemExit('Need Cython 0.23 or newer, found ' + version)
 + 
 +         cmd = ['cython3', '-Wextra', '--force', '-3', '--fast-fail',
 +                '--directive', 'embedsignature=True', '--include-dir',
 +diff --git a/src/misc.pxi b/src/misc.pxi
- index c949..77ff 100644
++index c9498..77ffe 100644
 +--- a/src/misc.pxi
 ++++ b/src/misc.pxi
 +@@ -368,126 +368,82 @@ cdef class EntryAttributes:
 +         self.attr.st_blksize = 4096
 +         self.attr.st_nlink = 1
 + 
 +-    @property
 +-    def st_ino(self):
 +-        return self.fuse_param.ino
 +-    @st_ino.setter
 +-    def st_ino(self, val):
 +-        self.fuse_param.ino = val
 +-        self.attr.st_ino = val
 +-
 +-    @property
 +-    def generation(self):
 +-        '''The inode generation number'''
 +-        return self.fuse_param.generation
 +-    @generation.setter
 +-    def generation(self, val):
 +-        self.fuse_param.generation = val
 +-
 +-    @property
 +-    def attr_timeout(self):
 +-        '''Validity timeout for the attributes of the directory entry
 +-
 +-        Floating point numbers may be used. Units are seconds.
 +-        '''
 +-        return self.fuse_param.attr_timeout
 +-    @attr_timeout.setter
 +-    def attr_timeout(self, val):
 +-        self.fuse_param.attr_timeout = val
 ++    property st_ino:
 ++        def __get__(self): return self.fuse_param.ino
 ++        def __set__(self, val):
 ++            self.fuse_param.ino = val
 ++            self.attr.st_ino = val
 + 
 +-    @property
 +-    def entry_timeout(self):
 +-        '''Validity timeout for the name/existence of the directory entry
 ++    property generation:
 ++        def __get__(self): return self.fuse_param.generation
 ++        def __set__(self, val): self.fuse_param.generation = val
 + 
 +-        Floating point numbers may be used. Units are seconds.
 +-        '''
 +-        return self.fuse_param.entry_timeout
 +-    @entry_timeout.setter
 +-    def entry_timeout(self, val):
 +-        self.fuse_param.entry_timeout = val
 +-
 +-    @property
 +-    def st_mode(self):
 +-        return self.attr.st_mode
 +-    @st_mode.setter
 +-    def st_mode(self, val):
 +-        self.attr.st_mode = val
 +-
 +-    @property
 +-    def st_nlink(self):
 +-        return self.attr.st_nlink
 +-    @st_nlink.setter
 +-    def st_nlink(self, val):
 +-        self.attr.st_nlink = val
 +-
 +-    @property
 +-    def st_uid(self):
 +-        return self.attr.st_uid
 +-    @st_uid.setter
 +-    def st_uid(self, val):
 +-        self.attr.st_uid = val
 +-
 +-    @property
 +-    def st_gid(self):
 +-        return self.attr.st_gid
 +-    @st_gid.setter
 +-    def st_gid(self, val):
 +-        self.attr.st_gid = val
 +-
 +-    @property
 +-    def st_rdev(self):
 +-        return self.attr.st_rdev
 +-    @st_rdev.setter
 +-    def st_rdev(self, val):
 +-        self.attr.st_rdev = val
 +-
 +-    @property
 +-    def st_size(self):
 +-        return self.attr.st_size
 +-    @st_size.setter
 +-    def st_size(self, val):
 +-        self.attr.st_size = val
 +-
 +-    @property
 +-    def st_blocks(self):
 +-        return self.attr.st_blocks
 +-    @st_blocks.setter
 +-    def st_blocks(self, val):
 +-        self.attr.st_blocks = val
 +-
 +-    @property
 +-    def st_blksize(self):
 +-        return self.attr.st_blksize
 +-    @st_blksize.setter
 +-    def st_blksize(self, val):
 +-        self.attr.st_blksize = val
 +-
 +-    @property
 +-    def st_atime_ns(self):
 ++    property attr_timeout:
 ++        def __get__(self): return self.fuse_param.attr_timeout
 ++        def __set__(self, val): self.fuse_param.attr_timeout = val
 ++
 ++    property entry_timeout:
 ++        def __get__(self): return self.fuse_param.entry_timeout
 ++        def __set__(self, val): self.fuse_param.entry_timeout = val
 ++
 ++    property st_mode:
 ++        def __get__(self): return self.attr.st_mode
 ++        def __set__(self, val): self.attr.st_mode = val
 ++
 ++    property st_nlink:
 ++        def __get__(self): return self.attr.st_nlink
 ++        def __set__(self, val): self.attr.st_nlink = val
 ++
 ++    property st_uid:
 ++        def __get__(self): return self.attr.st_uid
 ++        def __set__(self, val): self.attr.st_uid = val
 ++
 ++    property st_gid:
 ++        def __get__(self): return self.attr.st_gid
 ++        def __set__(self, val): self.attr.st_gid = val
 ++
 ++    property st_rdev:
 ++        def __get__(self): return self.attr.st_rdev
 ++        def __set__(self, val): self.attr.st_rdev = val
 ++
 ++    property st_size:
 ++        def __get__(self): return self.attr.st_size
 ++        def __set__(self, val): self.attr.st_size = val
 ++
 ++    property st_blocks:
 ++        def __get__(self): return self.attr.st_blocks
 ++        def __set__(self, val): self.attr.st_blocks = val
 ++
 ++    property st_blksize:
 ++        def __get__(self): return self.attr.st_blksize
 ++        def __set__(self, val): self.attr.st_blksize = val
 ++
 ++    property st_atime_ns:
 +         '''Time of last access in (integer) nanoseconds'''
 +-        return (int(self.attr.st_atime) * 10**9 + GET_ATIME_NS(self.attr))
 +-    @st_atime_ns.setter
 +-    def st_atime_ns(self, val):
 +-        self.attr.st_atime = val / 10**9
 +-        SET_ATIME_NS(self.attr, val % 10**9)
 +-
 +-    @property
 +-    def st_mtime_ns(self):
 ++        def __get__(self):
 ++            return (int(self.attr.st_atime) * 10**9
 ++                    + GET_ATIME_NS(self.attr))
 ++        def __set__(self, val):
 ++            self.attr.st_atime = val / 10**9
 ++            SET_ATIME_NS(self.attr, val % 10**9)
 ++
 ++    property st_mtime_ns:
 +         '''Time of last modification in (integer) nanoseconds'''
 +-        return (int(self.attr.st_mtime) * 10**9 + GET_MTIME_NS(self.attr))
 +-    @st_mtime_ns.setter
 +-    def st_mtime_ns(self, val):
 +-        self.attr.st_mtime = val / 10**9
 +-        SET_MTIME_NS(self.attr, val % 10**9)
 +-
 +-    @property
 +-    def st_ctime_ns(self):
 ++        def __get__(self):
 ++            return (int(self.attr.st_mtime) * 10**9
 ++                    + GET_MTIME_NS(self.attr))
 ++        def __set__(self, val):
 ++            self.attr.st_mtime = val / 10**9
 ++            SET_MTIME_NS(self.attr, val % 10**9)
 ++
 ++    property st_ctime_ns:
 +         '''Time of last inode modification in (integer) nanoseconds'''
 +-        return (int(self.attr.st_ctime) * 10**9 + GET_CTIME_NS(self.attr))
 +-    @st_ctime_ns.setter
 +-    def st_ctime_ns(self, val):
 +-        self.attr.st_ctime = val / 10**9
 +-        SET_CTIME_NS(self.attr, val % 10**9)
 ++        def __get__(self):
 ++            return (int(self.attr.st_ctime) * 10**9
 ++                    + GET_CTIME_NS(self.attr))
 ++        def __set__(self, val):
 ++            self.attr.st_ctime = val / 10**9
 ++            SET_CTIME_NS(self.attr, val % 10**9)
 + 
 + @cython.freelist(1)
 + cdef class StatvfsData:
 +@@ -502,61 +458,37 @@ cdef class StatvfsData:
 +     def __cinit__(self):
 +         string.memset(&self.stat, 0, sizeof(statvfs))
 + 
 +-    @property
 +-    def f_bsize(self):
 +-        return self.stat.f_bsize
 +-    @f_bsize.setter
 +-    def f_bsize(self, val):
 +-        self.stat.f_bsize = val
 +-
 +-    @property
 +-    def f_frsize(self):
 +-        return self.stat.f_frsize
 +-    @f_frsize.setter
 +-    def f_frsize(self, val):
 +-        self.stat.f_frsize = val
 +-
 +-    @property
 +-    def f_blocks(self):
 +-        return self.stat.f_blocks
 +-    @f_blocks.setter
 +-    def f_blocks(self, val):
 +-        self.stat.f_blocks = val
 +-
 +-    @property
 +-    def f_bfree(self):
 +-        return self.stat.f_bfree
 +-    @f_bfree.setter
 +-    def f_bfree(self, val):
 +-        self.stat.f_bfree = val
 +-
 +-    @property
 +-    def f_bavail(self):
 +-        return self.stat.f_bavail
 +-    @f_bavail.setter
 +-    def f_bavail(self, val):
 +-        self.stat.f_bavail = val
 +-
 +-    @property
 +-    def f_files(self):
 +-        return self.stat.f_files
 +-    @f_files.setter
 +-    def f_files(self, val):
 +-        self.stat.f_files = val
 +-
 +-    @property
 +-    def f_ffree(self):
 +-        return self.stat.f_ffree
 +-    @f_ffree.setter
 +-    def f_ffree(self, val):
 +-        self.stat.f_ffree = val
 +-
 +-    @property
 +-    def f_favail(self):
 +-        return self.stat.f_favail
 +-    @f_favail.setter
 +-    def f_favail(self, val):
 +-        self.stat.f_favail = val
 ++    property f_bsize:
 ++        def __get__(self): return self.stat.f_bsize
 ++        def __set__(self, val): self.stat.f_bsize = val
 ++
 ++    property f_frsize:
 ++        def __get__(self): return self.stat.f_frsize
 ++        def __set__(self, val): self.stat.f_frsize = val
 ++
 ++    property f_blocks:
 ++        def __get__(self): return self.stat.f_blocks
 ++        def __set__(self, val): self.stat.f_blocks = val
 ++
 ++    property f_bfree:
 ++        def __get__(self): return self.stat.f_bfree
 ++        def __set__(self, val): self.stat.f_bfree = val
 ++
 ++    property f_bavail:
 ++        def __get__(self): return self.stat.f_bavail
 ++        def __set__(self, val): self.stat.f_bavail = val
 ++
 ++    property f_files:
 ++        def __get__(self): return self.stat.f_files
 ++        def __set__(self, val): self.stat.f_files = val
 ++
 ++    property f_ffree:
 ++        def __get__(self): return self.stat.f_ffree
 ++        def __set__(self, val): self.stat.f_ffree = val
 ++
 ++    property f_favail:
 ++        def __get__(self): return self.stat.f_favail
 ++        def __set__(self, val): self.stat.f_favail = val
 + 
 + 
 + # As of Cython 0.23.1, @cython.freelist cannot be used for
 +@@ -574,13 +506,12 @@ cdef class FUSEError(Exception):
 +     # a macro?)
 +     cdef int errno_
 + 
 +-    @property
 +-    def errno(self):
 ++    property errno:
 +         '''Error code to return to client process'''
 +-        return self.errno_
 +-    @errno.setter
 +-    def errno(self, val):
 +-        self.errno_ = val
 ++        def __get__(self):
 ++            return self.errno_
 ++        def __set__(self, val):
 ++            self.errno_ = val
 + 
 +     def __cinit__(self, errno):
 +         self.errno_ = errno
diff --cc debian/patches/0005-Ignore-compiler-warnings-due-to-old-Cython-version.patch
index a1b78c5,0000000..0d13dfc
mode 100644,000000..100644
--- a/debian/patches/0005-Ignore-compiler-warnings-due-to-old-Cython-version.patch
+++ b/debian/patches/0005-Ignore-compiler-warnings-due-to-old-Cython-version.patch
@@@ -1,30 -1,0 +1,30 @@@
 +From 1069a4f2bbc3d2aba2984d64eb19c73f20aec500 Mon Sep 17 00:00:00 2001
 +From: Nikolaus Rath <Nikolaus at rath.org>
 +Date: Tue, 23 Feb 2016 16:14:11 -0800
 +Subject: Ignore compiler warnings due to old Cython version
 +
 +Origin: debian
 +Forwarded: not-needed
 +Last-Update: <2016-02-23>
 +Author: Nikolaus Rath <Nikolaus at rath.org>
 +
 +Cython versions prior to 0.24 generate Gcc compiler warnings.
 +Since Cython 0.24 isn't in Debian yet, we ignore these warnings.
 +---
 + setup.py | 3 ---
 + 1 file changed, 3 deletions(-)
 +
 +diff --git a/setup.py b/setup.py
- index cc21..16cc 100755
++index cc21a..16cc0 100755
 +--- a/setup.py
 ++++ b/setup.py
 +@@ -80,9 +80,6 @@ def main():
 +     # We may have unused functions if we compile for older FUSE versions
 +     compile_args.append('-Wno-unused-function')
 + 
 +-    # Value-changing conversions should always be explicit.
 +-    compile_args.append('-Werror=conversion')
 +-
 +     # Note that (i > -1) is false if i is unsigned (-1 will be converted to
 +     # a large positive value). We certainly don't want to do this by
 +     # accident.
diff --cc debian/patches/0006-Work-around-Cython-0.23-bug.patch
index 14faa41,0000000..086561b
mode 100644,000000..100644
--- a/debian/patches/0006-Work-around-Cython-0.23-bug.patch
+++ b/debian/patches/0006-Work-around-Cython-0.23-bug.patch
@@@ -1,41 -1,0 +1,41 @@@
 +From e7fc1d9b0413e9a72fdb0fb55aab2ee024572a43 Mon Sep 17 00:00:00 2001
 +From: Nikolaus Rath <Nikolaus at rath.org>
 +Date: Tue, 23 Feb 2016 16:39:59 -0800
 +Subject: Work around Cython 0.23 bug.
 +
 +Origin: Debian
 +Forwarded: not-needed
 +
 +Cython 0.23 has a wrong definition of posix.signal.sigaction_t,
 +so we provide the correct one. This is fixed in Cython 0.24.
 +---
 + src/llfuse.pyx | 9 ++++++++-
 + 1 file changed, 8 insertions(+), 1 deletion(-)
 +
 +diff --git a/src/llfuse.pyx b/src/llfuse.pyx
- index 10c6..357a 100644
++index 10c61..357ae 100644
 +--- a/src/llfuse.pyx
 ++++ b/src/llfuse.pyx
 +@@ -46,7 +46,7 @@ from libc.errno cimport ETIMEDOUT, EPROTO, EINVAL, EPERM, ENOMSG
 + from posix.unistd cimport getpid
 + from posix.time cimport timespec
 + from posix.signal cimport (sigemptyset, sigaddset, SIG_BLOCK, SIG_SETMASK,
 +-                           siginfo_t, sigaction_t, sigaction, SA_SIGINFO)
 ++                           siginfo_t, sigaction, SA_SIGINFO)
 + from cpython.bytes cimport (PyBytes_AsStringAndSize, PyBytes_FromStringAndSize,
 +                             PyBytes_AsString, PyBytes_FromString, PyBytes_AS_STRING)
 + from cpython.buffer cimport (PyObject_GetBuffer, PyBuffer_Release,
 +@@ -61,6 +61,13 @@ from libc cimport signal
 + # EXTERNAL DEFINITIONS
 + ######################
 + 
 ++cdef extern from * nogil:
 ++     cdef struct sigaction_t "sigaction":
 ++        void     sa_handler(int)
 ++        void     sa_sigaction(int, siginfo_t *, void *)
 ++        sigset_t sa_mask
 ++        int      sa_flags
 ++
 + cdef extern from "lock.h" nogil:
 +     int acquire(double timeout) nogil
 +     int release() nogil
diff --cc debian/patches/0007-Skip-extended-attribute-tests-under-GNU-kFreeBSD.patch
index 6d847eb,0000000..ca01680
mode 100644,000000..100644
--- a/debian/patches/0007-Skip-extended-attribute-tests-under-GNU-kFreeBSD.patch
+++ b/debian/patches/0007-Skip-extended-attribute-tests-under-GNU-kFreeBSD.patch
@@@ -1,36 -1,0 +1,36 @@@
 +From 4686182e678b4be3535c4ea4ccc016dd725fb57d Mon Sep 17 00:00:00 2001
 +From: Nikolaus Rath <Nikolaus at rath.org>
 +Date: Mon, 7 Mar 2016 13:22:36 -0800
 +Subject: Skip extended attribute tests under GNU/kFreeBSD
 +
 +Origin: Debian
 +Forwarded: not-needed
 +
 +Under GNU/kFreeBSD the setxattr and getxattr functions are dummies
 +that return ENOTIMPL.
 +---
 + test/test_api.py | 4 ++++
 + 1 file changed, 4 insertions(+)
 +
 +diff --git a/test/test_api.py b/test/test_api.py
- index 8124..e2b3 100755
++index 81242..e2b37 100755
 +--- a/test/test_api.py
 ++++ b/test/test_api.py
 +@@ -21,6 +21,7 @@ import tempfile
 + import os
 + import errno
 + import pytest
 ++import sys
 + 
 + def test_inquire_bits():
 +     assert 0 < llfuse.get_ino_t_bits() < 256
 +@@ -64,6 +65,9 @@ def test_entry_res():
 +     a.st_atime_ns = val*1e9
 +     assert a.st_atime_ns / 1e9 == val
 + 
 ++
 ++ at pytest.mark.skipif(sys.platform.startswith('gnukfreebsd'),
 ++                    reason='GNU/kFreeBSD does not have xattr support')
 + def test_xattr():
 +     with tempfile.NamedTemporaryFile() as fh:
 +         key = 'user.new_attribute'
diff --cc debian/patches/mips_dev_t.diff
index 44158c1,0000000..192e5cf
mode 100644,000000..100644
--- a/debian/patches/mips_dev_t.diff
+++ b/debian/patches/mips_dev_t.diff
@@@ -1,53 -1,0 +1,53 @@@
 +From 12ee26cd101b7e6ef75121d2f7fbc9c5b9ba82a4 Mon Sep 17 00:00:00 2001
 +From: Nikolaus Rath <Nikolaus at rath.org>
 +Date: Mon, 1 Feb 2016 09:40:04 -0800
 +Subject: Work around bug in mips+mipsel libc
 +
 +Forwarded: no
 +Patch-Name: mips_dev_t.diff
 +
 +On mips and mipsel, the st_dev and st_rdev members of struct stat do not
 +have type dev_t. This breaks POSIX compatibility, but is difficult to fix
 +(cf. https://sourceware.org/bugzilla/show_bug.cgi?id=17786).
 +
 +To work around the issue, we change the definition of struct stat that
 +is used by Cython when we are compiling under mips. Note that this
 +requires the Cython compilation to run under mips, and that the
 +resulting C file will be mips specific (without the patch, the
 +generated C file is suitable for any architecture).
 +
 +Upstream is not interested in this change for obvious reasons.
 +---
 + src/llfuse.pyx | 19 ++++++++++++++++++-
 + 1 file changed, 18 insertions(+), 1 deletion(-)
 +
 +diff --git a/src/llfuse.pyx b/src/llfuse.pyx
- index 53a6..10c6 100644
++index 53a64..10c61 100644
 +--- a/src/llfuse.pyx
 ++++ b/src/llfuse.pyx
 +@@ -20,7 +20,24 @@ cdef extern from "llfuse.h":
 + 
 + from fuse_lowlevel cimport *
 + from pthread cimport *
 +-from posix.stat cimport struct_stat, S_IFMT, S_IFDIR, S_IFREG
 ++IF UNAME_MACHINE.startswith('mips64'):
 ++    cdef extern from "sys/stat.h" nogil:
 ++      struct stat:
 ++        int       st_dev
 ++        ino_t     st_ino
 ++        mode_t    st_mode
 ++        nlink_t   st_nlink
 ++        uid_t     st_uid
 ++        gid_t     st_gid
 ++        int       st_rdev
 ++        off_t     st_size
 ++        blksize_t st_blksize
 ++        blkcnt_t  st_blocks
 ++        time_t    st_atime
 ++        time_t    st_mtime
 ++        time_t    st_ctime
 ++ELSE:
 ++    from posix.stat cimport struct_stat, S_IFMT, S_IFDIR, S_IFREG
 + from posix.types cimport mode_t, dev_t, off_t
 + from libc.stdint cimport uint32_t
 + from libc.stdlib cimport const_char
diff --cc debian/patches/pytest-skip.diff
index 0000000,0000000..bee73a7
new file mode 100644
--- /dev/null
+++ b/debian/patches/pytest-skip.diff
@@@ -1,0 -1,0 +1,110 @@@
++From 19b0db84e5635cc8f33ffe8d08b78bce7135443c Mon Sep 17 00:00:00 2001
++From: Nikolaus Rath <Nikolaus at rath.org>
++Date: Fri, 23 Sep 2016 20:38:53 -0700
++Subject: Don't use pytest.skip at module level.
++
++Origin: upstream
++Forwarded: not-needed
++Patch-Name: pytest-skip.diff
++
++This was cherry picked from upstream. pytest 3 no longer support
++pytest.skip at module level.
++---
++ test/test_examples.py |  4 ++--
++ test/test_fs.py       |  5 ++---
++ test/util.py          | 20 ++++++++++++++------
++ 3 files changed, 18 insertions(+), 11 deletions(-)
++
++diff --git a/test/test_examples.py b/test/test_examples.py
++index 707c7..0e8f6c 100755
++--- a/test/test_examples.py
+++++ b/test/test_examples.py
++@@ -25,12 +25,12 @@ import shutil
++ import filecmp
++ import errno
++ from tempfile import NamedTemporaryFile
++-from util import skip_if_no_fuse, wait_for_mount, umount, cleanup
+++from util import fuse_test_marker, wait_for_mount, umount, cleanup
++ 
++ basename = os.path.join(os.path.dirname(__file__), '..')
++ TEST_FILE = __file__
++ 
++-skip_if_no_fuse()
+++pytestmark = fuse_test_marker()
++ 
++ with open(TEST_FILE, 'rb') as fh:
++     TEST_DATA = fh.read()
++diff --git a/test/test_fs.py b/test/test_fs.py
++index b6c25..7bbd4 100755
++--- a/test/test_fs.py
+++++ b/test/test_fs.py
++@@ -25,10 +25,9 @@ import stat
++ import time
++ import logging
++ import threading
++-from util import skip_if_no_fuse, wait_for_mount, umount, cleanup, wait_for
++-
++-skip_if_no_fuse()
+++from util import fuse_test_marker, wait_for_mount, umount, cleanup, wait_for
++ 
+++pytestmark = fuse_test_marker()
++ 
++ @pytest.yield_fixture()
++ def testfs(tmpdir):
++diff --git a/test/util.py b/test/util.py
++index 2e8fe..043fd 100644
++--- a/test/util.py
+++++ b/test/util.py
++@@ -23,12 +23,18 @@ import sys
++ if sys.version_info[0] == 2:
++     subprocess.DEVNULL = open('/dev/null', 'w')
++ 
++-def skip_if_no_fuse():
++-    '''Skip test if system/user/environment does not support FUSE'''
+++def fuse_test_marker():
+++    '''Return a pytest.marker that indicates FUSE availability
+++
+++    If system/user/environment does not support FUSE, return
+++    a `pytest.mark.skip` object with more details. If FUSE is
+++    supported, return `pytest.mark.uses_fuse()`.
+++    '''
++ 
++     if platform.system() == 'Darwin':
++         # No working autodetection, just assume it will work.
++         return
+++    skip = lambda x: pytest.mark.skip(reason=x)
++ 
++     # Python 2.x: Popen is not a context manager...
++     which = subprocess.Popen(['which', 'fusermount'], stdout=subprocess.PIPE,
++@@ -39,25 +45,27 @@ def skip_if_no_fuse():
++         which.wait()
++ 
++     if not fusermount_path or which.returncode != 0:
++-        pytest.skip("Can't find fusermount executable")
+++        return skip("Can't find fusermount executable")
++ 
++     if not os.path.exists('/dev/fuse'):
++-        pytest.skip("FUSE kernel module does not seem to be loaded")
+++        return skip("FUSE kernel module does not seem to be loaded")
++ 
++     if os.getuid() == 0:
++         return
++ 
++     mode = os.stat(fusermount_path).st_mode
++     if mode & stat.S_ISUID == 0:
++-        pytest.skip('fusermount executable not setuid, and we are not root.')
+++        return skip('fusermount executable not setuid, and we are not root.')
++ 
++     try:
++         fd = os.open('/dev/fuse', os.O_RDWR)
++     except OSError as exc:
++-        pytest.skip('Unable to open /dev/fuse: %s' % exc.strerror)
+++        return skip('Unable to open /dev/fuse: %s' % exc.strerror)
++     else:
++         os.close(fd)
++ 
+++    return pytest.mark.uses_fuse()
+++
++ def exitcode(process):
++     if isinstance(process, subprocess.Popen):
++         return process.poll()
diff --cc debian/patches/series
index cebec59,0000000..480bb1b
mode 100644,000000..100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@@ -1,7 -1,0 +1,8 @@@
 +use-local-intersphinx-inventory.patch
 +mips_dev_t.diff
 +0003-Use-cython3-instead-of-cython-command.patch
 +0004-Backport-properties-to-Cython-0.23-syntax.patch
 +0005-Ignore-compiler-warnings-due-to-old-Cython-version.patch
 +0006-Work-around-Cython-0.23-bug.patch
 +0007-Skip-extended-attribute-tests-under-GNU-kFreeBSD.patch
++pytest-skip.diff
diff --cc debian/patches/use-local-intersphinx-inventory.patch
index d75ae51,0000000..c574b9b
mode 100644,000000..100644
--- a/debian/patches/use-local-intersphinx-inventory.patch
+++ b/debian/patches/use-local-intersphinx-inventory.patch
@@@ -1,28 -1,0 +1,28 @@@
 +From 48e6c33f77106b9368e7db430d296ba6c31e47a6 Mon Sep 17 00:00:00 2001
 +From: Nikolaus Rath <Nikolaus at rath.org>
 +Date: Thu, 8 Oct 2015 12:24:34 -0700
 +Subject: Use local intersphinx inventory
 +
 +Forwarded: not-needed
 +Last-Update: 2011-07-06
 + Instead of downloading the Python intersphinx directory
 + at build time, use the cached copy shipped in debian/.
 +Patch-Name: use-local-intersphinx-inventory.patch
 +---
 + rst/conf.py | 3 ++-
 + 1 file changed, 2 insertions(+), 1 deletion(-)
 +
... 15 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-llfuse.git



More information about the Python-modules-commits mailing list