Исправить разбор режима совместимости НеИспользовать / DontUse в проверке версии платформы#1165
Open
steel-code-agent wants to merge 4 commits intovanessa-opensource:developfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR: Исправить разбор режима совместимости
НеИспользовать/DontUseКратко
Этот PR исправляет падение
bddRunnerпри проверке совместимости плагинов, когда режим совместимости метаданных равенНеИспользовать/DontUse.Сейчас это значение может попасть в логику сравнения версий как обычная строка версии, после чего возникает ошибка:
В результате
bddRunnerне может загрузить часть плагинов и сценарий не стартует.Проблема
bddRunnerиспользует функцииПодходящийРежимСовместимостиПлатформы(...)и связанные с ними проверки, чтобы понять, можно ли запускать плагин на текущей платформе.В проблемном окружении режим совместимости возвращается не как версия, а как строковый маркер:
НеИспользоватьDontUseДалее это значение попадает в сравнение версий:
Если один из элементов равен
НеИспользовать/DontUse, преобразование вЧисло(...)падает.Как воспроизводится
Окружение, на котором ошибка стабильно воспроизводится:
8.3.27.1719Vanessa AutomationчерезbddRunnerФактическая ошибка при загрузке плагина:
Причина
РежимСовместимости(...)в платформе может легально возвращать не строку вида8.3.13, а специальное значение, означающее, что режим совместимости не используется.Это значение не является числовой версией и не должно напрямую участвовать в сравнении версий.
Что меняется
Перед сравнением версий нормализуется результат
РежимСовместимости(...):НеИспольз;DontUse;тогда вместо неё используется:
СистемнаяИнформация.ВерсияПриложенияДополнительно сохраняется fallback на версию приложения, если после нормализации не получилась валидная строка версии.
Какие файлы нужно менять
Серверная часть:
bddRunner/Ext/ObjectModule.bslКлиентская часть с зеркальной логикой:
bddRunner/Forms/УправляемаяФорма/Ext/Form/Module.bslПочему правка нужна в двух местах
Логика проверки режима совместимости дублируется:
Если исправить только одну сторону, другая всё равно может упасть на том же значении
НеИспользовать/DontUse, в зависимости от того, где именно выполняется проверка совместимости.Поведение до и после
До исправления:
bddRunnerпадает ещё до нормального старта сценариев.После исправления:
НеИспользовать/DontUseтрактуется как “использовать текущую версию платформы”;Проверка
Проверено в текущем контейнере проекта:
bddRunner.epfпадает с описанной ошибкой;va-status.json = 0:tests/vanessa/features/smoke/vanessa_selftest_smoke.featuretests/vanessa/features/smoke/testclient_connection_smoke.featuretests/vanessa/features/stories/quote_discount_agreement_marks_line.featureЧто не нужно включать в PR
В PR стоит включать только сам functional fix по нормализации режима совместимости.
Не нужно включать:
Предлагаемый заголовок PR