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

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()