Это правильное утверждение?

574

Я пытаюсь протестировать свою файловую систему FUSE с помощью набора тестов TUXERA и при тестировании chown замечаю проблему.

Один из тестовых примеров: «chown. 65535 65535», и он ожидает, что тестовый пример пройден.

Я получаю это сообщение об ошибке: "chown: не может получить доступ к` 65535 ': нет такого файла или каталога "

Это не ошибка, которую я обрабатываю в своей FS, поэтому я могу сделать вывод, что bash задыхается от этого утверждения, даже не передав его моей FS. Я не уверен, почему он пропускает "." но для подтверждения этой ошибки я сделал случайную папку за пределами рассматриваемой ФС и попробовал еще раз. Такая же ошибка возникла.

Поскольку я почти никогда не использую слово «chown», я не могу точно сказать, правильно ли это утверждение: /.

Помогите?

0

3 ответа на вопрос

1
Ignacio Vazquez-Abrams

Синтаксис неверен. Как таковой, он меняет владельца имени файла «65535». Дважды. И это фактически не меняет его, так как ни пользователь, ни группа не указаны. Возможно, вы имели в виду chown 65535:65535 .?

Но этот тестовый пример взят из набора тестов (http://www.tuxera.com/community/posix-test-suite/), и набор тестов претендует на стабильную версию. Я не изменил заявление вообще. 13 лет назад 0
Но это их четвертая итерация набора тестов, вы думаете, что они хотя бы один раз проверили, чтобы убедиться, что тесты были правильными. 13 лет назад 0
1

Синтаксис chown неправильный, согласно man-странице Linux для chown (man chown).

Правильная форма команды будет:

chown 65535:65535 . 

Во-вторых, «bash» не интерпретирует эту команду. Он вызывает исполняемый файл под названием «chown», и эта команда обрабатывает его.

Вместо того, чтобы проходить все 3000+ регрессионных тестов, которые они настраивали, и проверять правильность реализации chown, какие-либо предложения о наборе тестов FS, которые вы бы одобрили? Я как бы вышел на конечность, чтобы сказать "удар". Я впервые углубляюсь в Linux и файловые системы. Я не совсем уверен, как все части работают вместе. Я просто неправильно скрывал тот факт, что все, что происходило до того, как проанализированные значения были отправлены в chown fuse-python, задыхалось от ввода. 13 лет назад 0
Я не знаю ни одного комплекта тестов FS. Однако вместо изменения набора вы можете реализовать bash-скрипт под названием «chown», который принимает аргументы, переданные набором тестов, и переупорядочивает их для отправки в настоящий Linux-пакет. Чтобы сделать это, вы должны поместить свой «поддельный» chown в PATH перед / bin / chown и убедиться, что ваш скрипт вызывает / bin / chown, когда он хочет вызвать реальный. 13 лет назад 0
Звучит как хорошая идея. Я не верю, что мне придется что-либо делать с изменением PATH для chose-предохранителя, поскольку он должен автоматически отменять вызов, если вы находитесь в FS, смонтированной на предохранителе. 13 лет назад 0
0
unwind

Без каких-либо ключевых слов я бы сказал, что это может означать только user =., Group = 65535 и file = 65535. Так что, если этот файл не существует, команда должна потерпеть неудачу, как вы описали.

Похожие вопросы