]> git.k1024.org Git - pyxattr.git/log
pyxattr.git
10 months agoFix paths to tests temporary files in `.gitignore`
Iustin Pop [Tue, 6 Feb 2024 20:54:30 +0000 (20:54 +0000)]
Fix paths to tests temporary files in `.gitignore`

Untracked files are much more visible in vscode than in my command line (or I had global gitignores), so let's fix this.

10 months agoUpdate docstrings to show bytes being returned
Iustin Pop [Tue, 6 Feb 2024 20:43:00 +0000 (20:43 +0000)]
Update docstrings to show bytes being returned

Only Python 3 is supported now, so this is way overdue. This addresses parts of issue #40.

10 months agoTemporarily disable pypy-3.10-nightly
Iustin Pop [Mon, 5 Feb 2024 21:20:10 +0000 (21:20 +0000)]
Temporarily disable pypy-3.10-nightly

More issues, and not in my code.

10 months agoRestrict MacOS builds to fewer Python versions
Iustin Pop [Mon, 5 Feb 2024 21:14:35 +0000 (21:14 +0000)]
Restrict MacOS builds to fewer Python versions

Per https://github.com/iustin/pyxattr/actions/runs/7778373717, not all versions are available on MacOS 14, so restrict to a smaller set. I don't think that extensive (across Python versions) on MacOS brings much, if the base Linux job does that.

10 months agoSwitch the MacOS runner to macos-14
Iustin Pop [Mon, 5 Feb 2024 01:33:47 +0000 (02:33 +0100)]
Switch the MacOS runner to macos-14

Thanks to Twitter, learned about the new M1 runners, and such a small change is even doable on my phone ðŸ˜€

10 months agoMinimal README changes to trigger doc rebuild
Iustin Pop [Sun, 4 Feb 2024 23:49:21 +0000 (23:49 +0000)]
Minimal README changes to trigger doc rebuild

10 months agoSwitch from recommonmark to myst
Iustin Pop [Sun, 4 Feb 2024 23:39:17 +0000 (23:39 +0000)]
Switch from recommonmark to myst

This addresses issue #43.

10 months agoRemove obsolete gcov arg to codecov action
Iustin Pop [Sun, 4 Feb 2024 23:22:37 +0000 (23:22 +0000)]
Remove obsolete gcov arg to codecov action

This is replaced by the plugin arg, which by default runs all.

10 months agoSwitch to codecov v4
Iustin Pop [Sun, 4 Feb 2024 23:16:32 +0000 (23:16 +0000)]
Switch to codecov v4

10 months agoBump GitHub CI actions version for nodejs deprecation
Iustin Pop [Tue, 30 Jan 2024 22:20:32 +0000 (23:20 +0100)]
Bump GitHub CI actions version for nodejs deprecation

11 months agoAdd ko-fi support info
Iustin Pop [Sun, 7 Jan 2024 16:43:04 +0000 (17:43 +0100)]
Add ko-fi support info

11 months agoreadthedocs: actually build the module to enable docs
Iustin Pop [Thu, 4 Jan 2024 21:56:13 +0000 (22:56 +0100)]
readthedocs: actually build the module to enable docs

Oops. Without this, the docs are empty...

11 months agoAdd requirements for readthedocs builds
Iustin Pop [Thu, 4 Jan 2024 21:50:40 +0000 (22:50 +0100)]
Add requirements for readthedocs builds

11 months agoFixup path to sphinx config file in readthedocs.yaml
Iustin Pop [Thu, 4 Jan 2024 21:41:55 +0000 (22:41 +0100)]
Fixup path to sphinx config file in readthedocs.yaml

11 months agoAdd a readthedocs config file (finally)
Iustin Pop [Thu, 4 Jan 2024 21:39:55 +0000 (22:39 +0100)]
Add a readthedocs config file (finally)

This is long needed, not sure how I missed it. Based on
https://docs.readthedocs.io/en/stable/config-file/.

12 months agoGitHub CI: ensure setuptools is installed
Iustin Pop [Sun, 17 Dec 2023 21:30:25 +0000 (22:30 +0100)]
GitHub CI: ensure setuptools is installed

