On Sun, 28 Oct 2018 at 21:54, Vijay Kumar Banerjee <vijaykumar9...@gmail.com> wrote:
> I could run with copy_tree using this workaround > > ======================================= > diff --git a/rtemstoolkit/path.py b/rtemstoolkit/path.py > index 760f4bd..df553b3 100644 > --- a/rtemstoolkit/path.py > +++ b/rtemstoolkit/path.py > @@ -191,10 +191,10 @@ def copy_tree(src, dst): > hsrc = host(src) > hdst = host(dst) > > - if os.path.exists(src): > + if os.path.exists(src) and os.path.isdir(src): > names = os.listdir(src) > else: > - name = [] > + names = [] > > if not os.path.isdir(dst): > os.makedirs(dst) > > ===================================== > > But there's still an issue with the file permission as it uses > copystat which > copies the permission bits which is not required in this case. > It requires a manual `rm` with root permission before rerunning the > coverage. > > ping :) On Sun, 28 Oct 2018 at 16:31, Vijay Kumar Banerjee <vijaykumar9...@gmail.com> > wrote: > >> >> >> >> On Sun, 28 Oct 2018 at 15:46, Chris Johns <chr...@rtems.org> wrote: >> >>> On 28/10/18 8:33 pm, Vijay Kumar Banerjee wrote: >>> > On Sun, 28 Oct 2018 at 09:00, Chris Johns <chr...@rtems.org >>> > <mailto:chr...@rtems.org>> wrote: >>> > >>> > On 27/10/18 5:13 am, Vijay Kumar Banerjee wrote: >>> > > --- >>> > > tester/rt/coverage.py | 17 ++++------------- >>> > > 1 file changed, 4 insertions(+), 13 deletions(-) >>> > > >>> > > diff --git a/tester/rt/coverage.py b/tester/rt/coverage.py >>> > > index 978a8c4..4200dad 100644 >>> > > --- a/tester/rt/coverage.py >>> > > +++ b/tester/rt/coverage.py >>> > > @@ -201,23 +201,14 @@ class report_gen_html: >>> > > index_content = >>> > self._prepare_index_content(partial_reports) >>> > > self._create_index_file(head_section,index_content) >>> > > >>> > > - def add_covoar_src_path(self): >>> > > + def add_covoar_css(self): >>> > > table_js_path = path.join(self.covoar_src_path, >>> 'table.js') >>> > > covoar_css_path = path.join(self.covoar_src_path, >>> > 'covoar.css') >>> > > 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) >>> > > - 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: >>> > > - with open(html_file, 'r') as f: >>> > > - file_data = f.read() >>> > > - file_data = file_data.replace('table.js', >>> > table_js_path) >>> > > - file_data = file_data.replace('covoar.css', >>> > > - >>> covoar_css_path) >>> > > - with open(html_file, 'w') as f: >>> > > - f.write(file_data) >>> > > + shutil.copy(covoar_css_path, symbol_set_dir) >>> > > + shutil.copy(table_js_path, symbol_set_dir) >>> > >>> > How portable are these calls? >>> > >>> > Please have a look at 'path.copy_tree' in the rtemstoolkit's >>> path.py. I >>> > think you can use that call instead. >>> > >>> > shutil is portable as it comes with python. >>> >>> It does not handle some issues on Windows. >>> >>> > i looked into the path.copy_tree >>> > it uses shutil as well, >>> >>> It does but it handles some issues expose in the RSB over many years. >>> >> Understood. >> >>> >>> > but it requires the source-name to be a directory >>> > wherefrom it will copy all the files to destination directory. >>> >>> It can be extended. >>> >> I'm getting a 'Not a directory' error as it uses listdir on the srcpath >> and then iterates over the >> files. Shall I write a path.copy for it ? with the WindowsError handling >> similar to >> copy_tree ? >> >>> >>> > Is there a reason that path.copy_tree has been used instead of >>> > shutil.copytree ? >>> > https://docs.python.org/2/library/shutil.html#shutil.copytree >>> >>> It can break on Windows. >>> >>> Please use the path module for all file operations to we can be >>> portable. I think one call was pushed in the other patch which Joel >>> merged that needs to be fixed. >> >> Sorry about that. I didn't know that it breaks on Windows. >> Can you please comment on the patch so that I can fix it? >> I'll ping you there. :) >> >>> >>> >> Chris >>> >>
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel