Rename test/ → tests/ More consistency between my packages
Rework and expand the mixed access test This is more of a kernel xattr test, not the library, but good enough to guarantee mixed access from Python.
Tests: ensure resources as closed in subject tests A bit of boilerplate, but gets rid of the leaking FD problem.
Run tests on file io streams as well
Add support for Path-like objects in Python 3.6+ This is done by switching to PyUnicode_FSConverter (3.1+), which supports it. The convert_obj() function is now much simpler, which is a bonus. Expand tests to check behaviour with path objects, and skip those on Python 3.6. Closes #20.
Switch namespace_none test to check all calls Instead of all input parameter types for one call. This is better since more calls are checked, and the parameter type checking is not the goal of this test.
Run name tests as (encoded) bytes too
Tests: remove_on_missing applies to symlinks as well
Tests: small py3 cleanup
Split the other monolitic test function Yay, cleaner now. But lots of many test invocations :)
Split the monolithic ListSetGetDeprecated test The failure modes are better tested separately, and leave this main test as set-get-remove simple test.
Introduce an any_subject fixture which includes symlinks Only symlink creation fails for user attributes on symlinks, so tests which only list/get do work. This allows removing explicit tests for symlinks.
Add explicit test for symlink creation failure
Reduce manyops count We test more (object types), so let's reduce the call count for each. Too slow otherwise.
Convert test suite to pytest Much more parametrisation, which means: - more test cases covered (testing more/all object types in most functions) - more granular tests, which should help diagnose of failures
tests: stop trying to set user attributes on symlinks According to xattr(7), by design setting/modifying user attributes on symlinks is not allowed, due to the way access control works, so stop trying to test it.
tests: move helper function outside the test class Not sure why these were there in the first place…
tests: move constants outside the class In preparation for pytest conversion.
Further test suite fixes to symlink ops I forgot about the deprecated ones…
Tests: fix symlink testing On Linux, non-root users are not allowed to set extended attributes, so normal testing has hidden this. A fix to the Mac OS support proposed in #14 uncovered this problem, which led to investigation and this fix. Manual testing on Linux with root and namespace=trusted now passes the tests.