From patchwork Fri May 25 15:58:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: leonardo.sandoval.gonzalez@linux.intel.com X-Patchwork-Id: 27504 Received: (qmail 106882 invoked by alias); 25 May 2018 15:58:40 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 106760 invoked by uid 89); 25 May 2018 15:58:40 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.4 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY autolearn=ham version=3.3.2 spammy=1735 X-HELO: mga17.intel.com X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 From: leonardo.sandoval.gonzalez@linux.intel.com To: libc-alpha@sourceware.org Cc: Leonardo Sandoval Subject: [PATCH 3/3] benchtests: Catch exceptions in input arguments Date: Fri, 25 May 2018 10:58:30 -0500 Message-Id: <20180525155830.6864-4-leonardo.sandoval.gonzalez@linux.intel.com> In-Reply-To: <20180525155830.6864-1-leonardo.sandoval.gonzalez@linux.intel.com> References: <20180525155830.6864-1-leonardo.sandoval.gonzalez@linux.intel.com> From: Leonardo Sandoval Catch runtime exceptions in case the user provided either wrong base function or attribute(s). In any of the latter, quit immediately with non-zero return code. * benchtests/scripts/compare_string.py: (process_results) Catch exception in non-existent base_func. (process_results) Catch exception in non-existent attribute. --- ChangeLog | 6 ++++++ benchtests/scripts/compare_strings.py | 16 ++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index cc3e50e3b8d..20d55a47759 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2018-05-25 Leonardo Sandoval + + * benchtests/scripts/compare_string.py: (process_results) Catch + exception in non-existent base_func. + (process_results) Catch exception in non-existent attribute + 2018-05-25 Leonardo Sandoval * benchtests/scripts/compare_string.py: Add --no-header option diff --git a/benchtests/scripts/compare_strings.py b/benchtests/scripts/compare_strings.py index c629bba77fa..077b53fa6c9 100755 --- a/benchtests/scripts/compare_strings.py +++ b/benchtests/scripts/compare_strings.py @@ -93,7 +93,12 @@ def process_results(results, attrs, base_func, graph, no_diff, no_header): base_index = 0 if base_func: - base_index = results['functions'][f]['ifuncs'].index(base_func) + try: + base_index = results['functions'][f]['ifuncs'].index(base_func) + except ValueError as ve: + sys.stderr.write('Invalid -b "%s" parameter. Options: %s.\n' % (base_func, + ', '.join(results['functions'][f]['ifuncs']))) + sys.exit(os.EX_DATAERR) if not no_header: print('Function: %s' % f) @@ -103,7 +108,12 @@ def process_results(results, attrs, base_func, graph, no_diff, no_header): graph_res = {} for res in results['functions'][f]['results']: - attr_list = ['%s=%s' % (a, res[a]) for a in attrs] + try: + attr_list = ['%s=%s' % (a, res[a]) for a in attrs] + except KeyError as ke: + sys.stderr.write('Invalid -a %s parameter. Options: %s.\n' % (ke, + ', '.join([a for a in res.keys() if a != 'timings']))) + sys.exit(os.EX_DATAERR) i = 0 key = ', '.join(attr_list) sys.stdout.write('%36s: ' % key) @@ -163,3 +173,5 @@ if __name__ == '__main__': args = parser.parse_args() main(args) + + return os.EX_OK