Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Получить список изменений файлов в одном результирующем текстовом файле #13

Open
artbear opened this issue Jan 28, 2015 · 4 comments

Comments

@artbear
Copy link
Member

artbear commented Jan 28, 2015

Получить список изменений файлов в одном результирующем текстовом файле
ИМХО 2 вида отчета нужны:

    1. простой/быстрый = те отличия, что показываются на верхнем уровне
    1. подробный/более медленный = подробное отличие всех метаданных

Например, в форме v8Reader, где метаданные (деревья), нажать "вывести список", выбрать вариант "текстовый документ".
Получаем результат:

Структура первой обработки  Структура второй обработки  Есть изменения Путь первого объекта  Путь второго объекта
xddDataFixtureGen   xddDataFixtureGen   1   d0ac533a-c210-47e2-94e1-6d5329bcc033    a764486e-0ec8-42b4-8434-355f1cc2c4d5
Модуль объекта Модуль объекта 1   54f1dec0-8f13-4065-9f45-0e74788142d2.0  2bea54fe-a179-43e6-9377-9255a9ca2e4a.0
Реквизиты  Реквизиты  
ЕстьВстроеннаяОбработка_юТест   ЕстьВстроеннаяОбработка_юТест   1   
Табличные части   Табличные части   
ТаблицаДанных  ТаблицаДанных  
Ссылка    Ссылка    1   
Метаданное    Метаданное    1   
ИмяПеременной  ИмяПеременной  1   
ВыгружатьКод    ВыгружатьКод    1   
РежимПоиска  РежимПоиска  1   
РежимСоздания  РежимСоздания  1   
Формы  Формы  
УправляемаяФорма    УправляемаяФорма    1   103ebd31-7643-4b1a-ba8b-4c789efcb71f    57f8e960-e897-4dab-8f8f-29103028a3e9
Форма  Форма  1   103ebd31-7643-4b1a-ba8b-4c789efcb71f.0  57f8e960-e897-4dab-8f8f-29103028a3e9.0
Макеты    Макеты    
СозданиеПростогоСправочника  СозданиеПростогоСправочника  1   efa2b5fc-de31-4695-a81b-8acc1a24d8f8    a8aa8b25-c3a6-4bee-8f5e-38f0b98b548f
СозданиеПростогоСправочника_ПредставлениеНеИдентификатор <Отсутствует>    3   
Макет  <Отсутствует>    3   

полученный лог сравнения можно юзать для автоматических тестов. т.е. в макеты заносим текст лога и разные варианты файлов, затем при прогоне теста запускаем ридер, поулчаем лог и сверяем его с эталоном. если расхождение нет, то тест пройден
очень просто и удобно

@ghost
Copy link

ghost commented Jan 28, 2015

А почему не стандартный diff или patch формат ?
http://www.adminworld.ru/freebsd/ispolzovanie-kommand-diff-i-patch.html

В прошлый раз я наглым образом брал исходники вот отсюда https://code.google.com/p/google-diff-match-patch/

@artbear
Copy link
Member Author

artbear commented Jan 28, 2015

  1. ИМХО Нагляднее всего "человеческое" представление. Потом проще анализировать, если теста сравнения с эталоном падает и нужно понять разницу.
  2. Мы же говорим про файлы 1С, а в них достаточно часто меняется внутреннее представление или ГУИД-ы. В текстовом представлении можно попробовать их пропускать.

@allustin Но вариант с дифф/патчем мне понравился, спасибо!
Он вполне возможен для быстрого прогона тестов и получения быстрого ответа, совпадают ли результаты работы v8reader c эталонным результатом.

@bambr1975 ИМХО Нужно прикинуть, какой вариант реализации проще и быстрее сделать, затем сделать простейший тест сравнения с эталоном, реализовать, и прогнать тест.

Тест я готов сделать.

@artbear
Copy link
Member Author

artbear commented Jan 28, 2015

@allustin Все-таки не в тему в этой задаче дифф/патч.
нам ведь нужно протестить работу своего дифф, а не сравнить какие-нибудь файлики :)

@ghost
Copy link

ghost commented Jan 28, 2015

@artbear Скорее всего, локально не в тему. Но для достижения синергии,
хотелось текстовый вывод максимально приблизить к подобным же форматам. Я
как раз имел ввиду больше формат patch.

Это меня также волнует в свете http://v8.1c.ru/o7/201410ext/index.htm -
фактически это не управление расширениями, а управление патчами на основную
конфигурацию. В том числе патчами на формы.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant