command: ./target/release/lucifer tests: - name: Defaults compile description: > Given valid yaml, with some ommitions When lucifer runs Then it should output failures normally expectations: exitCode: 1 args: - -i - ./tests/data/missing_parameters.yaml - name: All file names are valid description: > Given file names before and after s When lucifer runs Then it should output failures normally Origin: Because of a for loop error, lucifer paniced when passed tests which had a letter lower than "s". This test was developed so that we catch this early if it were to happen again. expectations: exitCode: 1 args: - -i - ./tests/data/files_before_and_after_s - name: Empty files should simply return ok description: > Given a suite with a empty features When lucifer runs Then it should output success normally expectations: exitCode: 0 args: - -i - ./tests/data/empty_files - name: Can compile a file vs a folder description: > Given a suite with a empty features When lucifer runs Then it should output success normally expectations: exitCode: 0 args: - -i - ./tests/data/empty_files/empty_file.yaml - name: Asking to output to a directory which doesn't exist works description: > Given an expectation of a file in a folder which doesn't exist When lucifer runs Then it should output failure normally expectations: exitCode: 0 args: - -o - ./tests/data/path_which_doesnt_exist - name: Erroneous noFile assertion succeeds description: > Given an expectation of a file in a folder which doesn't exist When lucifer runs Then it should output failure normally expectations: noFile: ./any_non_existent_directory/and_file.txt - name: Args should be accepted with different types description: > Given two tests with args of int and string When lucifer runs Then it should output the same result expectations: exitCode: 0 args: - -i - ./tests/data/type_checking.yaml