tel8618217223380 / oasychev-moodle-plugins

Automatically exported from code.google.com/p/oasychev-moodle-plugins
0 stars 0 forks source link

Баги в athoring tool #235

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Начал тестировать перед релизом, нашлись 
баги/замечания/вещи, по поводу которых 
стоит посоветоваться. Не знал, куда 
написать, ибо баги касались и дерева и 
графа и описания.

Original issue reported on code.google.com by grvl...@gmail.com on 12 Oct 2013 at 4:57

GoogleCodeExporter commented 9 years ago
Баги отрисовки на следующих тестах:
1) (q)(^$^^^^$$$$$$)+
http://prntscr.com/1wuut4
2) (q)(^$^^^^$$$$$$)+33
http://prntscr.com/1wuvjx

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

3) не баг, но оставлю здесь, ибо на мой взгляд 
это является непонятным в графе, а наша 
задача - избежать подобных случаев
(a+(b+c)+)?
http://prntscr.com/1wuxea
4) 3+++++++++++
http://prntscr.com/1wuzen
5) [;;]
в описании получил следующее:
one of the following characters: ;, ;;
на мой взгляд, последняя ; лишняя
6) [<]
оставлю здесь, что бы не забыть исправить 
дерево и протестировать ещё раз в будущем
7) при выделении часть ассертов слева 
исчезла... в не выделенном состоянии точки 
попали в прямоугольник квантификатора...
33\b$\b^_+^\b$5
http://prntscr.com/1wv751
8) при выделении граничных а ассертом узлов, 
точка попадает под выделение
33ab^_+c$5
http://prntscr.com/1wv7ux
9) выделении символа "_" сервер вернул 
ошибку. тест:
33ab^(_|)+c$5

Original comment by grvl...@gmail.com on 12 Oct 2013 at 5:23

GoogleCodeExporter commented 9 years ago
10) плюс захватил лишний узел слева
a(\G\\\1)+
http://prntscr.com/1wvb4r
11) порождаются лишние точки при выделении 
"b|", которых не было на исходном графе
a(bc|(b|)+x)cc
http://prntscr.com/1wvcl1
12) визуально нет разницы в графе между 
следующими выражениями:
a(?:bc|b|x)cc
a(?>bc|b|x)cc
13) (?i)
http://prntscr.com/1wvhar
14) визуально не отличаются модификаторы в 
графе
3(?s)3(?-s)3(?m)3(?-m)3(?x)3(?-x)3
http://prntscr.com/1wvifp
15) стрелка должна идти по идее от "иначе", а 
не от и + плохо понятная визуальная 
конструкция, на мой взгляд
(?(?=если)то|иначе)
http://prntscr.com/1wvmpn

Original comment by grvl...@gmail.com on 12 Oct 2013 at 6:32

GoogleCodeExporter commented 9 years ago
1 и 2 - серьезная проблема
3 - с (a+(b+c)+)? серьезные проблемы - при обычном 
режиме налазиет прямоугольники на begin/end, 
при exact вообще падает...
4 - подтверждаю, проблема в том что надпись 
на квантификаторы залазит
5 - ну это строку надо с Пахомовым обсудить, 
разница в цвете на точке с запятой заметна 
слабо конечно
6 - странно, вроде это все на двойные кавычки 
переводили вчера/позавчера - с Валерием 
надо эту ситуацию проверить....
7 - при выделении 5 ошибку подтверждаю; у нас 
Иванов вообще жив или нам опять со 
Стрельцовым граф отлаживать?
8 - ну и пусть ее попадает, худшие бы 
проблемы подправить
9 - не смог воспроизвести, все вроде 
работает...

Original comment by oasyc...@gmail.com on 12 Oct 2013 at 6:33

GoogleCodeExporter commented 9 years ago
10 - да, причем при выделении ассерта 
проблема исчезает; возможно результат 
наших вчерашних попыток поправить 
последний $ - но уж серьезно решать проблему 
в осьминоге process_asserts надо Иванову
11 - лишние точки они всегда так в пустоте 
появляются; некрасиво  - но не проблема - при 
наличии стольких ошибок это только недочет
12 - здесь достаточно надпись добавить для 
once-checked subexpression
13 - ну а чего вы хотели? там действительно ни 
с чем не проверяется - совпадет с чем 
хочешь, работа регекспа отображена верно; 
граф - не дерево...
14 - опять же, здесь все нормально; во-первых 
на поведение 3-ки эти модификаторы не 
влияют вообще - они на точку, на ассерты 
начала/конца строки влияют; во-вторых пока 
у нас нет ввода многострочного текста от 
студента они у нас вообще не влияют ни на 
что...
а вот при .^(?s).(?-s).(?m)^.(?-m)^.(?x)^.(?-x)^. почему то 
все ассерты кроме первого в графе 
отсутствуют
15 - согласен что отображается кривовато, но 
проблема не самая острая - можно в принципе 
пока в аццептинге графа условные подмаски 
вообще зафейлить....

Original comment by oasyc...@gmail.com on 12 Oct 2013 at 6:49

GoogleCodeExporter commented 9 years ago
16 - в графе исчезают ассерты, стоящие сразу 
после модификаторов 
ab(?i)\b\scd

Original comment by oasyc...@gmail.com on 12 Oct 2013 at 7:09

GoogleCodeExporter commented 9 years ago
1 и 2 исправлены

Original comment by ZluMYO@gmail.com on 13 Oct 2013 at 9:58

GoogleCodeExporter commented 9 years ago
По поводу 3 и 4.
3 это издержки дота... Если есть предложения 
как это сделать лучше, то выслушаю.
4 это уже баг дота. Тут, к сожалению, я не 
знаю, что делать.

Original comment by ZluMYO@gmail.com on 13 Oct 2013 at 10:05

GoogleCodeExporter commented 9 years ago
8 и 9 работают нормально. Затяните, 
пожалуйста, последние изменения и 
проверьте ещё раз.

Original comment by ZluMYO@gmail.com on 13 Oct 2013 at 10:08

GoogleCodeExporter commented 9 years ago
По поводу 13 согласен с Олегом 
Александровичем.

Original comment by ZluMYO@gmail.com on 13 Oct 2013 at 10:14

GoogleCodeExporter commented 9 years ago
7 исправлено

Original comment by ZluMYO@gmail.com on 13 Oct 2013 at 1:31

GoogleCodeExporter commented 9 years ago
11 исправлено

Original comment by ZluMYO@gmail.com on 13 Oct 2013 at 2:05

GoogleCodeExporter commented 9 years ago
3 - ну если издержки дота доходят до того, 
что он падает - надо написать его авторам на 
трекер с приложением графа; предварительно 
проверив на самой последней версии, 
разумеется.... кстати, ошибка останется если 
из выражения удалить ? и букву c
минимальный тест в exact
(a+(b+c)+)
4 - а что тут делать? Точку (псевдоузел) 
конечно ставить, чтобы через границы 
кластеров шло без надписи....

Иванов - а 16? 

Original comment by oasyc...@gmail.com on 13 Oct 2013 at 7:38

GoogleCodeExporter commented 9 years ago
17 ab(?i)cd - выделить модификатор (?i) - в дереве 
выделяется, в описании - нет...
Пахомов - исправляйте...

Original comment by oasyc...@gmail.com on 18 Oct 2013 at 4:18

GoogleCodeExporter commented 9 years ago
16 исправлен.

Original comment by ZluMYO@gmail.com on 19 Oct 2013 at 1:19

GoogleCodeExporter commented 9 years ago
по поводу 3 бага. Я поставил новую версию 
графвиза. Всё равно падает дот при экзакт 
матчинге. Я посмотрел на баг трэккер 
ГрафВиза и нашёл похожий случай, которой 
тянется ещё с версии 5 летней давности 
http://www.graphviz.org/mantisbt/view.php?id=2117 . К сожалению, на 
этот баг ответа от разработчиков не было.

Original comment by ZluMYO@gmail.com on 19 Oct 2013 at 1:31

GoogleCodeExporter commented 9 years ago
6 - сделал вардамп дот-кода, запустил через 
gvedit

результаты gvedit:
http://prntscr.com/1yjug3

результаты, полученные через moodle:
http://prntscr.com/1yjunb

дот код:
digraph qtype_preg_graph {
rankdir = LR;1[id = "1,0,5", label = "[&lt;] ", tooltip = "символьный 
класс
&
l
t
; ", shape = "rectangle", color = "black", fontcolor = "black", style = 
"solid"];
1;
subgraph cluster_user { color=invis; bgcolor=white;
1;
}}

не знаю, как это исправить...

Original comment by grvl...@gmail.com on 20 Oct 2013 at 2:34

GoogleCodeExporter commented 9 years ago
Терехов - я же говорил, посмотрите какую 
строку генерирует граф в этом случае - она 
несколько отличается от вашей и работает 
под moodle

Иванов - рад слышать про 16, но 4 тоже вполне 
можно исправить - ждем-с

Original comment by oasyc...@gmail.com on 20 Oct 2013 at 2:45

GoogleCodeExporter commented 9 years ago
Баг № 6 появляется чисто из-за svg. При 
рендеринге в Png всё нормально.

Original comment by vostreltsov@gmail.com on 20 Oct 2013 at 4:02

GoogleCodeExporter commented 9 years ago
Ну у Иванова же ситуация 6 работает. Почему 
дерево не может аналогичным образом 
поступить?! Или граф не в svg?

Original comment by oasyc...@gmail.com on 20 Oct 2013 at 4:03

GoogleCodeExporter commented 9 years ago
У него лишний раз вызывается string_to_html - по 
идее это неправильно. Ищу, как решить 
проблему более чистым образом

Original comment by vostreltsov@gmail.com on 20 Oct 2013 at 4:04

GoogleCodeExporter commented 9 years ago
На 20 - Значит сейчас для релиза делаем и в 
дереве "по идее это неправильно" - зато 
работает...
А дальше посмотрим на реакцию от Графвиз - 
даже если исправят, проверять и требовать 
его версию не так уж легко.

Иванов, что там за странный "рефакторинг"? 
Рефакторинг после релиза будете делать, и я 
сказал какого рода... А сейчас - только 
мелкие изменения, улучшающие конкретные 
ситуации для пользователей...

Пахомов - все еще жду новой строки для back 
reference в описании, исправления 17 (выделение 
модификаторов в описании) и доделки 
скрипта под блок (к скрипту кто может - 
подключайтесь...)

Original comment by oasyc...@gmail.com on 20 Oct 2013 at 7:49

GoogleCodeExporter commented 9 years ago
Ээ, простите, а о каком рефакторинге шла 
речь? Наверно, я что перепутал...

Original comment by ZluMYO@gmail.com on 21 Oct 2013 at 6:48

GoogleCodeExporter commented 9 years ago
Revision: 0d129b1cbd54 Проведён рефакторинг кода 
инструмента визулизации графов.

Original comment by oasyc...@gmail.com on 21 Oct 2013 at 9:28

GoogleCodeExporter commented 9 years ago
Кто тестировал этот "рефакторинг" графа - 
отпишитесь об объеме тестирования - 
приведите список всех регексов и настроек, 
на которых он тестировался...

Original comment by oasyc...@gmail.com on 21 Oct 2013 at 10:30

