The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Недоработка в Python-скрипте могла привести к неверным резул..., opennews (??), 13-Окт-19, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


57. "Недоработка в Python-скрипте могла привести к неверным резул..."  +3 +/
Сообщение от Аноним (57), 13-Окт-19, 13:58 
Я вижу вы понимающий. Расскажите как подобный баг можно гарантированно поймать автотестами на любой платформе. Проверять на всех комбинациях рантайма, ОС, ФС и API? Даже это не гарантия того, что glob() обязательно хоть раз вернёт неотсортированный результат конкретно на ваших тестовых датасетах, тут уж как фишка/хеш/дерево/порядок_добавления/фаза_луны ляжет.
Ответить | Правка | Наверх | Cообщить модератору

93. "Недоработка в Python-скрипте могла привести к неверным резул..."  –4 +/
Сообщение от taliano (ok), 13-Окт-19, 14:53 
А зачем проверять на всех комбинациях? Вот у нас тесты пробежали без ошибок на определенной комбинации. Она и будет считаться поддерживаемой. Если есть герой, который хочет использовать другую, то это уже под его личную ответственность.
Ответить | Правка | Наверх | Cообщить модератору

94. "Недоработка в Python-скрипте могла привести к неверным резул..."  +2 +/
Сообщение от Аноним (86), 13-Окт-19, 15:02 
То есть, питон уже не кроссплатформенный?
Ответить | Правка | Наверх | Cообщить модератору

117. "Недоработка в Python-скрипте могла привести к неверным резул..."  –1 +/
Сообщение от taliano (ok), 13-Окт-19, 16:29 
> То есть, питон уже не кроссплатформенный?

Если не уметь писать кроссплатформенно, то да. Причем это не только питона касается.

Ответить | Правка | Наверх | Cообщить модератору

209. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (-), 13-Окт-19, 22:14 
Если я в питоне напишу что-то вида

with open("/dev/ttyS0") as f

то это будет вполне не кроссплатформенный код

Ответить | Правка | К родителю #94 | Наверх | Cообщить модератору

100. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (57), 13-Окт-19, 15:20 
А что проверять-то, порядок файлов в каталоге может зависеть примерно от всего: помимо явных завязок на ОС и ФС сама ФС ещё более неявно может, например, переиспользовать структуры от удалённых файлов и тогда порядок станет зависеть ещё и от того, что лежало в каталоге до момента запуска теста. Вариантов ФС и даже конкретных вариантов реализации ФС великое множество, как конкретно будет работать в каждом случае - неизвестно. Иногда и рандомный порядок будет совпадать с отсортированным и ваш тест пройдёт.
Это даже если забыть о том, что чтобы написать такой тест нужно как минимум знать, что поведение glob() не гарантирует сортировку. А как мы видим из новости, проблема как раз в том, что автор просто невнимательно прочёл документацию.
Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

118. "Недоработка в Python-скрипте могла привести к неверным резул..."  –3 +/
Сообщение от taliano (ok), 13-Окт-19, 16:39 
> Иногда и рандомный порядок будет совпадать с отсортированным и ваш тест пройдёт.

Замечательно, но когда тесты начинают валится на другой ФС, то это уже говорит о проблеме в коде. Теперь вопрос - а как обнаружить эту проблему без тестирования?

Ответить | Правка | Наверх | Cообщить модератору

122. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (57), 13-Окт-19, 16:47 
Конечно, тесты могли бы помочь, но если автор всё это писал и тестировал на windows, то тесты никогда бы и не упали. А чтобы упали, нужно было как минимум проверить на другой ФС, а для этого нужно знать, что на другой ФС может быть другое поведение, а для этого нужно знать, что glob() может работать по-разному.
Ответить | Правка | Наверх | Cообщить модератору

126. "Недоработка в Python-скрипте могла привести к неверным резул..."  –1 +/
Сообщение от taliano (ok), 13-Окт-19, 17:04 
Безусловно это так, но что если проблема гораздо более затейлива чем в случае с glob() и не имеет никакой подсказки в виде документации или иного посконного знания?
Ответить | Правка | Наверх | Cообщить модератору

139. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (57), 13-Окт-19, 17:23 
Если вы к тому, что надо всё равно писать тесты и что они отловят хотя бы часть таких ошибок, то я с вами полностью согласен.
В контексте обсуждаемого случая мне вспоминается разработка под андроид, где китайцы наплодили такой зоопарк смартфонов различной степени пропатченности как по софту, так и по железу, что баги и проблемы со стандартным вроде бы API могут возникать вообще в любом самом неожиданном месте. Часть таких аппаратов в информации о модели возвращают либо рандом, либо просто от балды набранную строку типа 0123456 (взято не из головы). Такой аппарат даже в интернете не найти, не то что купить/взять для тестирования.
Ответить | Правка | Наверх | Cообщить модератору

138. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (42), 13-Окт-19, 17:21 
> Я вижу вы понимающий. Расскажите как подобный баг можно гарантированно поймать автотестами на любой платформе.

А ты, я смотрю, совсем без понимания. Тесты запускаются во время установки на целевой платформе, а не только разработчиками на ограниченном наборе платформ.

Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру