From 9f197dea76995fc2916884e341fb385775e39d2c Mon Sep 17 00:00:00 2001 From: Vijay Kumar Banerjee Date: Mon, 20 May 2019 16:53:51 +0530 Subject: rtemstoolkit/path : Add listdir function --- rtemstoolkit/path.py | 29 ++++++++++++++++++++++++++++- tester/rt/coverage.py | 4 ++-- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/rtemstoolkit/path.py b/rtemstoolkit/path.py index 2b569ae..6b63c8a 100644 --- a/rtemstoolkit/path.py +++ b/rtemstoolkit/path.py @@ -157,6 +157,33 @@ def expanduser(path): path = os.path.expanduser(path) return shell(path) +def listdir(path): + path = host(path) + files = [] + if not exists(path): + raise error.general('path does not exist : %s' % (path)) + elif not isdir(path): + raise error.general('path is not a directory: %s' % (path)) + else: + if windows: + try: + files = os.listdir(host(path)) + except IOError: + raise error.general('Could not list files: %s' % (path)) + except OSError as e: + raise error.general('Could not list files: %s: %s' % (path, str(e))) + except WindowsError as e: + raise error.general('Could not list files: %s: %s' % (path, str(e))) + else: + try: + files = os.listdir(host(path)) + except IOError: + raise error.general('Could not list files: %s' % (path)) + except OSError as e: + raise error.general('Could not list files: %s: %s' % (path, str(e))) + + return files + def collect_files(path_): # # Convert to shell paths and return shell paths. @@ -184,7 +211,7 @@ def copy_tree(src, dst): hdst = host(dst) if os.path.exists(src) and os.path.isdir(src): - names = os.listdir(src) + names = listdir(src) else: names = [basename(src)] src = dirname(src) diff --git a/tester/rt/coverage.py b/tester/rt/coverage.py index bdf3c5f..31e2cd7 100644 --- a/tester/rt/coverage.py +++ b/tester/rt/coverage.py @@ -215,7 +215,7 @@ class report_gen_html: for symbol_set in self.symbol_sets: symbol_set_dir = path.join(self.build_dir, self.bsp + '-coverage', symbol_set) - html_files = os.listdir(symbol_set_dir) + html_files = path.listdir(symbol_set_dir) for html_file in html_files: html_file = path.join(symbol_set_dir, html_file) if path.exists(html_file) and 'html' in html_file: @@ -291,7 +291,7 @@ class symbol_parser(object): config.add_section('symbol-sets') config.set('symbol-sets', 'sets', sset) config.add_section(sset) - object_files = [o for o in os.listdir(self.symbol_sets[sset]) if o[-1] == 'o'] + object_files = [o for o in path.listdir(self.symbol_sets[sset]) if o[-1] == 'o'] object_paths = [] for o in object_files: object_paths.append(path.join(self.symbol_sets[sset], o)) -- cgit v1.2.3