Looks like setuptools is no longer installed by default on recent
Python versions - 3.12 more precisely:
https://github.com/iustin/pyxattr/actions/runs/7236053321/job/19714175539,
which says:

```
Run python ./setup.py build_ext -i
Traceback (most recent call last):
  File "/Users/runner/work/pyxattr/pyxattr/./setup.py", line 5, in <module>
    from setuptools import setup, Extension
ModuleNotFoundError: No module named 'setuptools'
```

So let's explicitly install it for CI runs.

12 months agoUpdate action versions to latest
Iustin Pop [Fri, 24 Nov 2023 18:52:07 +0000 (18:52 +0000)]
Update action versions to latest

This gets out of the outdated node 12 issue
 (https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/).

12 months agoExpand python versions in CI action
Iustin Pop [Fri, 24 Nov 2023 16:09:10 +0000 (16:09 +0000)]
Expand python versions in CI action

Add more recent Python versions, and replace pypy-3.9
with -nightly, and add 3.10-nightly. This is per issue 41.

20 months agoBump version number for the 0.8.1 release v0.8.1
Iustin Pop [Mon, 17 Apr 2023 21:57:16 +0000 (23:57 +0200)]
Bump version number for the 0.8.1 release

20 months agoConvert the NEWS file to markdown
Iustin Pop [Mon, 17 Apr 2023 21:55:22 +0000 (23:55 +0200)]
Convert the NEWS file to markdown

Let's try to remove all non-required rST files.

20 months agoBump changelog for new version
Iustin Pop [Mon, 17 Apr 2023 21:46:50 +0000 (23:46 +0200)]
Bump changelog for new version

20 months agoInclude the two new symlinks in the sdist
Iustin Pop [Mon, 17 Apr 2023 21:42:18 +0000 (23:42 +0200)]
Include the two new symlinks in the sdist

Otherwise distcheck fails - should probably move distcheck to a
GitHub job…

20 months agoReadme: make internal links consistent
Iustin Pop [Mon, 17 Apr 2023 21:34:19 +0000 (23:34 +0200)]
Readme: make internal links consistent

Sadly these can't be real relative links, since that breaks doc
generation…

20 months agoAdd a CONTRIBUTING.md file
Iustin Pop [Mon, 17 Apr 2023 21:07:31 +0000 (23:07 +0200)]
Add a CONTRIBUTING.md file

I was not sure this is really useful, but after writing it, definitely
so. At least I finally documented the release steps ðŸ˜…

20 months agoMakefile: add Python 3.11
Iustin Pop [Mon, 17 Apr 2023 20:43:51 +0000 (22:43 +0200)]
Makefile: add Python 3.11

This is less and less used given GitHub actions, but…

20 months agoReplace remaining http URLs with secure versions
Iustin Pop [Mon, 17 Apr 2023 20:34:03 +0000 (22:34 +0200)]
Replace remaining http URLs with secure versions

20 months agoAdd badge/link to the OpenSSF Best Practices status
Iustin Pop [Sun, 16 Apr 2023 20:21:46 +0000 (22:21 +0200)]
Add badge/link to the OpenSSF Best Practices status

20 months agoAdd note about GitHub vulnerability reporting
Iustin Pop [Sun, 16 Apr 2023 15:38:55 +0000 (17:38 +0200)]
Add note about GitHub vulnerability reporting

20 months agoAdd a simple security policy
Iustin Pop [Sun, 16 Apr 2023 15:34:55 +0000 (17:34 +0200)]
Add a simple security policy

20 months agoRestrict permissions for github token
Iustin Pop [Sun, 16 Apr 2023 15:19:50 +0000 (17:19 +0200)]
Restrict permissions for github token

20 months agoUpdate refs after master→main rename
Iustin Pop [Sun, 16 Apr 2023 14:52:58 +0000 (16:52 +0200)]
Update refs after master→main rename

Why not.

20 months agoActually fix the badge URL
Iustin Pop [Sun, 16 Apr 2023 10:31:38 +0000 (12:31 +0200)]
Actually fix the badge URL

20 months agoFix badge routes for build action
Iustin Pop [Sun, 16 Apr 2023 09:52:31 +0000 (11:52 +0200)]
Fix badge routes for build action

