X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=tests%2Fpdtest;h=158b3e03900bb895fd7fca21e360639f16a5559b;hb=fa62a8f9841955980a5a46e9aaedb62839e098dc;hp=e88317a3431c2dbb58794d6883e9960e143da311;hpb=b7e15e0e2c1fef3a938c84d79022098f8482920a;p=libsigrokdecode.git diff --git a/tests/pdtest b/tests/pdtest index e88317a..158b3e0 100755 --- a/tests/pdtest +++ b/tests/pdtest @@ -1,4 +1,22 @@ -#!/usr/bin/env /usr/bin/python3 +#!/usr/bin/env python3 +## +## This file is part of the libsigrokdecode project. +## +## Copyright (C) 2013 Bert Vermeulen +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see . +## import os import sys @@ -275,21 +293,22 @@ def run_tests(tests, fix=False): # message on stderr about it results[-1]['error'] = "Unknown error: runtc %d" % p.returncode if 'error' not in results[-1]: - match = os.path.join(decoders_dir, op['pd'], 'test', op['match']) + matchfile = os.path.join(decoders_dir, op['pd'], 'test', op['match']) + DBG("Comparing with %s" % matchfile) try: diff = diff_error = None if op['type'] in ('annotation', 'python'): - diff = diff_text(match, outfile) + diff = diff_text(matchfile, outfile) elif op['type'] == 'binary': - diff = compare_binary(match, outfile) + diff = compare_binary(matchfile, outfile) else: diff = ["Unsupported output type '%s'." % op['type']] except Exception as e: diff_error = e if fix: if diff or diff_error: - copy(outfile, match) - DBG("Wrote %s" % match) + copy(outfile, matchfile) + DBG("Wrote %s" % matchfile) else: if diff: results[-1]['diff'] = diff @@ -388,7 +407,7 @@ if len(sys.argv) == 1: opt_all = opt_run = opt_show = opt_list = opt_fix = False report_dir = None -opts, args = getopt(sys.argv[1:], "dvarslfRS:") +opts, args = getopt(sys.argv[1:], "dvarslfR:S:") for opt, arg in opts: if opt == '-d': DEBUG += 1 @@ -429,7 +448,7 @@ try: if not os.path.isdir(dumps_dir): ERR("Could not find sigrok-dumps repository at %s" % dumps_dir) sys.exit(1) - results, errors = run_tests(testlist) + results, errors = run_tests(testlist, fix=opt_fix) ret = errors elif opt_show: show_tests(testlist)