@@ -22,6 +22,7 @@ def handle_argv():
import argparse
parser = argparse.ArgumentParser(description='Hda-emu automated test wrapper.')
parser.add_argument('--file', dest='file', required=True, help='alsa-info filename')
+ parser.add_argument('--codec-index', dest='codecindex', default=0, help='what codec to test')
parser.add_argument('--print-errors', dest='print_errors', action="store_true",
default=False, help='print errors, and the command that caused it')
parser.add_argument('--comm-log', dest='comm_log', action="store_true",
@@ -34,6 +35,7 @@ def run_test(argv):
result.set_print_errors(argv.print_errors)
result.set_comm_log_enabled(argv.comm_log)
result.set_alsa_info_file(argv.file)
+ result.set_codec_index(argv.codecindex)
result.run_standard()
return result
@@ -20,6 +20,9 @@ import subprocess
import os
import re
+class HdaEmuFatalError(Exception):
+ pass
+
class ControlInfo():
def __init__(self, runner, list_info):
self.runner = runner
@@ -48,15 +51,20 @@ class HdaEmuRunner():
def __init__(self):
import os.path
hda_emu_path = os.path.join(os.path.dirname(os.path.realpath(__file__)),"../hda-emu")
- self.child_args = '"' + hda_emu_path + '" -M -F'
+ self.child_args = '"' + hda_emu_path + '" -M -F -i'
self.alsa_info = "/proc/asound/card0/codec#0"
self.errors = 0
self.warnings = 0
self.fatals = 0
+ self.codec_index = 0
self.print_errors = False
+ self.error_list = []
self.comm_log_enabled = False
self.last_command = None
+ def set_codec_index(self, codec_index):
+ self.codec_index = codec_index
+
def set_alsa_info_file(self, filename):
self.alsa_info = filename
@@ -71,6 +79,7 @@ class HdaEmuRunner():
from subprocess import PIPE, STDOUT
args = shlex.split(self.child_args)
+ args.append(str(self.codec_index))
args.append(self.alsa_info)
self.child = subprocess.Popen(args, bufsize=0, stdin=PIPE, stdout=PIPE, stderr=PIPE)
@@ -82,6 +91,7 @@ class HdaEmuRunner():
self.child = None
def add_error(self, message, severity):
+ self.error_list.append(message)
if severity == "Warning":
self.warnings += 1
else:
@@ -97,7 +107,7 @@ class HdaEmuRunner():
self.last_command_printed = True
print " ", message
if self.fatals > 0:
- raise Exception(message)
+ raise HdaEmuFatalError(message)
def check_stdout(self):
s = os.read(self.child.stdout.fileno(), 65536)
Also improve runner's error handling a little. Signed-off-by: David Henningsson <david.henningsson@canonical.com> --- tester/hda-emu-tester.py | 2 ++ tester/runner.py | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-)