You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.6 KiB
42 lines
1.6 KiB
10 months ago
|
import logging
|
||
|
import sys
|
||
|
|
||
|
from leapp.repository.scan import find_and_scan_repositories
|
||
|
|
||
|
def err_exit():
|
||
|
# We want to be sure that `make test` (test_no_lint) will stop when expected
|
||
|
# actor is not found and want to be sure that users will not overlook error
|
||
|
# messages. This print will easily resolve the problem
|
||
|
sys.stdout.write('ERROR:__read_error_messages_above_this_one_on_stderr__')
|
||
|
sys.exit(1)
|
||
|
|
||
|
def main():
|
||
|
logging.basicConfig(level=logging.INFO, filename='/dev/null')
|
||
|
logger = logging.getLogger('run_pytest.py')
|
||
|
|
||
|
BASE_REPO = 'repos'
|
||
|
repos = find_and_scan_repositories(BASE_REPO, include_locals=True)
|
||
|
repos.load()
|
||
|
if len(sys.argv) > 1:
|
||
|
actors = repos._lookup_actors(sys.argv[1])
|
||
|
if not actors:
|
||
|
sys.stderr.write('ERROR: No actor found for search "{}"\n'.format(sys.argv[1]))
|
||
|
err_exit()
|
||
|
print(' '.join([actor.full_path for actor in actors]))
|
||
|
else:
|
||
|
sys.stderr.write('ERROR: Missing commandline argument\n')
|
||
|
err_exit()
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
try:
|
||
|
main()
|
||
|
except Exception as e:
|
||
|
# Make a generic exception as in case of error, without the explicit
|
||
|
# sys.exit(1) call running of tests continues with all actors always
|
||
|
# and we expect that many people will be affected unless they installed
|
||
|
sys.stderr.write('ERROR: Unknown error: {}\n'.format(e))
|
||
|
sys.stderr.write('ERROR: Possibly you need newer version of the leapp framework\n')
|
||
|
sys.stderr.write('ERROR: e.g.: rm -rf .tut && make install-deps-fedora\n')
|
||
|
err_exit()
|