forked from TrueCloudLab/xk6-frostfs
41 lines
955 B
Python
41 lines
955 B
Python
import os
|
|
import shlex
|
|
import sys
|
|
|
|
from subprocess import check_output, CalledProcessError, STDOUT
|
|
|
|
|
|
def execute_cmd(cmd_line):
|
|
cmd_args = shlex.split(cmd_line)
|
|
|
|
try:
|
|
output = check_output(cmd_args, stderr=STDOUT).decode()
|
|
success = True
|
|
|
|
except CalledProcessError as e:
|
|
output = e.output.decode()
|
|
success = False
|
|
|
|
return output, success
|
|
|
|
|
|
def random_payload(file, size):
|
|
file.write(os.urandom(1024 * int(size)))
|
|
file.flush()
|
|
|
|
class ProgressBar:
|
|
@staticmethod
|
|
def start():
|
|
sys.stdout.write('\r\n\r\n')
|
|
|
|
@staticmethod
|
|
def print(current, goal):
|
|
finish_percent = current / goal
|
|
sys.stdout.write('\r')
|
|
sys.stdout.write(f" > Progress: [{'=' * int(30 * finish_percent)}{' ' * (29 - int(30 * finish_percent))}>]"
|
|
f" {current}/{goal}")
|
|
sys.stdout.flush()
|
|
|
|
@staticmethod
|
|
def end():
|
|
sys.stdout.write('\r\n\r\n')
|