diff --git a/spec/vncserver_spec.py b/spec/vncserver_spec.py index 490ac67..6890258 100644 --- a/spec/vncserver_spec.py +++ b/spec/vncserver_spec.py @@ -3,22 +3,29 @@ import subprocess from mamba import description, context, it from expects import expect, equal + +def run_cmd(cmd): + completed_process = subprocess.run(cmd, shell=True, text=True, + capture_output=True, + executable='/bin/bash') + if completed_process.returncode != 0: + print(completed_process.stdout) + print(completed_process.stderr) + + return completed_process + + with description('vncserver') as self: with it('selects passed DE with -s'): - subprocess.run('echo -e "password\\npassword\\n" | vncpasswd -u docker', - shell=True, text=True, executable='/bin/bash') + completed_process = run_cmd('echo -e "password\\npassword\\n" | vncpasswd -u docker') + expect(completed_process.returncode).to(equal(0)) cmd = 'vncserver :1 -select-de mate -cert /etc/ssl/certs/ssl-cert-snakeoil.pem -key /etc/ssl/private/ssl-cert-snakeoil.key -sslOnly -FrameRate=24 -interface 0.0.0.0 -httpd /usr/share/kasmvnc/www -depth 24 -geometry 1280x1050' try: - completed_process = subprocess.run(cmd, shell=True, capture_output=True, - text=True, timeout=3) - if completed_process.returncode != 0: - print(completed_process.stdout) - print(completed_process.stderr) - expect(completed_process.returncode).to(equal(0)) + completed_process = run_cmd(cmd) expect(completed_process.returncode).to(equal(0)) - exitcode = os.system('grep -q mate ~/.vnc/xstartup') - expect(exitcode).to(equal(0)) + completed_process = run_cmd('grep -q mate ~/.vnc/xstartup') + expect(completed_process.returncode).to(equal(0)) finally: - subprocess.run('vncserver -kill :1', capture_output=True, shell=True, timeout=3) + run_cmd('vncserver -kill :1')