def handle_options(self, defaults): options = self.context.options if not options.builder and (options.cflags or options.ldflags): warn(self.context, '--cflags and --ldflags will be ignored when not' ' using --builder') if options.vs_solution: options.vs_solution = os.path.abspath(options.vs_solution) if not os.path.isfile(options.vs_solution): raise Error('<d>could not find VS solution file</> <r>"{}"</>' .format(options.vs_solution)) elif options.binary: options.binary = os.path.abspath(options.binary) if not os.path.isfile(options.binary): raise Error('<d>could not find binary file</> <r>"{}"</>' .format(options.binary)) else: try: self.build_script = handle_builder_tool_options(self.context) except ToolArgumentError as e: raise Error(e) try: handle_debugger_tool_options(self.context, defaults) except ToolArgumentError as e: raise Error(e) options.test_path = os.path.abspath(options.test_path) options.test_path = os.path.normcase(options.test_path) if not os.path.isfile(options.test_path) and not os.path.isdir(options.test_path): raise Error( '<d>could not find test path</> <r>"{}"</>'.format( options.test_path)) if options.results_directory: options.results_directory = os.path.abspath(options.results_directory) if not os.path.isdir(options.results_directory): try: os.makedirs(options.results_directory, exist_ok=True) except OSError as e: raise Error( '<d>could not create directory</> <r>"{}"</> <y>({})</>'. format(options.results_directory, e.strerror))
def handle_options(self, defaults): options = self.context.options # We accept either or both of --binary and --builder. if not options.binary and not options.builder: raise Error('expected --builder or --binary') # --binary overrides --builder if options.binary: if options.builder: warn(self.context, "overriding --builder with --binary\n") options.binary = os.path.abspath(options.binary) if not os.path.isfile(options.binary): raise Error( '<d>could not find binary file</> <r>"{}"</>'.format( options.binary)) else: try: self.build_script = handle_builder_tool_options(self.context) except ToolArgumentError as e: raise Error(e) try: handle_debugger_tool_options(self.context, defaults) except ToolArgumentError as e: raise Error(e) options.test_path = os.path.abspath(options.test_path) options.test_path = os.path.normcase(options.test_path) if not os.path.isfile(options.test_path) and not os.path.isdir( options.test_path): raise Error('<d>could not find test path</> <r>"{}"</>'.format( options.test_path)) options.results_directory = os.path.abspath(options.results_directory) if not os.path.isdir(options.results_directory): try: os.makedirs(options.results_directory, exist_ok=True) except OSError as e: raise Error( '<d>could not create directory</> <r>"{}"</> <y>({})</>'. format(options.results_directory, e.strerror))