Мне нужно создать безопасные имена файлов в Windows (с поддержкой символов иностранного языка). Некоторые из сред разработки - Mac, другие Windows. Наши автоматизированные тесты выполняются на компьютере под управлением Windows, а приложение устанавливается на компьютерах под управлением Windows. Файловые системы налагают свои собственные правила на то, что составляет допустимое имя файла (в частности, такие символы, как <,>, "и разделители пути недопустимы в NTFS).
Я хотел бы написать несколько тестов, которые фактически проверяют саму файловую систему. Я пытаюсь не проверять тесты, потому что тогда я ничего не тестирую в реальной системе, а просто проверяю, что код обрабатывает ложные исключения. Тесты должны по крайней мере запускаться на Mac (это нормально, если они пропускают тест, когда присутствует Mac), но я также хотел бы знать, на какой тип файловой системы работают тесты. NTFS отличается от Fat32. ПРИМЕЧАНИЕ: я не прошу о реализации метода безопасного имени файла, у меня уже есть это. Я спрашиваю, есть ли в Ruby какой-либо способ определить, в какой файловой системе я сейчас нахожусь, для целей тестирования. Многократный поиск и документы для File, FileUtils, Dir и даже ENV ничего не нашли.