galaxyproject / galaxyproject/planemo

planemo 0.70 traverses complete subtree even if tools are listed

Open
#996 12 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
110
Forks
102
Avg merge
4d 21h
Merged PRs (30d)
13

Description

I like to run `planemo test A.xml B.xml ...` because sometimes the tool directory is not clean, i.e. there is a lot of other things besides tools, test-data, etc.

Used to work until 0.62.1.

Now planemo needs a large amount of time until anything happens (strace indicates that it tries to copy to tmp) and finally stumbles over a broken symlink in my case.

```
Traceback (most recent call last):
File "/home/berntm/.venv3/bin/planemo", line 8, in
sys.exit(planemo())
File "/home/berntm/.venv3/lib/python3.6/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/home/berntm/.venv3/lib/python3.6/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/berntm/.venv3/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/berntm/.venv3/lib/python3.6/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/berntm/.venv3/lib/python3.6/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/berntm/.venv3/lib/python3.6/site-packages/click/decorators.py", line 64, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/home/berntm/.venv3/lib/python3.6/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/berntm/.venv3/lib/python3.6/site-packages/planemo/cli.py", line 190, in handle_blended_options
return f(*args, **kwds)
File "/home/berntm/.venv3/lib/python3.6/site-packages/planemo/commands/cmd_test.py", line 80, in cli
runnables = for_paths(paths, temp_path=temp_path)
File "/home/berntm/.venv3/lib/python3.6/site-packages/planemo/runnable.py", line 149, in for_paths
return [for_path(path, temp_path=temp_path) for path in paths]
File "/home/berntm/.venv3/lib/python3.6/site-packages/planemo/runnable.py", line 149, in
return [for_path(path, temp_path=temp_path) for path in paths]
File "/home/berntm/.venv3/lib/python3.6/site-packages/planemo/runnable.py", line 142, in for_path
path = _copy_runnable_tree(path, runnable_type, temp_path)
File "/home/berntm/.venv3/lib/python3.6/site-packages/planemo/runnable.py", line 115, in _copy_runnable_tree
copy_tree(dir_to_copy, temp_path)
File "/usr/lib/python3.6/distutils/dir_util.py", line 172, in copy_tree
verbose=verbose, dry_run=dry_run))
File "/usr/lib/python3.6/distutils/dir_util.py", line 172, in copy_tree
verbose=verbose, dry_run=dry_run))
File "/usr/lib/python3.6/distutils/dir_util.py", line 176, in copy_tree
dry_run=dry_run)
File "/usr/lib/python3.6/distutils/file_util.py", line 105, in copy_file
"can't copy '%s': doesn't exist or not a regular file" % src)
distutils.errors.DistutilsFileError: can't copy '/home/berntm/projects/tools-galaxyp/tools/openms/OpenMS2.4-env/lib/libstdc++.so.6.0.21': doesn't exist or not a regular file
```

In this case I just need additional software for the automatic creation of some tools. Certainly I could put them somewhere else .. but I don't like to :)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.