diff options
| author | tassaron | 2022-04-22 17:10:35 -0400 |
|---|---|---|
| committer | tassaron | 2022-04-22 17:10:35 -0400 |
| commit | a42ea1cd69fcf3f6c1b2ff79871cd00f24b95118 (patch) | |
| tree | 781fc61b053ea33bb7217ba607359b7bf120a337 /src/command.py | |
| parent | 05d2ebc3c69f5a876d602004f69202c5ba8b09f7 (diff) | |
add commandline option for tests. add first tests
Diffstat (limited to 'src/command.py')
| -rw-r--r-- | src/command.py | 39 |
1 files changed, 32 insertions, 7 deletions
diff --git a/src/command.py b/src/command.py index cd3c6c3..49026c6 100644 --- a/src/command.py +++ b/src/command.py @@ -9,21 +9,33 @@ import os import sys import time import signal +import logging -from core import Core +from . import core + + +log = logging.getLogger('AVP.Commandline') class Command(QtCore.QObject): + """ + This replaces the GUI MainWindow when in commandline mode. + """ createVideo = QtCore.pyqtSignal() def __init__(self): QtCore.QObject.__init__(self) - self.core = Core() - Core.mode = 'commandline' + self.core = core.Core() + core.Core.mode = 'commandline' self.dataDir = self.core.dataDir self.canceled = False + self.settings = core.Core.settings + + # ctrl-c stops the export thread + signal.signal(signal.SIGINT, self.stopVideo) + def parseArgs(self): self.parser = argparse.ArgumentParser( description='Create a visualization for an audio file', epilog='EXAMPLE COMMAND: main.py myvideotemplate.avp ' @@ -32,6 +44,10 @@ class Command(QtCore.QObject): '-c 1 video "preset=My Logo" -c 2 vis layout=classic' ) self.parser.add_argument( + '-t', '--test', action='store_true', + help='run tests and generate a logfile to report a bug' + ) + self.parser.add_argument( '-i', '--input', metavar='SOUND', help='input audio file' ) @@ -55,7 +71,10 @@ class Command(QtCore.QObject): nargs='*', action='append') self.args = self.parser.parse_args() - self.settings = Core.settings + + if self.args.test: + self.runTests() + quit(0) if self.args.projpath: projPath = self.args.projpath @@ -92,9 +111,6 @@ class Command(QtCore.QObject): for arg in args: self.core.selectedComponents[i].command(arg) - # ctrl-c stops the export thread - signal.signal(signal.SIGINT, self.stopVideo) - if self.args.export and self.args.projpath: errcode, data = self.core.parseAvFile(projPath) for key, value in data['WindowFields']: @@ -188,3 +204,12 @@ class Command(QtCore.QObject): return return None + + def runTests(self): + core.FILE_LOGLVL = logging.DEBUG + from . import tests + test_report = os.path.join(core.Core.logDir, "test_report.log") + tests.run(test_report) + with open(test_report, "r") as f: + output = f.readlines() + print("".join(output)) |