GoogleCodeExporter commented 9 years ago
18 a(?i)b
выделяю a(
в тексте и дереве все нормально
в графе выделено аж b
в описании только a - без caseless

выделяю ?i - в описании не выделено ничего 
вообще

Правим срочно!

Original comment by oasyc...@gmail.com on 21 Oct 2013 at 7:45

GoogleCodeExporter commented 9 years ago
19 a\bb выделяем bb - в описании выделено только 
b
20 (a)\bb выделяем bb - в графе и описании 
выделено только b
21 (a)(\b)b в таких условиях в описании не 
выделяется ассерт и его подвыражение
выделяем закрывающую скобку слева от а - в 
описании не выделено подвыражение!

Original comment by oasyc...@gmail.com on 21 Oct 2013 at 7:58

GoogleCodeExporter commented 9 years ago
Фон выделения в графе всегда белый - это 
создает проблемы при exact когда выделяешь 
корневую конкатенацию - весь фон 
становится белым, серые участки не видны

Original comment by oasyc...@gmail.com on 21 Oct 2013 at 7:59

GoogleCodeExporter commented 9 years ago
23 (предыдущее считаем 22) На тесте 3+++++++++++ при 
выделении ^ вылетает dot с ошибкой.
24 \b3+*+*+*+*\b (без exact) при выделении последнего 
ассерта в графе выделяется только точка
25 ^(^(^(^(a)$)$)$)$ - при выделении $ в графе 
выделяется только точка, а не надпись 
ассерта

Original comment by oasyc...@gmail.com on 21 Oct 2013 at 8:11

GoogleCodeExporter commented 9 years ago
26 a(bc)c выделите a(b - в описании выделение 
распалось на два участка...

Original comment by oasyc...@gmail.com on 21 Oct 2013 at 8:26

GoogleCodeExporter commented 9 years ago
Описание исправлено, а вот граф нуждается в 
срочных фиксах - см. 18, 20 и 25 в первую очередь.

Original comment by oasyc...@gmail.com on 21 Oct 2013 at 9:48

GoogleCodeExporter commented 9 years ago
Хм. Из всего перечисленного у меня 
подтверждается только 18. 20, 24 и 25 адекватно 
себя ведут.

Original comment by ZluMYO@gmail.com on 22 Oct 2013 at 11:47

GoogleCodeExporter commented 9 years ago
18 исправлено.

Original comment by ZluMYO@gmail.com on 22 Oct 2013 at 2:13

GoogleCodeExporter commented 9 years ago
Значит надо 20 24 и 25 проверить еще у кого-то. 
Вы уже рассказывали что доллар последний 
нормально выделяется - а оказалось код 
править надо.

Терехов, Стрельцов - что у вас с этими 
ситуациями?

Original comment by oasyc...@gmail.com on 22 Oct 2013 at 4:11

GoogleCodeExporter commented 9 years ago
20 работает
24 - выделяется ещё и "3"
25 - не выделяется внутренний $, остальные 
выделяются

Original comment by vostreltsov@gmail.com on 22 Oct 2013 at 4:53

GoogleCodeExporter commented 9 years ago
27. при выделении ассертов появляются 
лишние точки, причём при выделении более 
одного ассерта лишних точек нет
(^$^^$$)+
http://prntscr.com/1z15u7
28. ассерты, заключённые в подмаску, 
находятся снаружи подмаски
(q)($$)+ 
http://prntscr.com/1z174a
29. отрисовывает граф, но не может 
отрисовать выделение, почему то пишет 
ошибку. так же могу привести ещё тесты на 
подобную ситуацию, если нужно.
($+)
30. отрисовка. теперь лезет на узлы самого 
графа
3(((3+-+-+)+)*)*3
http://prntscr.com/1z1bag
31. опять отрисовка. случай когда 
квантификатор лезет на квантификатор, 
когда посередине подмасок с 
квантификаторами есть квантификатор
((((3+-+-+)+)*)*)*3*((((3+-+-+)+)*)*)*3
http://prntscr.com/1z1bvs
и случай, когда его нет
((((3+-+-+)+)*)*)*((3333(3+)*|)|)*((((3+-+-+)+)*)*)*3
http://prntscr.com/1z1cqb
и когда вообще не понятно, что отрисовано
((3(((?:33)*)3+)*| |(3)+| |(\1| )|)|)*
http://prntscr.com/1z1e9b
32. ближний справа к квантификатору ассерт 
выделяется не правильно
3\b\b\b^_+^$5
http://prntscr.com/1z1exy
33. непонятно, к чему относятся ассерты (к 
какой стрелке)
(&|$|&$$^|)
http://prntscr.com/1z1g67
34. название последнего ассерта вылежает за 
пределы кластера подмаски
(&|$|&?$$$$$$$$^|)
http://prntscr.com/1z1gxe
35. случай с множеством пустых адбтернатив
(3|3|$?$$$$$$$$^||||||||||||3)
http://prntscr.com/1z1htg
сюда же запишу случай, когда выделены все 
ассерты
http://prntscr.com/1z1ic6
36. опять отрисока дота. ассерт проходит 
сквозь кластер с квантификатором при 
выделении
^|^|&((3*))?|^|^
http://prntscr.com/1z1kb8
37. опять узлы лезут друг на друга
(([^_^](((1+)*)+)(a))*)|
http://prntscr.com/1z1n5t

Original comment by grvl...@gmail.com on 22 Oct 2013 at 7:44

GoogleCodeExporter commented 9 years ago
28 и 32 - серьезно, собственно аналогично 24 и 25 
Иванов - возьмите таки код из репозитория и 
решите эту конкретную проблему
30 как-то странно, что там со стрелками 
происходит? тоже надо бы решить

Дот мы фиксить пока не будем (по крайней 
мере не к этому релизу ;), а вот проблемы 
структурного рода - типа 28,32,24,25 - надо 
решить сейчас
и с 30 разобраться

Original comment by oasyc...@gmail.com on 22 Oct 2013 at 8:11

GoogleCodeExporter commented 9 years ago
24 и 25 я настаиваю, что они работают. я всё 
проверил. и кэши чистил/пурджил. и чистый 
репозиторий устанавливал на Мудл.
<< 24 - выделяется ещё и "3"
25 - не выделяется внутренний $, остальные 
выделяются >>
Не подтверждаю.

Original comment by ZluMYO@gmail.com on 22 Oct 2013 at 8:18

GoogleCodeExporter commented 9 years ago
24 похоже исправилось при последних правок
в 25 в exact режиме у меня все $ криво выделяются

Original comment by oasyc...@gmail.com on 22 Oct 2013 at 8:22

GoogleCodeExporter commented 9 years ago
в 25 надо выделять только доллар - без 
скобок; выделяется только точка а не дуга

Original comment by oasyc...@gmail.com on 22 Oct 2013 at 8:23

GoogleCodeExporter commented 9 years ago
25 в exact режиме подтверждаю. Хотя странно, 
что он может оказывать такое влияние...

Original comment by ZluMYO@gmail.com on 22 Oct 2013 at 8:26

GoogleCodeExporter commented 9 years ago
по 28 моё изображение http://prntscr.com/1z20v5 .
Видимо имеет место различие используемых 
версий.
аналогично с 32 http://prntscr.com/1z21f9

Original comment by ZluMYO@gmail.com on 22 Oct 2013 at 8:31

GoogleCodeExporter commented 9 years ago
28 и 32 на последнем коде у меня работают с 
ошибками, как у Терехова
Значит вы чего-то недокоммитили...

Original comment by oasyc...@gmail.com on 22 Oct 2013 at 8:41

GoogleCodeExporter commented 9 years ago
28 работает при учитывании регистра букв. 
Коллизия возникает только в ином случае...

Original comment by ZluMYO@gmail.com on 23 Oct 2013 at 4:03

GoogleCodeExporter commented 9 years ago
Похоже в 28 по вам бьют ваши же проверки по 
стилям узлов. Пока надо пофиксить баг самым 
мелким изменением, насколько возможно, 
после релиза - исправить причину.

Original comment by oasyc...@gmail.com on 23 Oct 2013 at 2:57

GoogleCodeExporter commented 9 years ago
У меня сложилась странная ситуация с 25. Все 
доллары выделяются как надо, но осталась 
проблема с ^. Берём ^(^(^(^(А)$)$)$)$ . Включаем exact 
matching. И выделяем 2-ую от А крышку. Выделится 
только 1 точка вместо 2-х (http://prntscr.com/1z8f87). 
Делаю пошаговую отладку. Дохожу до 
генерации dot-инструкций. Получаются такие 
(https://gist.github.com/zlumyo/7124008). Я ради интереса дал 
их скушать графвизу напрямую. И вот что 
получилось (http://prntscr.com/1z8ft1).

Что с этим делать?

Original comment by ZluMYO@gmail.com on 23 Oct 2013 at 6:37

GoogleCodeExporter commented 9 years ago
Дать скушать через командную строку. И 
распечатать инструкции, сгенерированные 
юнит-тестом при таком регексе на входе...

Original comment by oasyc...@gmail.com on 24 Oct 2013 at 7:55

GoogleCodeExporter commented 9 years ago
Иванов - вы вообще собираетесь фиксить 
граф? Главным образом ваши проблемы 
остались.

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

К обеду в воскресенье должна быть готова 
окончательная версия для проверки с 
исправленными существующими проблемами.

Иначе наша встреча во вторник опять будет 
отложена....

Original comment by oasyc...@gmail.com on 25 Oct 2013 at 3:00

GoogleCodeExporter commented 9 years ago
Вытолкнул код по 28 и 32. Проверьте 
пожалуйста.

Original comment by ZluMYO@gmail.com on 28 Oct 2013 at 1:46

GoogleCodeExporter commented 9 years ago
А 25?

У меня сегодня занятия заканчиваются в 
21-20....

Original comment by oasyc...@gmail.com on 28 Oct 2013 at 1:50

GoogleCodeExporter commented 9 years ago
Похоже изменения сделанные для 28 и 32 
исправили 25. По крайней мере описанные выше 
баги в отрисовке пропали.

Original comment by ZluMYO@gmail.com on 28 Oct 2013 at 2:28