Commit Briefs
Add fault injection with wrong storage capacity (ligurio/gh-62)
Closes #62
Add fault injection with 1-byte reads (ligurio/gh-86)
Closes #86
Move error injection structures to compilation unit
Required for #86
Fix disabled tests on FreeBSD
Commit "Use generic os name in tests" (1f70f876d670704bd0422fe1e27d12177b189527) accidentally disabled testing on FreeBSD by adding double negation to condition that enables code for operating systems with fusermount(1). However fusermount(1) is not available on FreeBSD and therefore all regression tests were skipped. Fixes #93
Fix manual pages paths
Closes #90
Fix building on FreeBSD (tags/0.2.0)
Cirrus CI on FreeBSD failed because "No packages available to install matching 'py37-pip' have been found in the repositories"i [1]. Package 'py37-pip' has been replaced with 'py38-pip', see [2]. 1. https://cirrus-ci.com/task/6375178809638912 2. https://www.freshports.org/devel/py-pip/
Introduce Lua rockspec
Closes #88
cmake: add install target
Part of #88
Add Ubuntu 21.04 with Clang 12 and GCC 10
Follows up #77
Fix multiple definition of conf variable
FAILED: unreliablefs : && /usr/bin/cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fstack-protector-strong CMakeFiles/unreliablefs.dir/conf.c.o CMakeFiles/unreliablefs.dir/unreliablefs.c.o CMakeFiles/unreliablefs.dir/unreliablefs_errinj.c.o CMakeFiles/unreliablefs.dir/unreliablefs_ops.c.o -o unreliablefs -Wl,-rpath,/usr/local/lib /usr/local/lib/libfuse.so && : ld: error: duplicate symbol: conf >>> defined at unreliablefs.c >>> CMakeFiles/unreliablefs.dir/unreliablefs.c.o:(conf) >>> defined at unreliablefs_errinj.c >>> CMakeFiles/unreliablefs.dir/unreliablefs_errinj.c.o:(.bss+0x0) cc: error: linker command failed with exit code 1 (use -v to see invocation) Reported-by: Mateusz Piotrowski Closes #77
Publish test results on Cirrus CI
Cirrus CI allows to publish testing results in a web interface [1]. Patch specifies a path to JUnit report produced by PyTest in Cirrus CI config. 1. https://cirrus-ci.org/guide/writing-tasks/#artifact-parsing
Run regression tests using make target
Introduced `make pytest` that runs regression tests.
Exclude EINTEGRITY errno on FreeBSD < 12
EINTEGRITY errno is supported in FreeBSD release versions greater that 11.4 [1]. This patch excludes EINTEGRITY errno for FreeBSD versions that doesn't support it. To reduce a number of condition I keep a check of major version only. 1. https://reviews.freebsd.org/D18765 Closes #83
Use generic os name in tests
Closes #78
tests: add missed pytest.ini config
Commit "test: initial regression test suite" (b6eb75dfbb096742e0ae744ba8f04d07c8c4a47c) added initial regression test suite using pytest. However pytest should be use pytest.ini that was missed in described commit. This commit fixes it. Closes #80
readme: describe packages
Closes #79
readme: add references and similar projects (tags/0.1.0)
Closes #47
Add error injection with operation slowdown
Closes #29
Add error injection that returns random errno
Add a new fault injection that returns random errno supported by performed FUSE operation. The source of errnos for a POSIX function is a POSIX standard. Source of errnos for other functions are Linux, macOS, FreeBSD and OpenBSD manual pages. Closes #6
Use code instead of name for FUSE operation
In upcoming patch with implementation of fault injection that returns random errno we need to resolve FUSE operation and to make it easier error_inject() switched from using FUSE operation name to using operation code. Part of: #6
Add error injection that kills caller
Closes #28