Skip to content

Commit

Permalink
use pytest-qt to test actual export process
Browse files Browse the repository at this point in the history
  • Loading branch information
tassaron committed May 10, 2022
1 parent aee06dc commit 07b847e
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import logging


__version__ = '2.0.0-b2'
__version__ = '2.0.0'


class Logger(logging.getLoggerClass()):
Expand Down
30 changes: 30 additions & 0 deletions src/tests/test_commandline_export.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import sys
import os
import tempfile
from ..command import Command
from . import getTestDataPath
from pytestqt import qtbot


def test_commandline_classic_export(qtbot):
'''Run Qt event loop and create a video in the system /tmp or /temp'''
soundFile = getTestDataPath("test.ogg")
outputDir = tempfile.mkdtemp(prefix="avp-test-")
outputFilename = os.path.join(outputDir, "output.mp4")
sys.argv = ['', '-c', '0', 'classic', '-i', soundFile, '-o', outputFilename]

command = Command()
command.quit = lambda _: None
command.parseArgs()
# Command object now has a video_thread Worker which is exporting the video

with qtbot.waitSignal(command.worker.videoCreated, timeout=10000):
'''
Wait until videoCreated is emitted by the video_thread Worker
or until 10 second timeout has passed
'''
sys.__stdout__.write(f"Test Video created at {outputFilename}")

assert os.path.exists(outputFilename)
# output video should be at least 200kb
assert os.path.getsize(outputFilename) > 200000

0 comments on commit 07b847e

Please sign in to comment.