From db9b70932b2e3e4df8b4bcdb24fedce042da15aa Mon Sep 17 00:00:00 2001 From: Andrei Zeliankou Date: Wed, 13 Jan 2021 06:24:26 +0000 Subject: [PATCH] Tests: waitformount() and waitforunmount() introduced. --- test/unit/utils.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/test/unit/utils.py b/test/unit/utils.py index 1307a4f6..7a0a3fe5 100644 --- a/test/unit/utils.py +++ b/test/unit/utils.py @@ -1,5 +1,6 @@ import os import socket +import subprocess import time import pytest @@ -49,6 +50,37 @@ def waitforsocket(port): pytest.fail('Can\'t connect to the 127.0.0.1:' + port) +def findmnt(): + try: + out = subprocess.check_output( + ['findmnt', '--raw'], stderr=subprocess.STDOUT + ).decode() + except FileNotFoundError: + pytest.skip('requires findmnt') + + return out + + +def waitformount(template, wait=50): + for i in range(wait): + if findmnt().find(template) != -1: + return True + + time.sleep(0.1) + + return False + + +def waitforunmount(template, wait=50): + for i in range(wait): + if findmnt().find(template) == -1: + return True + + time.sleep(0.1) + + return False + + def getns(nstype): # read namespace id from symlink file: # it points to: ':[]'