#!/usr/bin/python # Copyright (c) 2023 Nordic Semiconductor ASA # # SPDX-License-Identifier: Apache-2.0 """ Simply mock for bash script to use with unit tests. """ import sys import time from argparse import ArgumentParser from zen_of_python import zen_of_python def main() -> int: parser = ArgumentParser() parser.add_argument('--sleep', action='store', default=0, type=float) parser.add_argument('--long-sleep', action='store_true') parser.add_argument('--return-code', action='store', default=0, type=int) parser.add_argument('--exception', action='store_true') args = parser.parse_args() if args.exception: # simulate crashing application raise Exception if args.long_sleep: # prints data and wait for certain time for line in zen_of_python: print(line, flush=True) time.sleep(args.sleep) else: # prints lines with delay for line in zen_of_python: print(line, flush=True) time.sleep(args.sleep) print('End of script', flush=True) print('Returns with code', args.return_code, flush=True) time.sleep(1) # give a moment for external programs to collect all outputs return args.return_code if __name__ == '__main__': sys.exit(main())