20 months agoStop trying to store coverage reports as artifacts
Iustin Pop [Sun, 16 Apr 2023 09:42:35 +0000 (11:42 +0200)]
Stop trying to store coverage reports as artifacts

Codecov doesn't support this anymore, so remove the keyword and the
upload action.

20 months agoEnable gcov explicitly
Iustin Pop [Sun, 16 Apr 2023 09:41:57 +0000 (11:41 +0200)]
Enable gcov explicitly

codecov@v1 didn't need this, v3 does, otherwise no reports are
generated.

20 months agoTry trivial replacement of the codecov uploader with v3
Iustin Pop [Sun, 16 Apr 2023 09:16:47 +0000 (11:16 +0200)]
Try trivial replacement of the codecov uploader with v3

Not sure if this will work as-is, but will test.

2 years agoFix min python version in setup.py
Iustin Pop [Mon, 12 Dec 2022 21:58:44 +0000 (22:58 +0100)]
Fix min python version in setup.py

This controls the metadata on pypi, sigh.

2 years agoBump version for new 0.8.0 release v0.8.0
Iustin Pop [Mon, 12 Dec 2022 21:36:54 +0000 (22:36 +0100)]
Bump version for new 0.8.0 release

2 years agoStop unconditionally importing distutils
Iustin Pop [Mon, 12 Dec 2022 21:35:17 +0000 (22:35 +0100)]
Stop unconditionally importing distutils

distutils is fully deprecated and will stop working in 3.12, so just
stop the unconditional import. The conditional one remains, and that
favours setuptools. Everything still works the same.

2 years agoFix source archives and distcheck builds
Iustin Pop [Mon, 12 Dec 2022 21:33:56 +0000 (22:33 +0100)]
Fix source archives and distcheck builds

… after commit c9283c89 removed the symlinks under doc. This is not
perfect, as the files are not included as symlinks, but duplicated,
but meh, a fix for another day.

2 years agoRe-wrap README
Iustin Pop [Mon, 12 Dec 2022 21:22:06 +0000 (22:22 +0100)]
Re-wrap README

Sigh, VS code only *visually* wraps. Lesson learned :)

2 years agoMakefile: drop py<3.7, add 3.10
Iustin Pop [Wed, 12 Oct 2022 19:40:39 +0000 (22:40 +0300)]
Makefile: drop py<3.7, add 3.10

The Makefile has a home-grown multi-Python test setup, and that wasn't updated when the CI was switched to 3.7+. This fixes that inconsistency.

2 years agoCI: Drop old installTyping flag
Iustin Pop [Wed, 12 Oct 2022 18:59:33 +0000 (21:59 +0300)]
CI: Drop old installTyping flag

No longer needed since Python 3.4 is not tested anymore.

2 years agoCI: Bump cache key version
Iustin Pop [Wed, 12 Oct 2022 18:57:36 +0000 (21:57 +0300)]
CI: Bump cache key version

This is needed due to pip changes - sphinx and recommonmark are not cached, and this leads to extra work during setup.

2 years agoInstall recommonmark too
Iustin Pop [Wed, 12 Oct 2022 18:48:02 +0000 (21:48 +0300)]
Install recommonmark too

Just learned that this is deprecated, but let's get the doc CI going, and then do the change - it will actually be tested.

2 years agoCI: Run doc builds too
Iustin Pop [Wed, 12 Oct 2022 18:41:48 +0000 (21:41 +0300)]
CI: Run doc builds too

This would better live in a separate CI run, since we don't care so much about all OS builds, but let's how much it adds.

2 years agoRefresh the README
Iustin Pop [Mon, 10 Oct 2022 20:16:59 +0000 (23:16 +0300)]
Refresh the README

