Rename test/ → tests/ More consistency between my packages.
Drop Python 2.6 and earlier support While the C extension doesn't need anything to support it, simply running the tests becomes more and more difficult with such old versions. Given upcoming Python 2 deprecation, let's drop support for older versions and simplify the test suite.
Increase test coverage These are old changes from October 2016 which I forgot to commit. I think they're related to test coverage, although a few changes (object structure) seems a bit different. Well, anyway, here they are.
Update my email address
tests: ignore IOErrors during operations invalid ACLs It seems that FreeBSD at least returns EINVAL from calc_mask() and other calls if the ACL is invalid, so let's ignore such IOErrors. This should hopefully fix #6 and #7.
tests: don't call acl_to_text on an invalid ACL While Linux is happy to convert it to text, it seems that under FreeBSD this doesn't (always? sometimes?) work, so let's use a proper ACL in the str() test. Closes #5.
Try to fix uid_t/gid_t usage in entry qualifiers The current code is very broken with regards to the casting between Python's integer type (either int in Py2 or the magic int/long in Py3) and the uid_t/gid_t POSIX types. This means that the code is broken outside "small" integer values. By using uid_t/gid_t as appropriate, we can fix most of the problem (at least as far as the new unittests are concerned). There's still no automatic printf format modifier for them, so the code hardcodes unsigned (which is what Linux/glibc defines them to), and also there's a unittest that expects negative values to fail when set. This should fix issue #3 (github).
First step towards fixing qualifier overflow This is still a work-in-progress, since it only deals with Python-level overflows, but it's a step forward.
Fix some indentation issues in tests
Unify env and python variable TEST_DIR The difference is just confusing.
Enable testing on more Python versions and PyPy … except for the refcount test which doesn't work (and makes no sense) under PyPy as it has a non-reference count model).
Rename tests → test and distribute test files too The rename is done for consistency with other projects, and distributing the tests is of course useful.
Fix unittest suite compatibility with python2.6 It turns out imports by filename were never supposed to work, and python2.6 just errors out explicitly.
Small whitespace change
Add license text to source files
Imple the acl_equiv_mode function This is another Linux-specific function, but very easy to implement.
Implement the acl_extended_* functions This patch adds support for the Linux-specific acl_extended_fd and acl_extended_file function, both exposed at module level through the has_extended function name.
unittests: generalize the skip decorators Since there could be many extensions, it's better to generalize to a single, parametrized decorator than to repeat the same code in multiple ones.
unittests: abstract basic acl text into a constant This patch just moved the basic acl text from being hardcoded in multiple functions to a constant that can be easily modified, and changes slightly the ACL.
Enhance the unittest The patch adds more unittests and renames the HAS_* constants for easier usage.