keep_files cannot save directories as described in the reference
List of files to be kept after the test finishes.
By default, the framework saves the standard output, the standard error and the generated shell script that was used to run this test.
These files will be copied over to the framework’s output directory during the cleanup() phase.
Directories are also accepted in this field.
Relative path names are resolved against the stage directory.
In core/pipeline.py, the function _copy_to_outputdir calls shutil.copy which can not copy directories.