IRC log of #schooltool for Friday, 2012-07-06

*** menesis has quit IRC01:27
*** th1a has quit IRC01:33
*** th1a has joined #schooltool02:34
*** replaceafill has quit IRC03:06
*** th1a has quit IRC03:49
*** ignas__ has joined #schooltool04:45
*** ignas__ is now known as ignas05:46
*** ignas has quit IRC05:51
*** aelkner has quit IRC07:08
*** paulproteus has quit IRC07:17
*** paulproteus has joined #schooltool07:22
*** menesis has joined #schooltool11:17
*** ignas has joined #schooltool14:56
*** th1a has joined #schooltool16:39
*** menesis has quit IRC16:53
*** replaceafill has joined #schooltool17:09
*** aelkner has joined #schooltool19:51
*** ignas has quit IRC20:16
*** ignas has joined #schooltool20:22
replaceafillth1a, zyt?20:23
th1ahi replaceafill.20:24
replaceafillhey th1a quick question20:24
replaceafilli changed the Sections accordion to use the jstree widget20:24
replaceafillshould we change the Groups accordion too?20:24
th1aGood thinking.20:24
*** ignas has quit IRC20:38
*** paulproteus has quit IRC20:47
*** paulproteus has joined #schooltool20:50
th1areplaceafill:  Can you send me an invoice, please?21:24
replaceafillth1a, ah ok21:25
aelknerhey guys, are we meeting with welsh today?21:26
replaceafillaelkner, no, we agreed i'd send him my updates by email21:26
th1aHOw are you coming aelkner?21:27
aelknerah, ok, what about monday?21:27
aelkneroh, never mind, i'll be there anyway21:27
replaceafillaelkner, can you confirm an error in: schooltool/export/stests/export.txt21:28
aelknerth1a, i'm working on the tertiary nav task, nothing to show you yet21:28
aelknerperhaps in a couple of hours21:28
* replaceafill goes to get lunch, bb in ~ 1 h21:42
aelknerreplaceafill, ayt?22:23
replaceafillaelkner, i'm back22:29
aelknerhey, i have a question about stests22:29
aelkneri tend to run them without the new silent feature that we have because i like to see them run22:30
aelknerand in so doing, i've noticed that they are fast from screen to screen, but then they get22:30
aelknerbogged down for, until now, typically half a minute when they do a query for something that is not22:31
aelknerfound on the screen, as it is often easier to write a negative tests then think of a positive one22:32
aelknerdo you know why it gets so bogged down on negative tests?22:32
replaceafillit's the implicit wait feature of selenium22:32
replaceafilli remember yvl added a config for that22:32
replaceafilllet me look22:32
aelknerselenium.implicit_wait = 322:33
aelkneri found that in buildout.cfg22:34
replaceafillthat's the one22:34
aelknerwhat is the 3 for, seconds?22:34
aelknerbut it's stalling for half a minute, then finally giving up and correctly yileding the negative result22:34
replaceafillon what part?22:34
replaceafillthe gradebook for example22:35
aelknerany negative test, we have them spread out in the various packages22:35
replaceafillhas several checks for every activity22:35
aelknerhow many of the checks are testing against a result set with nothing in it?22:36
aelkneralso, have you run it without silent much lately?22:36
replaceafillin the gradebook they're not checks22:36
replaceafillit's the printer helper22:36
replaceafillthat looks for inputs22:36
replaceafilli use --selenium-headless a lot lately22:36
replaceafilli hate chrome popping up22:37
aelknerdoes it run faster?22:37
replaceafillor changing my windows focus22:37
aelkneryeah, i hate that too22:37
replaceafilli'd say it's the same22:37
aelknerand i know that i don't need to see it running every time, but it is how a caught the delay22:37
replaceafillyou should set the implicit wait to 122:38
replaceafillthat's what i do22:38
aelknerman, something really weird is happening lately22:41
aelknerit's not just stalling out for half a nimute anymore, it's locking all the way up, which it never does22:41
replaceafillwhat test are you trying?22:41
replaceafillthe whole suite?22:41
aelkneri'm just trying to fix tests that got broken by changes i made to the views22:42
aelkneri'll need to push and merge what i have for you to see it though22:42
replaceafilli can confirm if you want22:42
aelknerbut can you just run bin/test schooltool.cando anyway22:42
aelknerfor now i mean, and i'll push and merge it in the meantime22:42
aelkneri'm sorry, i meant bin/test -vs schooltool.cando22:44
replaceafillah ok22:45
aelknerif that runs successfully for you, that will be a helpful piece of data22:45
replaceafilli remember the importer tests were broken22:45
replaceafilllet me get trunk22:45
aelknerthat's the test file22:45
aelknerbtw, i had to fix one test in the Carpentry container view that wasn't alphabetical in the test22:49
aelknerso i swapped the order22:49
aelknerbut maybe you won't even get that broken test, it may be a unpredictable hash thing with an unsorted dict22:49
aelknerbut even after i corrected that, it locks up22:51
replaceafilli'm getting the lock up in /skills22:51
replaceafillFile "/home/replaceafill/sandboxes/cando_tests/schooltool.cando/src/schooltool/cando/browser/stests/import_skills.txt", line 33, in import_skills.txt22:51
replaceafillFailed example:22:52
replaceafill    manager.ui.import_global_skills(filename)22:52
replaceafillwell, it's a failure22:52
replaceafilli think you need to update that helper22:52
replaceafilli mean, browser extension22:52
replaceafillthe rest of the tests pass22:52
replaceafilland they take 1 minut 25 secs22:52
aelknerhow did you get to the rest of the tests if it locked up22:54
replaceafillthat's why i said "well, it's a failure"22:54
replaceafillnot a lock up22:54
replaceafillNoSuchElementException: Message: u'The element could not be found'22:54
aelknerah, you only got a failure, what was it22:54
aelknerabove you stopped at the line that failed22:55
replaceafillthe Import Skill Data doesnt exist anymore22:55
aelknerah, it crashes22:55
aelknerin the extension routine, ok22:55
aelkneri already fixed that one on my side, you just need to get rid of the Skills click between clicking School22:56
aelknerand Import Skill Data22:56
aelknerbut i don't want you to commit any change like that, because i already will be22:57
replaceafilloops, i already committed it22:57
aelknerbut perhaps you could try that our and revert it just to see if you get all the way though22:57
replaceafill(joking) ;)22:57
aelkneroh, you got me there22:57
replaceafilli know ;)22:57
replaceafillnah, i'm working on dwelsh updates right now22:58
replaceafilli'm not touching trunk22:58
aelkneroh, i knew you weren't doing that22:58
replaceafilli'll merge that until he says everything is ok22:58
aelkneryou're updating cando or virginia?22:58
aelknerok, let me just push my stuff to trunk, it works with manual tests anyway22:59
aelknerreplaceafill, i've merged and pushed to trunk, would you have a chance to marge and run the tests23:07
aelknerit contains the fix for the import seleium extension23:10
replaceafillimport_skills.txt is definitely taking lots of time23:13
replaceafillit keeps running though23:13
replaceafilli blame the printFormFields helper23:14
aelknercould very well be23:15
replaceafillto me, it's doing too many queries23:15
aelknerit does queries in a loop, so that is computationally complex23:15
aelknerbut it doesn't like it could be an infinite loop23:16
aelknerwhat do think about the following:23:16
replaceafilltests pass at the end23:16
replaceafillTotal: 12 tests, 0 failures, 0 errors in 6 minutes 44.919 seconds.23:16
replaceafillit's like 4 minutes more than the last time23:16
aelknerwhile i was putting the finishing touches on my latest core import/export23:17
aelknerah, it finally timed out and passed23:17
aelkneryeah, that won't do23:17
aelkneranyway, as i was saying, i thought of a way to make these tests go faster23:17
aelknernow that we have the ability to query the export xls file (thanks to yvl for that)23:18
aelknerit can be much easier to just run the export and tests against it23:18
aelknerwhen all you are doing is testing an import23:18
aelkneri think that there should always be tests for the views themselves anyway23:19
aelknerso there's no need to run though the views again, as i have been,23:19
aelknerto test for whether the data has changed correctly23:19
aelknerit makes more sense to use the export, don't you think?23:20
replaceafillhow would you know if the index view is broken?23:20
aelknerhow would you know if the data that has change results in the index view crashing?23:21
aelkneris that what you're asking?23:21
replaceafillif i understand you correctly you want to use the export *only* for importer tests23:22
aelknerfor now, i would say that is the only example of mass changes to the data that need to be verified23:23
aelknernormally, when the ui is used to change data, it wold make sense to go look in the index to see it changed23:23
replaceafillthat sounds more like unit tests to me23:24
replaceafillnot functional ones23:24
replaceafillimho, functional means clicking and *seeing*23:25
aelkneryeah, but you don't need to overlap tests too much, it will needlessly add to the time spent23:26
aelkneri mean, in theory, you could click every view, each time you do something in the ui to change data23:27
aelkner'just in case' that change broke data somewhere else that causes this view to crash23:27
aelknerbut one doesn't do that, they only look at the change where they expect it23:27
aelknerthe object is now in the index, or the object has change in it's index.html view23:28
aelknerwhy is that enough, what if the edit view broke an entirely unrelated object, it could have23:29
replaceafillthen you run the full suite, right?23:29
replaceafillif it broke and it wasn't caught, then you need a new test for the broken part23:29
aelknerno i'm saying, when you test an edit Submit button click, we do it all over23:29
aelknerat that point, each time, wy woldn't one go check all the other index views to see they are not broken?23:30
aelknerbecause it doesn't make any sense to is why23:31
aelkneryou just assume the edit view only changed what you intended to change, and you prove it with the test23:32
aelknerso i'm just suggesting, in the case of importing, to tests that which we expect to change23:32
aelknernamely, that which we can verify with a simple export tests23:32
aelkneri keep saying tests, plural, when i mean test23:33
aelknerbut you see my point, if anything, it is a fnctional test of the importer as well as an additional one for the exporter23:33
aelknerbut not a waste of time, clicking and seeing and not finding and stalling, what have you23:34
aelknerhave i convinced you? :)23:36
replaceafilli'm getting rid of the lagging helper :)23:36
replaceafillin import_skills.txt23:36
aelknerand replacing it with what?  what do you have in mind?23:36
replaceafill+    >>> def format_row(row):23:37
replaceafill+    ...     label = row.query.xpath('td[1]').text23:37
replaceafill+    ...     value = row.query.xpath('td[2]').text23:37
replaceafill+    ...     return '%s: %s' % (label, value)23:37
aelknerand then calling format_row in a loop?23:38
aelknerand the loop is derived from doing a query, rght?23:39
replaceafillbut not need of query_all inside query_all23:40
aelknerah, i see, so that's what was causing the biggest bump23:41
aelknerso query_all * query is about the same as query * query_all23:41
aelknerbit query_all * query_all is probably to big23:41
replaceafillTotal: 12 tests, 0 failures, 0 errors in 1 minutes 1.111 seconds.23:44
replaceafillbetter :)23:44
aelknerah, way better!  thanks for figuring that out23:49
aelkneri'll remember to avoid query_all * query_all in the future :)23:49
aelknerTotal: 12 tests, 0 failures, 0 errors in 46.469 seconds.23:51
aelkneri'm faster than you are, nah, nah, nah-nah, nah23:51

Generated by 2.15.1 by Marius Gedminas - find it at!