def step_a_new_working_directory(context): """ Creates a new, empty working directory """ command_util.ensure_context_attribute_exists(context, "workdir", None) command_util.ensure_workdir_exists(context) shutil.rmtree(context.workdir, ignore_errors=True)
def step_a_file_named_filename_with(context, filename): """Creates a textual file with the content provided as docstring.""" step_a_file_named_filename_and_encoding_with(context, filename, "UTF-8") # -- SPECIAL CASE: For usage with behave steps. if filename.endswith(".feature"): command_util.ensure_context_attribute_exists(context, "features", []) context.features.append(filename)
def step_a_file_named_filename_with(context, filename): """ Creates a textual file with the content provided as docstring. """ assert context.text is not None, "ENSURE: multiline text is provided." assert not os.path.isabs(filename) command_util.ensure_workdir_exists(context) filename2 = os.path.join(context.workdir, filename) pathutil.create_textfile_with_contents(filename2, context.text) # -- SPECIAL CASE: For usage with behave steps. if filename.endswith(".feature"): command_util.ensure_context_attribute_exists(context, "features", []) context.features.append(filename)
def step_use_directory_as_working_directory(context, directory): """Uses the directory as new working directory""" command_util.ensure_context_attribute_exists(context, "workdir", None) current_workdir = context.workdir if not current_workdir: current_workdir = os.getcwd() if not os.path.isabs(directory): new_workdir = os.path.join(current_workdir, directory) exists_relto_current_dir = os.path.isdir(directory) exists_relto_current_workdir = os.path.isdir(new_workdir) if exists_relto_current_workdir or not exists_relto_current_dir: # -- PREFER: Relative to current workdir workdir = new_workdir else: assert exists_relto_current_workdir workdir = directory workdir = os.path.abspath(workdir) context.workdir = workdir command_util.ensure_workdir_exists(context)