This updates the list of supported Python versions (since I can't test with Python 3.4 anymore), and adds a bit more details about dependencies needed for building from source - fixes #33.

2 years agoProperly handle module refcount during init errors
Iustin Pop [Mon, 10 Oct 2022 19:52:33 +0000 (22:52 +0300)]
Properly handle module refcount during init errors

Together with the commit in #36, this should fix #35.

2 years agoDon't leak temporary tuples in get_all() (#36)
Iustin Pop [Sun, 9 Oct 2022 21:07:06 +0000 (00:07 +0300)]
Don't leak temporary tuples in get_all() (#36)

Issue #35 found two instances of memory leaks. This fixes the first one, which arguably is a more realistic case.

2 years agoAllow triggering workflows runs manually
Iustin Pop [Sun, 9 Oct 2022 19:53:25 +0000 (22:53 +0300)]
Allow triggering workflows runs manually

2 years agoSwitch CI images to newest and drop Python < 3.7
Iustin Pop [Sun, 9 Oct 2022 19:37:08 +0000 (22:37 +0300)]
Switch CI images to newest and drop Python < 3.7

The Ubuntu 18 image with Python 3.4 is going away soon. Python 3.6 is no longer supported on newest Ubuntu *and* MacOS, so let's just switch the CI image to newer versions. If this makes the CI pass again, I'll bump supported Python versions.

3 years agoUpdate CI schedule to include periodic runs
Iustin Pop [Sun, 6 Jun 2021 19:01:08 +0000 (21:01 +0200)]
Update CI schedule to include periodic runs

… and also trigger on pull requests.

3 years agoEnable PyPy runs as well
Iustin Pop [Sat, 5 Jun 2021 16:05:30 +0000 (18:05 +0200)]
Enable PyPy runs as well

Switch the 'python-version' key to expanded, since it's too long
now. Also enable fail-fast, as otherwise too much time is spent
testing passing things.

Note that pypy supports a smaller range of versions (which is in a way
good, too many tests otherwise).

3 years agoEnable Python 3.10 builds
Iustin Pop [Sat, 5 Jun 2021 15:54:47 +0000 (17:54 +0200)]
Enable Python 3.10 builds

Let's get early warning…

3 years agoEnable MacOS builds
Iustin Pop [Sat, 5 Jun 2021 02:30:44 +0000 (04:30 +0200)]
Enable MacOS builds

Travis was not supporting them, but apparently GitHub Actions do?
Let's try.

3 years agoSkip user symlink test on MacOSX
Iustin Pop [Sat, 5 Jun 2021 02:53:43 +0000 (04:53 +0200)]
Skip user symlink test on MacOSX

Apparently MacOS doesn't have the same limitation (feature?) as Linux
of preventing regular users from settings xattrs on symlinks, so let's
skip this test on it (MacOS).

3 years agoStore codecov output as an artifact
Iustin Pop [Sat, 5 Jun 2021 02:24:58 +0000 (04:24 +0200)]
Store codecov output as an artifact

3 years agoStop uploading to coveralls
Iustin Pop [Sat, 5 Jun 2021 02:20:15 +0000 (04:20 +0200)]
Stop uploading to coveralls

This allows significant cleanup as we don't need anymore a post-job
and we can drop lcov installation/processing. Codecov is switched back
in gcov mode.

3 years agoRemove auto-detection of optimal buffer size
Iustin Pop [Sat, 5 Jun 2021 01:46:48 +0000 (03:46 +0200)]
Remove auto-detection of optimal buffer size

Since we don't pass zero anymore, this code is never called. Replace
it with 'zero means hardcoded initial value', since that hardcoded
value is what we were already passing, and change all the callers to
pass in zero (as 'auto-compute' again) instead, for simplicity.

3 years agoCodecov: disable gcov
Iustin Pop [Sat, 5 Jun 2021 00:53:24 +0000 (02:53 +0200)]
Codecov: disable gcov

Coverage informatio is already processed by lcov, so let's use that
directly. Should behave more close to coveralls.

3 years agoName codecov uploads by the Python version
Iustin Pop [Sat, 5 Jun 2021 00:41:29 +0000 (02:41 +0200)]
Name codecov uploads by the Python version

This way the artifacts in codecov are much clearer.

3 years agoRemove verbose from the codecov action
Iustin Pop [Sat, 5 Jun 2021 00:26:13 +0000 (02:26 +0200)]
Remove verbose from the codecov action

3 years agoUpdate README to point to github actions and badge
Iustin Pop [Sat, 5 Jun 2021 00:22:19 +0000 (02:22 +0200)]
Update README to point to github actions and badge

… instead of Travis.

3 years agoShorten the name of the CI
Iustin Pop [Sat, 5 Jun 2021 00:08:28 +0000 (02:08 +0200)]
Shorten the name of the CI

3 years agoRemove the travis config
Iustin Pop [Sat, 5 Jun 2021 00:07:37 +0000 (02:07 +0200)]
Remove the travis config

GitHub Actions seems pretty stable now, let's switch over.

3 years agoEnable codecov as well
Iustin Pop [Sat, 5 Jun 2021 00:00:46 +0000 (02:00 +0200)]
Enable codecov as well

3 years agoEnable coverage and coveralls upload in github actions
Iustin Pop [Fri, 4 Jun 2021 23:31:33 +0000 (01:31 +0200)]
Enable coverage and coveralls upload in github actions

3 years agoInitial github actions-based continous build
Iustin Pop [Fri, 4 Jun 2021 22:46:55 +0000 (00:46 +0200)]
Initial github actions-based continous build

Preparing to migrate from Travis…

4 years agoStore doc/readme and doc/news in the git repo
Iustin Pop [Sun, 6 Dec 2020 14:07:35 +0000 (15:07 +0100)]
Store doc/readme and doc/news in the git repo

… instead of rebuilding them every time. This is in order to fix the
readthedocs "build", since it only builds docs (via sphinx) but
doesn't run the actual build.

4 years agoRemove compatibility with old recommonmark versions
Iustin Pop [Sun, 29 Nov 2020 19:50:06 +0000 (20:50 +0100)]
Remove compatibility with old recommonmark versions

It's hard trying to keep compatibility with both very old (<1.8),
old (1.8) and modern (Sphinx), while also supporting old recommonmark;
recommonmark 0.5 was released in January 2019.

So let's drop the old support and just keep support for Sphinx 1.8 and
3.0+, and more modern recommonmark.

4 years agoRelease version 0.7.2 v0.7.2
Iustin Pop [Sun, 29 Nov 2020 19:19:04 +0000 (20:19 +0100)]
Release version 0.7.2

4 years agoAdd recommonmark to sphinx extensions
Iustin Pop [Sun, 29 Nov 2020 19:38:33 +0000 (20:38 +0100)]
Add recommonmark to sphinx extensions

With Sphinx 3.0+, the old way of enabling markdown is completely
broken, so without this the documentation is not really working…

4 years agoRun Python 3.9 tests too
Iustin Pop [Sun, 29 Nov 2020 12:09:14 +0000 (13:09 +0100)]
Run Python 3.9 tests too

Both locally and on travis.

4 years ago[Fixed] typo in readme.md
Anubhav Choudhary [Fri, 9 Oct 2020 04:55:00 +0000 (10:25 +0530)]
[Fixed] typo in readme.md

`sudo install python3-pyxattr` changed to `sudo apt install python3-pyxattr`

5 years agoFix travis config after tests rename
Iustin Pop [Tue, 26 Nov 2019 21:28:48 +0000 (22:28 +0100)]
Fix travis config after tests rename

5 years agoRename test/ → tests/
Iustin Pop [Tue, 26 Nov 2019 21:17:09 +0000 (22:17 +0100)]
Rename test/ â†’ tests/

More consistency between my packages

5 years agoAdd unreleased changelog
Iustin Pop [Tue, 26 Nov 2019 21:14:55 +0000 (22:14 +0100)]
Add unreleased changelog

5 years agoRework and expand the mixed access test
Iustin Pop [Tue, 26 Nov 2019 21:13:24 +0000 (22:13 +0100)]
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.

5 years agosetup.py: add one more classifier topic
Iustin Pop [Tue, 26 Nov 2019 20:49:51 +0000 (21:49 +0100)]
setup.py: add one more classifier topic

5 years agoTests: ensure resources as closed in subject tests
Iustin Pop [Tue, 26 Nov 2019 20:48:28 +0000 (21:48 +0100)]
Tests: ensure resources as closed in subject tests

A bit of boilerplate, but gets rid of the leaking FD problem.

5 years agoBump version for 0.7.1 release… v0.7.1
Iustin Pop [Tue, 26 Nov 2019 03:37:33 +0000 (04:37 +0100)]
Bump version for 0.7.1 release…

5 years agoOops, fix bug tracker link
Iustin Pop [Tue, 26 Nov 2019 03:35:22 +0000 (04:35 +0100)]
Oops, fix bug tracker link

5 years agoBump version numbers for new release v0.7.0
Iustin Pop [Tue, 26 Nov 2019 03:29:12 +0000 (04:29 +0100)]
Bump version numbers for new release

No sense in waiting more, this is good conversion to Python 3 +
feature request + a bug fix.

5 years agoSwitch coverage badge to codecov
Iustin Pop [Tue, 26 Nov 2019 03:26:23 +0000 (04:26 +0100)]
Switch coverage badge to codecov

Still issues with merging reports in coveralls.

5 years agoCheck return value from PyList_Append
Iustin Pop [Tue, 26 Nov 2019 03:18:35 +0000 (04:18 +0100)]
Check return value from PyList_Append

This fixes the correctness aspect of #17, although not the entire
point.

5 years agoExpand setup.py configuration
Iustin Pop [Tue, 26 Nov 2019 03:05:42 +0000 (04:05 +0100)]
Expand setup.py configuration

The current pypi project page is somewhat bare… and shields.io can't
extract metadata from it.

5 years agoRun tests on file io streams as well
Iustin Pop [Tue, 26 Nov 2019 03:05:26 +0000 (04:05 +0100)]
Run tests on file io streams as well

5 years agoAdd support for Path-like objects in Python 3.6+
Iustin Pop [Tue, 26 Nov 2019 02:36:40 +0000 (03:36 +0100)]
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.

5 years agoStart updating NEWS for upcoming release
Iustin Pop [Tue, 26 Nov 2019 02:34:06 +0000 (03:34 +0100)]
Start updating NEWS for upcoming release

Otherwise I forget what's in :)

5 years agoSwitch namespace_none test to check all calls
Iustin Pop [Tue, 26 Nov 2019 02:24:42 +0000 (03:24 +0100)]
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.

5 years agoTravis: cache codecov as well
Iustin Pop [Mon, 25 Nov 2019 04:35:17 +0000 (05:35 +0100)]
Travis: cache codecov as well

Since it's anyway installed.

5 years agoRun name tests as (encoded) bytes too
Iustin Pop [Mon, 25 Nov 2019 04:19:32 +0000 (05:19 +0100)]
Run name tests as (encoded) bytes too

5 years agoTests: remove_on_missing applies to symlinks as well
Iustin Pop [Mon, 25 Nov 2019 04:12:45 +0000 (05:12 +0100)]
Tests: remove_on_missing applies to symlinks as well

5 years agoTests: small py3 cleanup
Iustin Pop [Mon, 25 Nov 2019 04:12:25 +0000 (05:12 +0100)]
Tests: small py3 cleanup

5 years agoRemove support for Python 2 in the extension module
Iustin Pop [Mon, 25 Nov 2019 04:04:20 +0000 (05:04 +0100)]
Remove support for Python 2 in the extension module

Simplifies a bit the code, but not much (yet?).

5 years agoDisable MacOS builds
Iustin Pop [Mon, 25 Nov 2019 04:00:52 +0000 (05:00 +0100)]
Disable MacOS builds

Apparently Python is not actually supported, so the Python 2 builds
were working by accident. Sigh sigh sigh…

5 years agoMakefile: add a simpler test target
Iustin Pop [Mon, 25 Nov 2019 03:56:19 +0000 (04:56 +0100)]
Makefile: add a simpler test target

5 years agoSplit the other monolitic test function
Iustin Pop [Mon, 25 Nov 2019 03:47:18 +0000 (04:47 +0100)]
Split the other monolitic test function

Yay, cleaner now. But lots of many test invocations :)

5 years agoSplit the monolithic ListSetGetDeprecated test
Iustin Pop [Mon, 25 Nov 2019 03:43:48 +0000 (04:43 +0100)]
Split the monolithic ListSetGetDeprecated test

The failure modes are better tested separately, and leave this main
test as set-get-remove simple test.

5 years agoIntroduce an any_subject fixture which includes symlinks
Iustin Pop [Mon, 25 Nov 2019 03:38:59 +0000 (04:38 +0100)]
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.