zfs-check broken pipe handling tests

This commit is contained in:
Edwin Eefting
2022-02-21 12:31:19 +01:00
parent ed61f03b4b
commit 3e6a327647
5 changed files with 25 additions and 8 deletions

View File

@ -2,7 +2,7 @@ import time
import argparse
from signal import signal, SIGPIPE
from .util import output_redir
from .util import output_redir, sigpipe_handler
from .ZfsAuto import ZfsAuto
@ -492,7 +492,7 @@ class ZfsAutobackup(ZfsAuto):
def cli():
import sys
signal(SIGPIPE, output_redir)
signal(SIGPIPE, sigpipe_handler)
sys.exit(ZfsAutobackup(sys.argv[1:], False).run())

View File

@ -1,6 +1,6 @@
# from util import activate_volume_snapshot, create_mountpoints, cleanup_mountpoint
from signal import signal, SIGPIPE
from .util import output_redir
from .util import output_redir, sigpipe_handler
from .ZfsAuto import ZfsAuto
from .ZfsNode import ZfsNode
@ -305,7 +305,7 @@ class ZfsAutoverify(ZfsAuto):
def cli():
import sys
signal(SIGPIPE, output_redir)
signal(SIGPIPE, sigpipe_handler)
sys.exit(ZfsAutoverify(sys.argv[1:], False).run())

View File

@ -147,8 +147,7 @@ class ZfsCheck(CliBase):
def cli():
import sys
signal(SIGPIPE, output_redir)
signal(SIGPIPE, sigpipe_handler)
sys.exit(ZfsCheck(sys.argv[1:], False).run())

View File

@ -21,6 +21,7 @@ import sys
import time
def block_hash(fname, count=10000, bs=4096):
"""This function was created to checksum huge files and blockdevices (TB's)
Instead of one sha1sum of the whole file, it generates sha1susms of chunks of the file.
@ -100,3 +101,6 @@ def output_redir():
os.dup2(devnull, sys.stdout.fileno())
os.dup2(devnull, sys.stderr.fileno())
def sigpipe_handler(sig, stack):
#redir output so we dont get more SIGPIPES during cleanup. (which my try to write to stdout)
output_redir()