Я сделал нечто похожее на это, но использовал концепцию «песочницы».
Сначала вы создаете тестового пользователя, у которого нет прав ни на один из ваших файлов ОС (конечно, на ваши тестовые файлы тоже нет).
Ваша тестирующая система сначала скопирует всю корневую папку тестов в изолированную программную среду (например, созданную во временном местоположении), даст разрешение тестирующему пользователю на эту изолированную программную среду и выполнит тесты в качестве тестового пользователя.
Итак, создание / изменение / удаление файла выполнения тестов ограничено этой песочницей. Кроме того, вы можете проанализировать все последующие данные тестов, оставленные в этой изолированной программной среде.
Я легко сделал это в linux, создав папки в / tmp dir и используя специального пользователя под названием "tester".
Надеюсь, это поможет.