Hi, Looks good, however in review I wonder if we should print the os error in each case? Something like:
except IOError as e: raise error.general('Could not list files: %s: %s' % (path, str(e))) If we do this would it also make sense to update `mkdir`? Something like: except OSError as e: raise error.general('cannot make directory: %s: %s' % (path, str(e))) Thanks Chris On 19/5/19 9:56 pm, Vijay Kumar Banerjee wrote: > --- > 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..9051bb5 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 for path: %s' % > (path)) > + except OSError: > + raise error.general('Could not list files for path: %s' % > (path)) > + except WindowsError: > + raise error.general('Could not list files for path: %s' % > (path)) > + else: > + try: > + files = os.listdir(host(path)) > + except IOError: > + raise error.general('Could not list files for path: %s' % > (path)) > + except OSError: > + raise error.general('Could not list files for path: %s' % > (path)) > + > + 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)) > _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel