Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sysutils/fusefs-unreliablefs: Add new port
UnreliableFS is a FUSE-based fault injection filesystem that allows to change fault-injections in runtime using simple configuration file. Supported fault injections are: - errinj_errno - return error value and set random errno. - errinj_kill_caller - send SIGKILL to a process that invoked file operation. - errinj_noop - replace file operation with no operation (similar to libeatmydata, but applicable to any file operation). - errinj_slowdown - slowdown invoked file operation. WWW: https://github.com/ligurio/unreliablefs
- Loading branch information
Showing
4 changed files
with
64 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
PORTNAME= unreliablefs | ||
DISTVERSION= 0.1.0 | ||
CATEGORIES= sysutils | ||
PKGNAMEPREFIX= fusefs- | ||
|
||
MAINTAINER= 0mp@FreeBSD.org | ||
COMMENT= FUSE-based fault injection filesystem | ||
|
||
LICENSE= MIT | ||
LICENSE_FILE= ${WRKSRC}/LICENSE | ||
|
||
RUN_DEPENDS= fusefs-libs>=0:fusefs-libs | ||
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} \ | ||
fio:benchmarks/fio | ||
|
||
USES= cmake:testing fuse pkgconfig python:env | ||
USE_CSTD= c11 | ||
USE_GITHUB= yes | ||
GH_ACCOUNT= ligurio | ||
|
||
CFLAGS+= -fcommon | ||
|
||
PLIST_FILES= bin/${PORTNAME} \ | ||
share/man/man1/${PORTNAME}.1.gz \ | ||
share/man/man5/${PORTNAME}.conf.5.gz | ||
|
||
post-patch: | ||
# Upstream hardcodes FreeBSD release versions in order to skip some tests. We | ||
# need to adjust those to values as not all supported FreeBSD releases are | ||
# listed there. | ||
${REINPLACE_CMD} 's|freebsd12|freebsd${OSREL:R}|' \ | ||
${WRKSRC}/tests/util.py \ | ||
${WRKSRC}/tests/test_unreliablefs.py | ||
|
||
do-install: | ||
${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin | ||
${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${STAGEDIR}${PREFIX}/share/man/man1 | ||
${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.conf.5 ${STAGEDIR}${PREFIX}/share/man/man5 | ||
|
||
do-test: | ||
# The test suite assumes that the binaries are available in the ${WRKSRC}/build | ||
# directory, which is not the case here. | ||
${MKDIR} ${WRKSRC}/build/tests | ||
${RLN} ${INSTALL_WRKSRC}/${PORTNAME} ${WRKSRC}/build/ | ||
${RLN} ${INSTALL_WRKSRC}/tests/fsx ${WRKSRC}/build/tests | ||
cd ${WRKSRC} && ${SETENV} ${TEST_ENV} pytest --verbose -rxXs tests/ | ||
|
||
.include <bsd.port.mk> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
TIMESTAMP = 1625398764 | ||
SHA256 (ligurio-unreliablefs-0.1.0_GH0.tar.gz) = 4fc13b4cc4e947c72bd02c891b3be135083d57fba245a35808f9b2e039574074 | ||
SIZE (ligurio-unreliablefs-0.1.0_GH0.tar.gz) = 33789 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
UnreliableFS is a FUSE-based fault injection filesystem that allows to change | ||
fault-injections in runtime using simple configuration file. | ||
|
||
Supported fault injections are: | ||
|
||
- errinj_errno - return error value and set random errno. | ||
- errinj_kill_caller - send SIGKILL to a process that invoked file operation. | ||
- errinj_noop - replace file operation with no operation (similar to | ||
libeatmydata, but applicable to any file operation). | ||
- errinj_slowdown - slowdown invoked file operation. | ||
|
||
WWW: https://github.com/ligurio/unreliablefs |