2008-07-04T00:00:03  <dennda> How very nice of him :)
2008-07-04T00:00:05  <dreimark> zenhase: hi
2008-07-04T00:00:07  <dennda> I'll just check i
2008-07-04T00:00:08  <johill> see http://hg.moinmo.in/moin/1.8-mercurialbackend-ppacana/file/tip/MoinMoin/storage/_tests/test_backends.py
2008-07-04T00:00:57  <xorAxAx> dennda: and he told you so
2008-07-04T00:01:48  <johill> and I want those tests! :P
2008-07-04T00:01:49  <dennda> xorAxAx: As I said, I couldn't find it in my logs
2008-07-04T00:02:03  <xorAxAx> dennda: then use our logs :)
2008-07-04T00:02:41  * dennda thinks xorAxAx ignores what he wrote
2008-07-04T00:02:59  <dennda> johill: You'll get your sweets and candy, promise :)
2008-07-04T00:03:23  * TheSheep makes white tea for the whole channel
2008-07-04T00:04:45  <dennda> shouldn't that be a unicode string in line 25?
2008-07-04T00:04:56  * xorAxAx helps dennda searching
2008-07-04T00:04:58  <johill> hgweb is borked
2008-07-04T00:05:08  <xorAxAx> dennda: http://moinmo.in/MoinMoinChat/Logs/moin-dev/2008-07-03?highlight=%28pawel.%2Adennda%29
2008-07-04T00:05:09  <johill> it's just utf-8 encoded
2008-07-04T00:06:25  <mmihaljevic> dreimark: yes will do a new commit and also to commit  changes I done so the Page.py tests work
2008-07-04T00:06:29  <mmihaljevic> re
2008-07-04T00:06:56  <dennda> Ah yes, I am somehow blind
2008-07-04T00:07:43  <johill> oi
2008-07-04T00:07:46  <johill> 29 passed, 23 failed
2008-07-04T00:09:10  <dennda> yeah
2008-07-04T00:09:18  <ThomasWaldmann> johill: about the id-based fs backend
2008-07-04T00:09:29  <ThomasWaldmann> isn't name also just metadata?
2008-07-04T00:10:35  <dennda> johill: wrt the encoding, sure it's utf-8, but he has some polish characters there, thus that should be a unicode string in python, no?
2008-07-04T00:11:50  <johill> oh that
2008-07-04T00:11:56  <johill> yeah
2008-07-04T00:12:13  <johill> ThomasWaldmann: not really, no, because the upper layer code wants to look up by name
2008-07-04T00:12:36  <johill> and the upper layer is organised around the name being the handle, not around something like user.id
2008-07-04T00:12:50  <johill> I don't think it would be wise to change that at this point
2008-07-04T00:13:09  <johill> nor would it be wise, imho, to insert the name as metadata and try to work around it
2008-07-04T00:13:22  <ThomasWaldmann> what I mean is kill "name" file and add name: foo into meta file.
2008-07-04T00:13:27  <johill> dennda: that long x...x could also jsut be + 'x'*50
2008-07-04T00:13:35  <johill> ThomasWaldmann: ah
2008-07-04T00:14:04  <ThomasWaldmann> also, didn't we already have some code for fixed record length stuff?
2008-07-04T00:14:24  <johill> ThomasWaldmann: well I tried to keep all the namespace of meta clean, putting 'name' into there would mean the upper layers can't use that key
2008-07-04T00:14:44  <johill> ThomasWaldmann: yeah but I didn't find it (might have been removed with logfile rewrite?) and it's just a few lines
2008-07-04T00:14:57  <johill> and my fixed records are just 16 bytes
2008-07-04T00:15:34  <dennda> johill: Yes, I already spotted a few things I want to refactor / improve. But let me once again look up how to merge in hg, just to make sure...
2008-07-04T00:16:18  <ThomasWaldmann> johill: not using name because someone else could want to use it is transitive :P
2008-07-04T00:16:44  <dreimark> mmihaljevic: if it is not needed you should remove the print in MoinMoin/security/__init__.py too
2008-07-04T00:16:58  <dreimark> MelitaMihaljevic@3690
2008-07-04T00:17:02  <johill> ThomasWaldmann: huh?
2008-07-04T00:17:12  <ThomasWaldmann> johill: and the real solution for that is not creating just another file, but using some good key
2008-07-04T00:17:27  <mmihaljevic> dreimark: yes I will do this it's in one of my next commits
2008-07-04T00:17:29  <ThomasWaldmann> e.g. you could call it itemname if you dont like name
2008-07-04T00:17:34  <dreimark> mmihaljevic: ok
2008-07-04T00:17:50  <mmihaljevic> dreimark: I'm just pushing the commited merge
2008-07-04T00:18:03  <johill> ThomasWaldmann: ah, but I'm writing a backend, so I shouldn't, imho, impose any sort of limitations on the keyspace
2008-07-04T00:18:27  <johill> ThomasWaldmann: so that the key space is free for the upper layers. of course, we could say we reserve re("__.*")
2008-07-04T00:18:54  <ThomasWaldmann> we could have the upper layer store the item name in general
2008-07-04T00:19:12  <johill> but then relying on that in the backend is wrong
2008-07-04T00:19:21  <johill> besides, it doesn't have to, because it uses that as the key
2008-07-04T00:19:25  <ThomasWaldmann> (so if fsck cleans up your pagedirs, you can still recognize what it was :)
2008-07-04T00:20:06  <ThomasWaldmann> how high is probability that we have to open/read meta file?
2008-07-04T00:20:18  <johill> what do you mean?
2008-07-04T00:20:23  <ThomasWaldmann> how high is probability that we have to open/read name file?
2008-07-04T00:20:36  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4273:3aa340234e37 1.8-storage-cdenter/MoinMoin/storage/ (4 files in 3 dirs): storage: Merge with 1.8-mercurialbackend-ppacana
2008-07-04T00:20:42  <johill> oh
2008-07-04T00:20:48  <ThomasWaldmann> well, what's unclear about the question?
2008-07-04T00:21:00  <johill> it's needed for news
2008-07-04T00:21:06  <johill> and for rename
2008-07-04T00:21:17  <dennda> I did that correctly, didn't I? (just to make sure, that was my first hg merge)
2008-07-04T00:21:39  <johill> seems so
2008-07-04T00:21:50  <johill> ThomasWaldmann: meta file is only opened when you explicitly request the item's metadata
2008-07-04T00:22:16  <ThomasWaldmann> so...?
2008-07-04T00:22:20  <johill> ThomasWaldmann: also, meta file isn't created when there is no metadata
2008-07-04T00:22:37  <johill> I'm not really sure what you're saying; yes, we can reserve part of the key namespace for backend use
2008-07-04T00:23:16  <johill> but then those keys shouldn't be visible in the upper layers nor be settable
2008-07-04T00:23:48  <ThomasWaldmann> my point is not to usually have to open 2 files. and i really see itemname just as another metadata value of an anon object.
2008-07-04T00:24:10  <ThomasWaldmann> and it is an upperlevel thing, not lower level
2008-07-04T00:24:13  <johill> usually you open neither one of them
2008-07-04T00:24:19  <ThomasWaldmann> because every item has a name
2008-07-04T00:24:24  <johill> ok yes but look
2008-07-04T00:24:29  <johill> pages are indexed by name
2008-07-04T00:24:29  <ThomasWaldmann> no matter what backend you use
2008-07-04T00:24:32  <johill> users are indexed by ID
2008-07-04T00:24:38  <johill> there's a fundamental difference here
2008-07-04T00:24:57  <johill> this backend turns it upside down _within the backend_, not to the upper layers
2008-07-04T00:25:31  <johill> pages aren't anonymous objects, they are named by their page name
2008-07-04T00:25:40  <johill> this backend just treats them as such because of the rename problem
2008-07-04T00:26:17  <ThomasWaldmann> if you have a sql backend, itemname would be just another column as any other metadata
2008-07-04T00:26:37  <johill> not exactly, no
2008-07-04T00:26:49  <johill> names need to be unique, but metadata keys are not
2008-07-04T00:26:56  <johill> eh, metadata values
2008-07-04T00:27:18  <ThomasWaldmann> that doesn't make it not metadata
2008-07-04T00:27:31  <ThomasWaldmann> just metadata with additional requirements
2008-07-04T00:27:49  <johill> yeah which means that suddenly we need to be able to define metadata requirements
2008-07-04T00:27:57  <ThomasWaldmann> see user profile storage
2008-07-04T00:28:11  <johill> yeah that's racy
2008-07-04T00:28:13  <ThomasWaldmann> there is also name=foo in it and we check it
2008-07-04T00:28:55  <ThomasWaldmann> and the user file is just some random id
2008-07-04T00:29:20  <johill> yes, I know all that, but that's the other approach where the upper layers identify objects by ID and not by name
2008-07-04T00:29:29  <johill> and with pages we identify them by name
2008-07-04T00:29:38  <johill> therefore, to the backend, the name isn't just arbitrary metadata
2008-07-04T00:29:40  <ThomasWaldmann> yeah
2008-07-04T00:30:02  <johill> changing the approach isn't a good idea either though
2008-07-04T00:30:28  <johill> because then you can end up with two items with the same name
2008-07-04T00:30:54  <johill> unless you do global locking at a very high level
2008-07-04T00:31:37  <ThomasWaldmann> ? i dont see how separate name storage is related to uniqueness check.
2008-07-04T00:32:03  <johill> I'm happy to store the 'name' file contents into a __name key in the meta file instead, but only if we can agree to reserve the __namespace completely and never show it to the upper layers
2008-07-04T00:32:08  <johill> because
2008-07-04T00:32:31  <johill> if search_item(metadata(name='asdf')) is None:
2008-07-04T00:32:41  <johill>   save_item(metadata(name='asdf'))
2008-07-04T00:32:42  <johill> is racy
2008-07-04T00:33:06  <johill> no it's not about how it's stored, it's about how it works conceptually
2008-07-04T00:33:47  <johill> like I said, I can store it there, but then I need to filter it and reserve that key, and make a global rule that certain keys (easiest would be those starting with an underscore or two) are reserved and upper layers may never use those
2008-07-04T00:33:59  <ThomasWaldmann> i see what you mean for the race problem, but not how it is solved now
2008-07-04T00:34:42  <johill> well now I have a lock for the name-mapping file and atomically check while I rename or create the new item
2008-07-04T00:35:04  <johill> but it's all within the backend
2008-07-04T00:35:09  <johill> no high-level locking is needed
2008-07-04T00:36:28  <ThomasWaldmann> what else is currently in meta? currentrev?
2008-07-04T00:37:03  <ThomasWaldmann> lasteditcached?
2008-07-04T00:39:19  <johill> edit locks
2008-07-04T00:39:25  <ThomasWaldmann> rev.N is a directory?
2008-07-04T00:41:00  <johill> no just a file
2008-07-04T00:41:21  <ThomasWaldmann> how has the file meta and data?
2008-07-04T00:41:40  <johill> it's just both encoded into it
2008-07-04T00:42:20  <johill> it starts with four bytes that give you the data offset, and then the pickled metadata
2008-07-04T00:42:25  <johill> and then at the data offset the data
2008-07-04T00:42:56  <johill> dennda: can you write a few seek tests with the various seek offsets (start, cur, end) some time? I'm not entirely sure I got that right
2008-07-04T00:43:13  <ThomasWaldmann> hmm, quite inaccessible from the shell. but well, ids aren't accessible either.
2008-07-04T00:43:39  * dennda adds it to the todo list
2008-07-04T00:44:32  <ThomasWaldmann> i would've preferred revision metadata as text/plain and revision data is an unmodified data file
2008-07-04T00:44:48  <dennda> "Enter a moin core team member's last name." --- tough captcha
2008-07-04T00:44:56  <dennda> s/captcha/textcha/
2008-07-04T00:45:18  <ThomasWaldmann> i am open to non-logged suggestions :)
2008-07-04T00:46:01  <ThomasWaldmann> (but a textcha shouldnt be too trivial so that every underpayed chinese human spammer can solve it)
2008-07-04T00:46:17  <dennda> Do those exist? Oo
2008-07-04T00:46:44  <ThomasWaldmann> not many, most are scripts
2008-07-04T00:47:09  <johill> I'll just add you to the 'no textcha group'
2008-07-04T00:50:25  * dreimark adds MoonByeongweon
2008-07-04T00:51:14  <johill> huh I don't understand PawelPacana's tests
2008-07-04T00:51:24  <johill> who's supposed to create those default items, why doesn't the test do it?
2008-07-04T00:52:12  <dreimark> gn
2008-07-04T00:52:23  <ThomasWaldmann> gn dreimark
2008-07-04T00:54:16  <johill> wow test_item_rename_nonexisting is so borked!
2008-07-04T00:54:48  <mmihaljevic> gn dreimark
2008-07-04T00:56:21  <dennda> johill: you can pass them yourself, but if you don't those are used as defaults
2008-07-04T00:56:32  <johill> yeah but they aren't created
2008-07-04T00:56:39  <johill> so some tests fail because they want them there
2008-07-04T00:56:59  <dennda> aren't created?
2008-07-04T00:57:17  <johill> well shouldn't they be added to the backend somewhere?
2008-07-04T00:57:49  <dennda> ah
2008-07-04T00:58:43  <johill> well try to port the membackend tests to this new stuff and you'll see :)
2008-07-04T00:59:11  <dennda> lemme fix my pep08 first
2008-07-04T01:00:01  <johill> sure
2008-07-04T01:01:27  <johill> ThomasWaldmann: having name in a separate file means you can at least check the name from the command line though :)
2008-07-04T01:03:50  <mmihaljevic> johill: got some question about Pages.py
2008-07-04T01:04:13  <mmihaljevic> line 1147 and 1148
2008-07-04T01:04:16  <ThomasWaldmann> johill: heh :P
2008-07-04T01:04:25  <mmihaljevic> what it actually does
2008-07-04T01:04:51  <ThomasWaldmann> and why it is needed
2008-07-04T01:07:36  <johill> http://moinmo.in/HelpOnOpenIDProvider
2008-07-04T01:07:57  <johill> http://moinmo.in/JohannesBerg/OpenID%20support/server
2008-07-04T01:10:39  <mmihaljevic> huh
2008-07-04T01:11:52  <johill> the latter has the use cases for the group there
2008-07-04T01:12:52  <ThomasWaldmann> thats not the question
2008-07-04T01:13:14  <ThomasWaldmann> the question is why it has an explicit addgroup call
2008-07-04T01:13:34  <johill> oh I dunno, it didn't seem to work without it
2008-07-04T01:14:00  <johill> maybe that was just fluke, or has been fixed, or something
2008-07-04T01:15:13  <ThomasWaldmann> request.dicts should have all dicts
2008-07-04T01:15:31  <ThomasWaldmann> after it got initialized
2008-07-04T01:15:55  <johill> dennda: test_item_rename_nonexisting is just confused, kill it
2008-07-04T01:16:01  <dennda> ================== tests finished: 474 passed in 17.04 seconds ==================
2008-07-04T01:16:04  <dennda> yay
2008-07-04T01:16:30  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4274:709f1728f43e 1.8-storage-cdenter/MoinMoin/storage/_tests/test_backends.py: storage: Tests: Clean up the abstract backend test code a bit
2008-07-04T01:16:31  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4275:0440b5976073 1.8-storage-cdenter/MoinMoin/storage/ (8 files in 4 dirs): (storage): Fixing PEP08 violations
2008-07-04T01:16:41  <johill> heh
2008-07-04T01:16:58  <dennda> PawelPacana: I fixed your PEP08 violations, too. So feel free to merge that
2008-07-04T01:17:37  <dennda> I don't know how long that'd have taken without the power of vims regex replacement
2008-07-04T01:18:07  <johill> trailing whitespace?
2008-07-04T01:18:10  <dennda> yes
2008-07-04T01:18:36  <dennda> I should adjust my theme to highlight that a bit more agressively
2008-07-04T01:19:42  <johill> I think you were a bit too aggressive ;)
2008-07-04T01:19:44  <johill> py.test.raitemses
2008-07-04T01:20:09  <dennda> huh
2008-07-04T01:21:45  <dennda> where is that?
2008-07-04T01:21:47  <dennda> ah
2008-07-04T01:21:49  <dennda> i see
2008-07-04T01:24:06  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4276:3c5342003c12 1.8-storage-cdenter/MoinMoin/storage/_tests/test_backends.py: (storage): (abstract tests): Trivial Fix: Replacement mistake
2008-07-04T01:24:31  <dennda> that came from the first changeset
2008-07-04T01:24:46  <dennda> Was a bit confused at how my trailing whitespace killer regex would have done that :)
2008-07-04T01:25:05  <johill> ah no :)
2008-07-04T01:26:59  <johill> oi
2008-07-04T01:27:22  <johill> confusing
2008-07-04T01:27:24  <johill> these default items
2008-07-04T01:27:46  <johill> remove test_item_rename_nonexisting please, it's bogus to change item._name and then think it may have change its name
2008-07-04T01:29:04  <dennda> I wonder why he does that
2008-07-04T01:29:14  <johill> I think he uses item._name
2008-07-04T01:29:21  <johill> we should write a test against him :)
2008-07-04T01:29:28  <zenhase> dreimark: hi :)
2008-07-04T01:29:41  <johill> something like
2008-07-04T01:29:45  <dennda> I don't even know if such a test is necessary
2008-07-04T01:29:52  <johill> item = create_item('asdf')
2008-07-04T01:30:00  <johill> item.change_metadata(), item.publish_metadata()
2008-07-04T01:30:02  <dennda> if you already have an item, why shouldn't you be able to rename it?
2008-07-04T01:30:18  <johill> item2 = get_item('asdf')
2008-07-04T01:30:24  <johill> item.rename('asdf1')
2008-07-04T01:30:34  <johill> item2.rename('adsf')
2008-07-04T01:30:55  <johill> assert has_item('asdf')
2008-07-04T01:31:17  <johill> I think he may be using item._name although it's not necessarily up-to-date
2008-07-04T01:32:02  <dennda> I get your point
2008-07-04T01:32:06  <johill> (this test indicates he uses item._name to know what to rename from)
2008-07-04T01:32:21  <dennda> The Item isn't necessarily renamed by just changing item._name
2008-07-04T01:32:37  <johill> that for sure not
2008-07-04T01:33:16  <johill> anyway, best replace test_item_rename_nonexisting by a test like that
2008-07-04T01:33:23  <johill> he has ~1/2 of the tests failing anyway right now
2008-07-04T01:34:26  <johill> and a bunch of tests he wrote are just bogus
2008-07-04T01:34:37  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4277:949e0f9e6739 1.8-storage-cdenter/MoinMoin/storage/_tests/test_backends.py: storage: abstract backend tests: removing test case that was based on improper use of the API
2008-07-04T01:35:00  <dennda> I havn't looked into all of them yet
2008-07-04T01:35:05  <johill> ah no
2008-07-04T01:35:18  <johill> he wants a new repo for every single test
2008-07-04T01:35:31  <dennda> ?!?
2008-07-04T01:35:46  <johill> yeah look at _hg.py setup_method
2008-07-04T01:35:57  <johill> he creates a new repo and fills it with the default_items
2008-07-04T01:36:02  <johill> (so that's where...)
2008-07-04T01:36:23  <johill> I think that's just broken
2008-07-04T01:37:32  <dennda> I don't know tempfile and shutil
2008-07-04T01:37:45  <johill> you don't have to for memb
2008-07-04T01:38:13  <dennda> That's why I don't know them. Never needed them up to now
2008-07-04T01:41:09  <johill> I think all these parameters to __init__ are useless
2008-07-04T01:42:17  <johill> I'd do this
2008-07-04T01:43:14  <johill> use setup_class to create teh backend and assign it to the class
2008-07-04T01:43:28  <johill> then in __init__ check if it hasattr
2008-07-04T01:43:42  <johill> (because py.test instantiates them w/o setup_class before running)
2008-07-04T01:44:01  <johill> and then add all the default items, run tests, and let the backend specific code clean up in teardown_class
2008-07-04T01:44:37  <johill> or something like that
2008-07-04T01:50:54  <dennda> got a bit late already :)
2008-07-04T01:51:49  <johill> hmmm
2008-07-04T01:52:01  <johill> the test code doesn't encode the stored revision data
2008-07-04T01:52:08  <johill> metadata is fine
2008-07-04T01:52:20  <johill> but I don't think the backend should encode the revision data to utf-8, that'll suck for binary items
2008-07-04T01:54:47  * dennda teethes his brush
2008-07-04T01:58:27  <zenhase> :o
2008-07-04T01:58:28  <johill> I give up, these tests are just borked, I'll let you fix them :)
2008-07-04T02:00:40  <dennda> hah
2008-07-04T02:01:08  <dennda> sounds like music in my ears :)
2008-07-04T02:01:08  <xorAxAx> hello zenhase, evil ignorasmus of the year :-)
2008-07-04T02:01:34  <xorAxAx> long time no see, esp. not at the meeting on wednesday, i.e. 2 days ago
2008-07-04T02:01:51  <xorAxAx> s/ras/ra/
2008-07-04T02:01:52  <johill> you can also just rewrite them based on your tests ;)
2008-07-04T02:02:18  <xorAxAx> are you talking about heinrichs code?
2008-07-04T02:02:25  <johill> no, PawelPacana's
2008-07-04T02:02:35  <xorAxAx> is heinrichs test code still alive?
2008-07-04T02:02:45  <dennda> I will see what I can do. I had some kind of plan on how to generalize that. I will check if PawelPacana's work at least partially matches that and, if not, rewrite it
2008-07-04T02:02:45  <johill> yeah, but not for much longer
2008-07-04T02:03:00  <xorAxAx> johill: are you sure that its sane to throw it away?
2008-07-04T02:03:08  <johill> positive
2008-07-04T02:03:35  <johill> trying to port it to new API would be a nightmare, and the tests themselves are very very fragile too
2008-07-04T02:03:45  <xorAxAx> this shouldnt end in a PK disaster where people throw away 90% every year and it might just end up working after 10 attempts
2008-07-04T02:04:08  <xorAxAx> well, ok
2008-07-04T02:04:09  <johill> then whoever mentored lanius should have helped him design an API that works
2008-07-04T02:04:17  <xorAxAx> i truely agree
2008-07-04T02:04:57  <johill> those tests are mostly written directly to the borked backend API
2008-07-04T02:05:08  <xorAxAx> more important is that johill and TheSheep facilitate the learning process of pawel wrt the storage api
2008-07-04T02:05:20  <xorAxAx> the current test code should have shown where misunderstandings remain
2008-07-04T02:05:35  <johill> well I found one misunderstanding
2008-07-04T02:05:47  <xorAxAx> i am not pawel, good night :-)
2008-07-04T02:06:07  <johill> the rest is just bad design, most likely caused by his tests failing anyway so he doesn't see those that really are wrong :)
2008-07-04T02:06:13  <xorAxAx> (PK = paderkicker btw :))
2008-07-04T02:06:27  <johill> :)
2008-07-04T02:06:58  <xorAxAx> well, given that i assume that most of the design decisions are not documented, its expected to have somebody come up with "bad design"
2008-07-04T02:07:41  * xorAxAx &
2008-07-04T02:21:56  <johill> dennda: please add a test with a / in the name too, just in case somebody tests filesystem stuff and gets it wrong or so
2008-07-04T02:24:06  <dennda> ok
2008-07-04T02:24:36  <dennda> note to self: read everything johill wrote as soon as I am not tired anymore
2008-07-04T02:24:40  * dennda goes zzzzzZZzzzZZzzzzZZZzzZZZzzzZZZZ
2008-07-04T02:24:42  <johill> :)
2008-07-04T02:24:44  <dennda> good night
2008-07-04T02:24:46  <johill> night
2008-07-04T04:43:29  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4270:910381581455 1.8-mercurialbackend-ppacana/MoinMoin/storage/_tests/test_backends.py: (test_backends) Fixed broken test case.
2008-07-04T04:43:30  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4271:b55b46054693 1.8-mercurialbackend-ppacana/MoinMoin/storage/backends/hg.py:
2008-07-04T04:43:30  <CIA-53> (hg backend) PEP8 fixes (raise). Directory creation error handling on backend
2008-07-04T04:43:30  <CIA-53> init. has_item revisioned items distinction. _has_revisions helper added. Added
2008-07-04T04:43:32  <CIA-53> _write/_read/_seek_revision_data. _rename, _commit, _rollback, _get_revision,
2008-07-04T04:43:34  <CIA-53> _create_revision, _create_item fixes to comply with API.
2008-07-04T04:43:36  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4280:cd073926f7a6 1.8-mercurialbackend-ppacana/MoinMoin/storage/ (8 files in 4 dirs): Merge with 1.8-storage-cdenter.
2008-07-04T04:43:39  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4281:ee886d376a58 1.8-mercurialbackend-ppacana/MoinMoin/storage/_tests/test_backends.py: Get rid of utf chars.
2008-07-04T04:49:41  <PawelPacana> johill: 42 passed, 9 failing, and those failing because of non implemented things, one failing test (list_revisions) because of problem i mentioned you earlier(comitting revisions with data thath hasnt changed beetwen them so that mercurial rejects such commits)
2008-07-04T04:55:06  <PawelPacana> next one: default_items are the items that should live in backend, but have to be created not using API -simply to test get_item even if create_item is bugged; process of creation is left to specific backend
2008-07-04T05:05:47  <PawelPacana> yes, i`m creating new repo for every test, as no order of execution is guaranteed, nor should any test correlate to each other
2008-07-04T05:06:14  <PawelPacana> rename_item changes repo state for example
2008-07-04T05:08:21  <PawelPacana> i would rather focus on accuracy, not efficiency in this case
2008-07-04T05:09:22  <PawelPacana> yeah, that test with item._name was deprecated, somehow survived
2008-07-04T05:10:04  <PawelPacana> and no, i'm not using item._name ;)
2008-07-04T05:13:33  <PawelPacana> ah, please enumerate those bogus tests
2008-07-04T05:14:03  <PawelPacana> gn
2008-07-04T05:53:40  <dreimark> moin
2008-07-04T06:03:37  <dreimark> mmihaljevic: there are some sourcecode pep8 bugs on various places of the new code
2008-07-04T06:05:40  <dreimark> ThomasWaldmann: I think the comment of 1.7 repo should be changed, testing is misleading
2008-07-04T06:12:37  <dreimark> johill: the changeset 3831 8c5fbc62dd1d also needs tests fixed
2008-07-04T06:12:40  <dreimark> _tests/test_user.py[13] FFFFFFFFF....
2008-07-04T06:15:13  <dreimark> this one may be broken by this cs too auth/_tests/test_auth.py[4] ...F
2008-07-04T06:15:25  <dreimark> bbl
2008-07-04T08:09:29  <ThomasWaldmann> moin
2008-07-04T08:21:30  <ThomasWaldmann> dreimark: i fixed those repo descriptions
2008-07-04T08:40:14  <mmihaljevic> dreimark: I fixed pep8 and also done some variable names and some defaults definitions fixes, will commit it after breakfast,
2008-07-04T08:40:25  <mmihaljevic> and morning to all
2008-07-04T08:49:13  <mmihaljevic> also now all test_Pages.py pass
2008-07-04T09:23:25  <mmihaljevic> I have test_users.py failing
2008-07-04T09:26:14  <dreimark> hi mmihaljevic
2008-07-04T09:26:27  <mmihaljevic> hello dreimark
2008-07-04T09:26:28  <dreimark> test_users.py failing is not your fault
2008-07-04T09:26:42  <mmihaljevic> dreimark: I know, just telling, all other tests are passing
2008-07-04T09:27:03  <mmihaljevic> including test_sourcecode.py
2008-07-04T09:27:04  <dreimark> you don't see a failing test_auth.py last test ?
2008-07-04T09:27:28  <mmihaljevic> hm.. let me see, I'm running them all now
2008-07-04T09:27:50  <mmihaljevic> we'll see now
2008-07-04T09:27:58  <xorAxAx> we? :)
2008-07-04T09:28:29  <mmihaljevic> xorAxAx: sometimes I like to use we :)
2008-07-04T09:28:40  <mmihaljevic> today I feel like we ;))
2008-07-04T09:32:58  <dreimark> can you add to your wiki page an example config for the config backend please
2008-07-04T09:33:09  <dreimark> later on it needs to be extended to a help page
2008-07-04T09:33:11  <dreimark> mmihaljevic:
2008-07-04T09:35:10  <dreimark> and add some snippet code to the more_samples for wiki configuration
2008-07-04T09:37:15  <mmihaljevic> ok will put that
2008-07-04T09:38:08  <mmihaljevic> dreimark: to put it to a new page or?
2008-07-04T09:38:24  <mmihaljevic> I can put it in refactoring wikidicts?
2008-07-04T09:40:21  <dreimark> mmihaljevic: xorAxAx mentioned already that we dislike the import *
2008-07-04T09:40:26  <dreimark> please fix this too
2008-07-04T09:40:56  <mmihaljevic> dreimark: did that, also ThomasWaldmann mentioned it
2008-07-04T09:41:11  <xorAxAx> mmihaljevic: hehe
2008-07-04T09:43:29  <mmihaljevic> dreimark: yes the last auth test fails, but it fails on  E           assert request.user.valid, do you think it's my fault?
2008-07-04T09:44:22  <dreimark> mmihaljevic: user account browser of SystemAdmin page does not list the groups of me, so it needs changes for your code
2008-07-04T09:45:01  <dreimark> mmihaljevic: I think the test_auth failing test can belong to johill
2008-07-04T09:45:20  <dreimark> but I'm not sure, we should wait till he is available.
2008-07-04T09:45:38  <mmihaljevic> huh
2008-07-04T09:46:02  <dreimark> mmihaljevic: and when you find out why it doesn't search for similiar places where it also does not work
2008-07-04T09:46:18  <mmihaljevic> also you didn't say where to put ecample of config on my wikipage
2008-07-04T09:46:21  <mmihaljevic> ok
2008-07-04T09:47:10  <dreimark> mmihaljevic: best is you create a new subpage
2008-07-04T09:47:18  <dreimark> my config http://paste.pocoo.org/show/78518/
2008-07-04T09:47:23  <dreimark> htg bbl
2008-07-04T09:48:34  <mmihaljevic> dreimark: ok also will write a snippet, but first to finish from the last day cleaning my changes to commit and not be confused what I've done and what not
2008-07-04T10:13:24  <CIA-53> MelitaMihaljevic default * 3845:f11cdcc85c0d 1.8-ldapgroups-mmihaljevic/MoinMoin/ (7 files in 6 dirs): added a new group option to multiconfig.py so it can now be used for default settings as group_* (e.g. group_manager) and fixed acl_group_manager to group_manager, fixed import * to import foo, fixedpep8 errors
2008-07-04T10:13:37  <mmihaljevic> ok now I can take some food
2008-07-04T10:14:29  <mmihaljevic> dreimark: and yes do you think I need to be more verbose here ? http://moinmo.in/MelitaMihaljevic/RefactoringWikidicts/ConfigBackend
2008-07-04T10:30:42  <johill> PawelPacana: hmm ok I tried and 26 or so failed :)
2008-07-04T10:31:14  <johill> dreimark: oops
2008-07-04T10:33:46  <PawelPacana> johill: try now then ;)
2008-07-04T10:41:49  <johill> :)
2008-07-04T10:42:43  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 3818:fe9305d5c7cf 1.8/MoinMoin/ (_tests/test_user.py user.py): user: adjust tests, add one for password upgrade and fix a bug found
2008-07-04T10:44:48  <johill> PawelPacana: why did you remove the utf chars? you should just encode them to utf-8 before storing them
2008-07-04T10:45:56  <johill> mmihaljevic: sorry about that, I forgot the test :/
2008-07-04T10:55:08  <PawelPacana> johill: hg repo does not accept them in that way so that test crashes, i'll fix it later, it was late and i wanted to show you tests passing
2008-07-04T10:57:28  <PawelPacana> gtg
2008-07-04T11:00:37  <johill> PawelPacana: sure, it's ok, you stll have to find a solution for that I know
2008-07-04T11:01:54  <johill> heh
2008-07-04T11:02:06  <johill> IOError: [Errno 36] File name too long: '/tmp/tmpz7P83d/.hg/store/data/very__long__name__quite__safe__although_....
2008-07-04T11:02:23  <johill> .i'
2008-07-04T11:03:05  <xorAxAx> wow :)
2008-07-04T11:03:29  <xorAxAx> just imagine it running on windows
2008-07-04T11:03:36  <xorAxAx> .... not
2008-07-04T11:04:12  <xorAxAx> hmm, doesnt .hg have different name obfuscation codecs besides that rsync-optimised one?
2008-07-04T11:04:15  * johill imagines windows blowing up. yippiee!
2008-07-04T11:05:23  <johill> storing things by name is problematic because of renames too
2008-07-04T11:06:06  <johill> though with hg you can probably point to a commit object and use that for future accesses
2008-07-04T11:08:35  <johill> is 2^32 an item/revision limit I should be worried about? ;)
2008-07-04T11:11:02  <dennda> How many windows users (of moin) are there, actually?
2008-07-04T11:11:44  <mmihaljevic> re
2008-07-04T11:12:23  <johill> I bet no filesystem can store 2^32 dirs / files in a single directory
2008-07-04T11:12:29  * johill doesn't worry about it
2008-07-04T11:18:23  <CIA-53> MelitaMihaljevic default * 3847:422e47109b56 1.8-ldapgroups-mmihaljevic/MoinMoin/ (_tests/test_user.py user.py): merge with 1.8
2008-07-04T11:19:54  <mmihaljevic> johill: still got test_auth , last test failed
2008-07-04T11:20:12  <mmihaljevic> and dono if it is my problem
2008-07-04T11:20:25  <mmihaljevic> problem of my code
2008-07-04T11:21:34  <johill> mmihaljevic: which test exactly?
2008-07-04T11:22:05  <mmihaljevic> sec running all tests, but I think the last one
2008-07-04T11:22:24  * johill writes another storage test that fails
2008-07-04T11:25:34  <johill> dennda: http://paste.pocoo.org/show/78522/
2008-07-04T11:26:23  <johill> oh if you change tests to not use a new repo for every test you need to adjust the item names in the _2 noe
2008-07-04T11:26:26  <johill> one
2008-07-04T11:27:12  <mmihaljevic> got one test failing def testMoinAuthSession(self):
2008-07-04T11:27:30  <mmihaljevic> E           assert request.user.valid
2008-07-04T11:27:32  <mmihaljevic> johill:
2008-07-04T11:28:04  <johill> which test file is that?
2008-07-04T11:28:43  <johill> oh I see
2008-07-04T11:28:53  <johill> the other test was broken and I thought it was ok
2008-07-04T11:29:59  <mmihaljevic> huh?
2008-07-04T11:30:00  <johill> mmihaljevic: don't worry about that test, it's not your fault
2008-07-04T11:30:08  <johill> I'll look into it
2008-07-04T11:30:14  <mmihaljevic> johill: :) ok that's better
2008-07-04T11:30:32  <mmihaljevic> well not for you but I don't feel guilty
2008-07-04T11:34:29  <dennda> johill: those tests don't fail, none of them
2008-07-04T11:34:46  <dennda> (after renaming the item names, of course)
2008-07-04T11:35:07  <johill> they failed with my fs backend because the cleanup code was borked
2008-07-04T11:35:23  <dennda> heh, not my fault :)
2008-07-04T11:35:28  <johill> no :)
2008-07-04T11:39:02  <johill> are request.form values in unicode or encoding?
2008-07-04T11:39:11  <johill> they're already decoded, right?
2008-07-04T11:42:51  <ThomasWaldmann> should be, yes
2008-07-04T11:45:22  <johill> this is confusing
2008-07-04T11:45:32  <johill> the test is always re-creating the sme wrong userid
2008-07-04T11:46:53  <johill> ahrg
2008-07-04T11:46:56  <johill> name2id cache
2008-07-04T12:16:13  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 3819:b3b04ffbecd8 1.8/MoinMoin/ (auth/_tests/test_auth.py user.py): user: fix password validation
2008-07-04T12:16:16  <johill> mmihaljevic: there, finally figured it out
2008-07-04T12:16:41  <mmihaljevic> johill: great :)
2008-07-04T12:16:53  <mmihaljevic> will pull just to commit some things
2008-07-04T12:17:21  <johill> stupid abstraction, core user code used to pull out the password from the request form
2008-07-04T12:17:49  <johill> non-abstraction :)
2008-07-04T12:18:58  <mmihaljevic> ah I'm glad you solve that
2008-07-04T12:18:59  <mmihaljevic> :)
2008-07-04T12:22:53  <johill> couldn't figure out why the password was getting reset
2008-07-04T12:25:26  <johill> turns out the code was saving an invalid user object because, well, it tried to validate the request form password that didn't exist
2008-07-04T12:27:21  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4278:8ddb739644d2 1.8-storage-cdenter/MoinMoin/storage/_tests/test_backends.py: storage backend abstract test: don't try to create existing revisions
2008-07-04T12:27:55  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4279:0104b3faa101 1.8-storage-cdenter/MoinMoin/ (3 files in 3 dirs): storage: add new-style FS backend
2008-07-04T12:29:53  <CIA-53> MelitaMihaljevic default * 3848:a6b00db79d47 1.8-ldapgroups-mmihaljevic/ (2 files in 2 dirs): fix errors in datastruct test (importing modules) and added config backend snippet
2008-07-04T12:45:46  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4280:d0209cff7e7a 1.8-storage-cdenter/MoinMoin/ (3 files in 3 dirs): storage: move API tests, add unicode metadata test
2008-07-04T12:45:50  <CIA-53> MelitaMihaljevic default * 3849:9a98171d17ae 1.8-ldapgroups-mmihaljevic/ (2 files in 2 dirs): fixed config backend snippet and datastruct test
2008-07-04T12:47:18  <CIA-53> MelitaMihaljevic default * 3851:3df42f1a30dd 1.8-ldapgroups-mmihaljevic/MoinMoin/ (auth/_tests/test_auth.py user.py): merged with 1.8
2008-07-04T12:54:17  <dreimark> mmihaljevic: there is another * in  datastruct.__init__
2008-07-04T12:56:29  <dreimark> mmihaljevic: do you work on replacing groupnames = request.rootpage.getPageList(user='', filter=isgroup) ?
2008-07-04T12:57:02  <mmihaljevic> dreimark: ah I missed that one, hope so there isn't any
2008-07-04T12:57:07  <mmihaljevic> dreimark: where is that
2008-07-04T12:57:56  <mmihaljevic> dreimark: I will work on group_page backend
2008-07-04T12:58:43  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4281:ddc2984fb284 1.8-storage-cdenter/MoinMoin/search/ (_tests/test_terms.py term.py): storage/search: adjust search.term for new storage API
2008-07-04T13:01:00  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4282:989a234b7010 1.8-storage-cdenter/MoinMoin/search/term.py: storage/search: small simplification
2008-07-04T13:22:27  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4283:32cd9d4cb2ea 1.8-storage-cdenter/MoinMoin/storage/backends/fs.py: storage: fix fs backend, implement search
2008-07-04T13:22:28  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4284:2c2c1d8f0f71 1.8-storage-cdenter/MoinMoin/storage/_tests/test_backends.py: storage: add iteritems, search tests
2008-07-04T13:23:40  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4285:6e96cb6ec8d5 1.8-storage-cdenter/MoinMoin/storage/tests_backend_api.py: remove MoinMoin/storage/tests_backend_api.py (missed that earlier)
2008-07-04T13:25:13  * johill wonders where dennda is hiding
2008-07-04T13:31:35  <dreimark> mmihaljevic: e.g. userform.admin
2008-07-04T13:32:10  <mmihaljevic> huh?
2008-07-04T13:32:22  * mmihaljevic is confused
2008-07-04T13:32:48  <dreimark> 12:57 < mmihaljevic> dreimark: where is that
2008-07-04T13:33:01  <mmihaljevic> ah ok
2008-07-04T13:37:54  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4286:cee0acebd890 1.8-storage-cdenter/MoinMoin/storage/_tests/ (test_backends.py test_backends_file.py test_backends_hg.py): storage: clean up tests
2008-07-04T13:39:33  <dennda> johill: cleaning kitchen and bath
2008-07-04T13:40:28  <johill> :)
2008-07-04T13:40:31  <dennda> And now preparing for departure :)
2008-07-04T13:40:45  <johill> I gave you a few failing tests, clone them to your laptop ;)
2008-07-04T13:41:20  <dennda> Ballermann ich komme!
2008-07-04T13:45:35  <mmihaljevic> dreimark: I talked to Thomas and decided to work on groupPage backend
2008-07-04T13:50:32  <dennda> ok didn't work
2008-07-04T13:51:46  <johill> tough luck
2008-07-04T13:52:20  <dennda> That's not the reaction I expected ;)
2008-07-04T13:59:20  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4287:20a9b15a5a77 1.8-storage-cdenter/MoinMoin/ (search/_tests/test_terms.py storage/_tests/test_backends.py): storage: items and revisions are dict-like, use that power in tests
2008-07-04T14:00:28  <mmihaljevic> pinging dreimark
2008-07-04T14:03:37  <johill> dennda: the search term stuff we talked about, I did that now, so you just have to move the fs.py implementation to __init__.py
2008-07-04T14:04:23  <dennda> johill: I will respond as soon as I am at my parents place, got to go now
2008-07-04T14:04:26  <dennda> ~1 h
2008-07-04T14:06:04  <johill> I'll be off in about 20 minutes and will return around 5ish
2008-07-04T14:10:18  <ThomasWaldmann> re
2008-07-04T14:10:58  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4288:d3caca9086ee 1.8-storage-cdenter/MoinMoin/search/ (_tests/test_terms.py term.py): storage/search: fix searching for last revisions when no such are present, tests
2008-07-04T14:48:22  <CIA-53> Byeongweon [tasyblue@gmail.com] default * 3660:7441231cedee 1.8-guieditor-mbyeongweon/wiki/htdocs/ (3 files in 3 dirs): enable safari browser using gui editor
2008-07-04T14:48:23  <CIA-53> Byeongweon [tasyblue@gmail.com] default * 3661:7eb7f2d7e3f8 1.8-guieditor-mbyeongweon/MoinMoin/action/fckdialog.py: remove temporary debugging code
2008-07-04T14:48:24  <CIA-53> Byeongweon [tasyblue@gmail.com] default * 3662:0731503e211e 1.8-guieditor-mbyeongweon/wiki/htdocs/applets/ (3 files in 3 dirs): fix link modification error and replace old style fck api using with new one
2008-07-04T16:03:22  <CIA-53> MelitaMihaljevic default * 3852:c0bfac1b7a33 1.8-ldapgroups-mmihaljevic/MoinMoin/datastruct/__init__.py: fixed import *
2008-07-04T16:03:23  <CIA-53> MelitaMihaljevic default * 3853:db3798df2007 1.8-ldapgroups-mmihaljevic/MoinMoin/auth/ (_tests/test_ldap_login.py ldap_login.py): commited changes from ldap_login that were removed by reverting code
2008-07-04T16:28:20  <dreimark> mmihaljevic: ping
2008-07-04T17:01:50  <mitsuhiko> zenhase: ping -.-
2008-07-04T17:09:08  <dennda> johill: ping
2008-07-04T17:09:20  <johill> pong
2008-07-04T17:09:29  <johill> just trying to debug an unlock failure
2008-07-04T17:09:29  <dennda> ah :)
2008-07-04T17:10:54  <dennda> johill: Is it ok for you if I concentrate a bit on getting those three exams (last on Monday, 14th) done and working twice as hard afterwards? I won't vanish completely and still commit, of course...
2008-07-04T17:11:16  <johill> up to you
2008-07-04T17:11:22  <johill> mind you, I'm away 21-28 or so
2008-07-04T17:12:14  <dennda> I am just asking because midterm evaluations are approaching and I would be a bit sad if I got dropped out of the project, especially since after that last exam I got plenty of time until GSoC ends, with no other obligations
2008-07-04T17:13:12  <johill> I'd hoped you'd get at least partial hook-up until then
2008-07-04T17:13:34  <dennda> Ok, I'll try
2008-07-04T17:13:41  <dennda> Will need some coffee, though
2008-07-04T17:13:43  <dennda> :)
2008-07-04T17:14:00  <johill> heh
2008-07-04T17:14:29  <johill> darn where's the bug?
2008-07-04T17:20:16  <dennda> I hate those moments, too :)
2008-07-04T17:21:08  <johill> a lockfile is getting stuck
2008-07-04T17:28:17  <mmihaljevic> dreimark: I'm here now
2008-07-04T17:31:06  <dreimark> mmihaljevic: hi, what's are the questions ?
2008-07-04T17:32:25  <mmihaljevic> hm.. well, there are no questions I now trace wikidicts to see what code I can use to group_page backend and to implement it,
2008-07-04T17:34:49  <dreimark> ok
2008-07-04T17:35:38  <mmihaljevic> dreimark: I could send what will I change and how to u or/and Thomas
2008-07-04T17:36:21  <dreimark> yeah
2008-07-04T17:36:39  <mmihaljevic> also a guy was yesterday on #moin talking with ThomasWaldmann about ldap so I contacted him and exchanged some ideas and code (he did a search for AD)
2008-07-04T17:36:54  <dreimark> please use #moin-dev I have also to prepare some parts for the journey to vilnius
2008-07-04T17:37:14  <mmihaljevic> ok
2008-07-04T17:37:26  <dreimark> mmihaljevic: I know, have seen the talk in the morning
2008-07-04T17:37:59  <mmihaljevic> dreimark: I just have an exam at monday afternoon so I won't be for few hours available at Monday
2008-07-04T17:38:06  <dreimark> he verifies on every request ldap group
2008-07-04T17:38:42  * mmihaljevic looks at that part of code
2008-07-04T17:39:50  <dreimark> bbl ~2h
2008-07-04T17:40:02  <mmihaljevic> ok
2008-07-04T17:40:23  <mmihaljevic> but that part of code looks usefull
2008-07-04T17:41:06  <mmihaljevic> dreimark: should I put the ldap backend code I done before to a ldap_group backend?
2008-07-04T17:47:49  <johill> still not found. darn
2008-07-04T17:48:04  <xorAxAx> johill: do you have a failing test? :)
2008-07-04T17:49:49  <johill> well I added a test that verifies that there are no stale locks
2008-07-04T17:49:59  <johill> and I don't see why there is one
2008-07-04T17:50:32  <xorAxAx> ah
2008-07-04T17:50:40  <xorAxAx> well, store for every log a traceback
2008-07-04T17:50:50  <xorAxAx> that says where it was locked
2008-07-04T17:50:58  <xorAxAx> if some debug flag is set
2008-07-04T17:51:08  <xorAxAx> (which is set by the test class' setup)
2008-07-04T17:58:06  <johill> ok this is interesting
2008-07-04T17:58:09  <johill> something is eating errors
2008-07-04T17:58:50  <johill> ah, py.test is getting confused
2008-07-04T17:59:03  <johill> can I decorate all tests somehow?
2008-07-04T17:59:30  <johill> it doesn't like putting assertions into teardown_method
2008-07-04T18:00:20  <xorAxAx> i think its easiest to solve this on a py.test-agnostic level
2008-07-04T18:00:26  <johill> huh?
2008-07-04T18:00:56  <johill> basically what I want is use the tests that the class I inherit from defines
2008-07-04T18:01:08  <johill> each test needs setup/teardown, that's simple
2008-07-04T18:01:21  <johill> but I also want to check for any wrong files at teardown time
2008-07-04T18:01:47  <xorAxAx> i think thats not possible/sound style :)
2008-07-04T18:01:59  <xorAxAx> because test failures must be restricted to the tests itself
2008-07-04T18:02:07  <xorAxAx> but its nevertheless easy to do in python
2008-07-04T18:02:52  <xorAxAx> by just adding the test methods manually, wrapping them with some stale-file aspect
2008-07-04T18:03:20  <xorAxAx> for name, func in base.__dict__.iteritems(): mynewclass.__dict__[name] = wrapit(func)
2008-07-04T18:03:21  <johill> well that's not sound either, it means that I don't get all tests that are defined in the parent class automatically
2008-07-04T18:03:28  <xorAxAx> sure you do
2008-07-04T18:03:41  <johill> that's not very nice either
2008-07-04T18:03:44  <xorAxAx> sure it is
2008-07-04T18:03:47  <xorAxAx> metaprogramming :)
2008-07-04T18:05:11  <johill> and __dict__ doesn't work so I have to do getmro and stuff like that again
2008-07-04T18:05:36  <johill> and I better not wrap __init__ but only those methods that py.test will take for tests, probably those starting with 'test'
2008-07-04T18:09:20  <xorAxAx> why doesnt dict work?
2008-07-04T18:09:31  <xorAxAx> more than one level of inheritance?
2008-07-04T18:10:00  <xorAxAx> or you use dir(base) and getattr
2008-07-04T18:10:04  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4289:873337a0c134 1.8-storage-cdenter/MoinMoin/storage/backends/fs.py: storage: fs backend: comments, fixes
2008-07-04T18:10:05  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4290:6db2d374d42b 1.8-storage-cdenter/MoinMoin/storage/_tests/test_backends.py: storage tests: don't leave things in inconsistent state
2008-07-04T18:10:05  <CIA-53> Johannes Berg <johannes AT sipsolutions DOT net> default * 4291:db4fcea41efe 1.8-storage-cdenter/MoinMoin/storage/_tests/test_backends_file.py: storage: fs tests: validate that there are no stale locks/temp files
2008-07-04T18:10:25  <johill> well there are at least two levels
2008-07-04T18:10:34  <xorAxAx> enterprisey :)
2008-07-04T18:10:35  <johill> you could define backend-specific tests
2008-07-04T18:11:21  <xorAxAx> yes
2008-07-04T18:11:30  <johill> so you have at least the class and it's parent
2008-07-04T18:11:51  <johill> more importantly though, I wouldn't want to reproduce py.test's magic in knowing which are tests and which aren't
2008-07-04T18:12:09  <johill> so I'll just stick with this, it's harder to debug when it does fail, of course
2008-07-04T18:12:35  <xorAxAx> umm
2008-07-04T18:12:44  <xorAxAx> do you call that kill method from teardown?
2008-07-04T18:12:46  <xorAxAx> thats bad
2008-07-04T18:13:23  <johill> I tried overriding __getattribute__ and decorating all methods but that wouldn't work either
2008-07-04T18:13:28  <johill> feel free to "fix" the code
2008-07-04T18:14:19  <xorAxAx> hehe
2008-07-04T18:14:25  * xorAxAx tries
2008-07-04T18:14:31  <xorAxAx> how can i break the code?
2008-07-04T18:14:58  <johill> there's a comment
2008-07-04T18:14:59  <johill> "if we leave out the latter line, it fails"
2008-07-04T18:15:14  <johill> should read "next line" though
2008-07-04T18:15:55  <xorAxAx> i fix it
2008-07-04T18:16:04  <johill> it's more of a "have all tests been written correctly" check
2008-07-04T18:17:56  <xorAxAx> ok
2008-07-04T18:18:24  <xorAxAx> test_backends_hg.py[23] - FAILED TO LOAD MODULE- FAILED TO LOAD MODULEs- FAILED TO LOAD MODULEssssssssssssssss- FAILED TO LO
2008-07-04T18:18:27  <xorAxAx> AD MODULEsssss- FAILED TO LOAD MODULEs
2008-07-04T18:18:30  <xorAxAx> not nice :)
2008-07-04T18:23:17  <TheSheep> my precious modulessssss
2008-07-04T18:23:46  <xorAxAx> hmm, the current style of tests doesnt really test the disconnected backend usage a lot
2008-07-04T18:24:03  <xorAxAx> i.e. recreation of the backend object and reasserting invariants
2008-07-04T18:24:23  <xorAxAx> of course useless for the memory backend but not the more persistent ones
2008-07-04T18:24:43  <xorAxAx> (and, in the end, an important goal, reliability)
2008-07-04T18:24:50  <xorAxAx> PawelPacana: do you agree? :)
2008-07-04T18:25:04  <TheSheep> reelability
2008-07-04T18:25:18  <xorAxAx> probably the hg backend stores all items in ram and passes the tests because of that, who knows :)
2008-07-04T18:27:59  <zenhase> mitsuhiko: pong
2008-07-04T18:28:21  <mitsuhiko> zenhase: where have you been? :)
2008-07-04T18:28:42  <zenhase> entropia ran a truck over me
2008-07-04T18:29:07  <zenhase> GPN planning collapsed into an utter chaos (as you would expect from the CCC)
2008-07-04T18:29:38  <zenhase> now i am at home again and far away from the work that has to be done there
2008-07-04T18:29:54  <zenhase> i am sorry if didn't say anything :(
2008-07-04T18:29:56  <xorAxAx> entropia is not the CCC :)
2008-07-04T18:29:58  <zenhase> s/if/that
2008-07-04T18:30:11  <zenhase> xorAxAx: it's the local branch, so it basically is :)
2008-07-04T18:30:23  <xorAxAx> its a subset, yes :)
2008-07-04T18:30:31  <zenhase> hmm :)
2008-07-04T18:30:58  <johill> xorAxAx: no the hg backend actually does a temp dir
2008-07-04T18:30:59  <xorAxAx> c3pb is thinking about going erfa now ... even though they love things like vorratsdatenspeicherung :)
2008-07-04T18:31:18  <xorAxAx> johill: a new one for every test method?
2008-07-04T18:31:22  <johill> yeah
2008-07-04T18:31:27  <johill> don't blame me
2008-07-04T18:31:32  <johill> the original tests had a single one
2008-07-04T18:31:36  <johill> PawelPacana did one for each
2008-07-04T18:31:41  <xorAxAx> johill: thats fine IMHO
2008-07-04T18:31:48  <xorAxAx> nevertheless, my point is that the backend - as a blackbox - might have internal data structures
2008-07-04T18:31:56  <johill> well I think we should test over-creating a backend
2008-07-04T18:31:56  <xorAxAx> and those might break after re-"loading" from disk
2008-07-04T18:32:04  <johill> i.e. have it store, create a new one with the same parameters and check
2008-07-04T18:32:19  <johill> but that we need to add at a separate layer because the memory one can obviously not support that
2008-07-04T18:34:11  <xorAxAx> you dont need a layer :)
2008-07-04T18:34:18  <xorAxAx> just another mixin
2008-07-04T18:34:33  <xorAxAx> or another class
2008-07-04T18:34:42  <xorAxAx> and probably a layer to unify them, yes
2008-07-04T18:34:44  <dennda> isn't that another layer?
2008-07-04T18:34:45  <xorAxAx> %-)
2008-07-04T18:34:53  <xorAxAx> dennda: a mixin would be parallel
2008-07-04T18:34:57  <xorAxAx> so its on the same layer
2008-07-04T18:35:18  <dennda> what kind of mixin?
2008-07-04T18:35:27  <johill> yeah but then you need to always take care to use both of them
2008-07-04T18:35:35  <johill> and a persistent one can always do persistent tests
2008-07-04T18:35:43  <johill> so semantically, another layer makes more sense
2008-07-04T18:37:30  <xorAxAx> yes
2008-07-04T18:39:16  <johill> but because of the way we use setup_method/teardown_method we probably need a separate class hierarchy
2008-07-04T18:46:01  <xorAxAx> yes
2008-07-04T18:46:13  <xorAxAx> you could also use decorators
2008-07-04T18:46:23  <xorAxAx> @test_needs_no_new_backend
2008-07-04T18:46:23  <moinBot> xorAxAx: Error: "test_needs_no_new_backend" is not a valid command.
2008-07-04T18:46:37  <xorAxAx> which sets an attrib on  the method :)
2008-07-04T18:55:47  <johill> no, you want to actually write tests that in the middle of the test re-create the backend
2008-07-04T18:57:32  <xorAxAx> yes, thats why you might want to set it up explicitly as well
2008-07-04T19:02:52  <mmihaljevic> dreimark: ThomasWaldmann http://moinmo.in/MelitaMihaljevic/PageGroup please look at it, I'm not sure if I'm on the right way
2008-07-04T19:03:27  <mmihaljevic> or anyones advices/comments are great :)
2008-07-04T19:04:22  <johill> it's rather unlikely though that when you're writing storage explicitly for persistent stuff and especially threaded/multi-process you'll make such errors that would be caught that way :)
2008-07-04T19:04:29  <mmihaljevic> especially for addgroup, adddict,...
2008-07-04T19:08:21  <xorAxAx> johill: well, or exactly the other way around because you didnt have that in mind
2008-07-04T19:08:34  <xorAxAx> johill: moin has so many places where shared state is mutated in a thread-unsafe way
2008-07-04T19:08:44  <johill> yeah but that you can't test either way
2008-07-04T19:08:44  <xorAxAx> because people dont care :)
2008-07-04T19:09:10  <johill> I think it's because people aren't multi-threading capable so they don't realise the computer is ;)
2008-07-04T19:09:33  <johill> anyway, gotta run
2008-07-04T19:31:12  <xorAxAx> WUAH
2008-07-04T19:32:18  <johill> xorAxAx joins the Canidae family
2008-07-04T19:35:23  <xorAxAx> ['/home/alexander/dev/python/moinmoin/moin-1.8-storage', '/home/alexander/dev/python/moinmoin/moin-1.8-storage/tests', '/home/alexander/dev/python/moinmoin/moin-1.8-storage', '/home/alexander/dev/python/moinmoin/moin-1.8-storage'
2008-07-04T19:35:28  <xorAxAx> can somebody explain that?
2008-07-04T19:38:04  <xorAxAx> hmm, most likely py.test
2008-07-04T19:39:00  <xorAxAx> wuah
2008-07-04T19:39:02  <xorAxAx> yes
2008-07-04T19:39:10  <xorAxAx> hmpf
2008-07-04T19:39:29  <xorAxAx> thats 2 applications (moin and py) with the same bad idea
2008-07-04T19:39:49  <xorAxAx> of loading configuration files via normal python import
2008-07-04T19:40:57  * xorAxAx duplicates their racy logic in moin
2008-07-04T19:48:24  <mmihaljevic> ThomasWaldmann: and dreimark: http://moinmo.in/MelitaMihaljevic/LdapGroups (Matts code with permission)
2008-07-04T19:50:17  <mmihaljevic> ThomasWaldmann: I also sent Matt some of my LDAP code for open LDAP
2008-07-04T19:51:01  <mmihaljevic> and please could someone take a look at my PageGroup :)
2008-07-04T20:05:22  <xorAxAx> johill: i cant get it working
2008-07-04T20:05:31  <xorAxAx> johill: py.test is generating completly bogus tracebacks
2008-07-04T20:05:42  <xorAxAx> if i have to functions that throw exceptions
2008-07-04T20:05:48  <xorAxAx> too much magic :)
2008-07-04T20:15:14  <dreimark> re
2008-07-04T20:20:38  <dreimark> mmihaljevic: what is the difference between group_wikibackend and page_group backend ?
2008-07-04T20:21:54  <mmihaljevic> dreimark: I taught it was the same but I wasn't sure and that's the part that is really confusing
2008-07-04T20:31:35  <dreimark> mmihaljevic: it is not easy to get which backend you talk about "also I am confused by comments in wikigroup backend:"
2008-07-04T20:31:59  <mmihaljevic> dreimark: thatwere the comments when I got the code
2008-07-04T20:32:06  <mmihaljevic> dreimark: I didn't changed them
2008-07-04T20:32:18  <mmihaljevic> ah ok :)
2008-07-04T20:32:22  <mmihaljevic> pardon
2008-07-04T20:33:23  <mmihaljevic> dreimark: I talk about group_wikibackend.py
2008-07-04T20:34:36  <dreimark> you should change the names which are misleading to different backends in your documentation
2008-07-04T20:35:37  <mmihaljevic> ok I will than it is a group_page (or page_group)
2008-07-04T20:40:06  <ThomasWaldmann> re
2008-07-04T20:42:10  * ThomasWaldmann back on small black machine (now half grey :)
2008-07-04T20:42:30  <mmihaljevic> cool
2008-07-04T20:42:51  <dreimark> ThomasWaldmann: why grey ?
2008-07-04T20:43:25  <ThomasWaldmann> because the black design was for US markets, for european market, they had a grey design
2008-07-04T20:43:46  <ThomasWaldmann> and i got a US replacement kbd from a german supplier
2008-07-04T20:47:00  <ThomasWaldmann> but looks like that data corruption really was the internal ide cable, didn't occur since i swapped it
2008-07-04T20:47:26  * dreimark has had today a really unwanted server crash, thought I could migrate the machine after ep
2008-07-04T20:47:56  <dreimark> (before that happened)
2008-07-04T20:47:58  <ThomasWaldmann> heh, hardware knows about bad timing :P
2008-07-04T20:48:42  <ThomasWaldmann> students, commit often, so you at least have your work backupped :))
2008-07-04T20:51:15  <ThomasWaldmann> mmihaljevic: be careful about licensing if someone gives you code :)
2008-07-04T20:51:42  <mmihaljevic> ThomasWaldmann: ok , will be
2008-07-04T20:58:53  * mmihaljevic is taking some food bbl in about half an hour and hopes for some comments :)
2008-07-04T21:48:05  <ThomasWaldmann> mmihaljevic:        16 import backends   (from datastruct/__init__)
2008-07-04T21:48:10  <ThomasWaldmann> why?
2008-07-04T21:48:48  <xorAxAx> thats an evil relative import :)
2008-07-04T21:49:33  <ThomasWaldmann> no
2008-07-04T22:09:38  <mmihaljevic> ThomasWaldmann: in the other cases the tests I got don't work
2008-07-04T22:10:58  <mmihaljevic> and re
2008-07-04T22:11:39  <ThomasWaldmann> mmihaljevic: where is the name "backends" used? give line number(s).
2008-07-04T22:11:56  <mmihaljevic> ThomasWaldmann: second
2008-07-04T22:11:58  <ThomasWaldmann> (the name you imported by line 16)
2008-07-04T22:12:10  <mmihaljevic> ok
2008-07-04T22:13:12  <mmihaljevic> test_datastruct.py line 25
2008-07-04T22:13:32  <ThomasWaldmann> i am speaking of __init__.py
2008-07-04T22:13:46  <mmihaljevic> ah pardon
2008-07-04T22:14:08  <mmihaljevic> :(( I don't use it in init
2008-07-04T22:14:25  <ThomasWaldmann> then you likely don't need to import it
2008-07-04T22:14:31  <mmihaljevic> :) true
2008-07-04T22:18:38  <mmihaljevic> will change that
2008-07-04T22:21:41  <mmihaljevic> ok did that :)
2008-07-04T22:22:32  <ThomasWaldmann> http://moinmo.in/MelitaMihaljevic/PageGroup can you explain the docstrings of the code box at the bottom?
2008-07-04T22:24:50  <mmihaljevic> ThomasWaldmann: I done a mistake (confused) , I make a new file and just make structure
2008-07-04T22:25:44  <mmihaljevic> or it needs to be in a separate file (still confused with the wikibackend)
2008-07-04T22:32:29  <xorAxAx> byegonweon: you removed the safari exception again - what fixed it?
2008-07-04T22:34:27  <xorAxAx> byegonweon: hehe, fckeditor only has 600 open tickets
2008-07-04T22:34:33  <byegonweon> xorAxAx: nothings change. It's for testing. I start test editor other browser besides firefox.
2008-07-04T22:34:38  <xorAxAx> even old ones, http://dev.fckeditor.net/report/1?asc=1&sort=created&USER=anonymous
2008-07-04T22:34:45  <xorAxAx> byegonweon: ah
2008-07-04T22:34:51  <mmihaljevic> ThomasWaldmann: ?
2008-07-04T22:34:53  <xorAxAx> byegonweon: you didnt commit the new macro icon yet, right?
2008-07-04T22:35:07  <xorAxAx> mmihaljevic: what needs to be in a separate file?
2008-07-04T22:35:28  <byegonweon> xorAxAx: did I? I made icon for new one. I thought I commit also.
2008-07-04T22:35:43  <mmihaljevic> xorAxAx: well I'm confused is there a difference between wikibackend and page_group backend
2008-07-04T22:36:25  <ThomasWaldmann> that's likely 2 words for about the same thing
2008-07-04T22:36:29  <xorAxAx> byegonweon: in which changeset? :)
2008-07-04T22:36:40  <xorAxAx> mmihaljevic: who invented that distinction? :)
2008-07-04T22:37:08  <mmihaljevic> my mind :| and isn't distinction guess so
2008-07-04T22:37:14  <byegonweon> xorAxAx: http://hg.moinmo.in/moin/1.8-guieditor-mbyeongweon/rev/7441231cedee
2008-07-04T22:37:45  <byegonweon> xorAxAx: now I'm working on IE.
2008-07-04T22:37:47  <xorAxAx> byegonweon: your checkin message doesnt say so, please care for a complete commit message in the future :)
2008-07-04T22:37:58  <ThomasWaldmann> mmihaljevic: your backends module filenames are inconsistent
2008-07-04T22:38:20  <byegonweon> xorAxAx: oh, yes. I forget what I do :)
2008-07-04T22:38:34  <mmihaljevic> well, probably that's one of the reason I am confused
2008-07-04T22:38:41  <ThomasWaldmann> mmihaljevic: you don't need to put "backend" in the filename, if a file is in the "backends" package, it is of course a backend
2008-07-04T22:38:46  <byegonweon> xorAxAx: working on IE for javascript debug is real hard job..
2008-07-04T22:39:15  <johill> xorAxAx: yeah, I know
2008-07-04T22:39:18  <mmihaljevic> true
2008-07-04T22:39:44  <xorAxAx> byegonweon: hg diff and hg st help you to find that out :)
2008-07-04T22:40:06  <xorAxAx> byegonweon: yeah .. but you can use visual studio to debug JS, right?
2008-07-04T22:40:49  <byegonweon> xorAxAx: vs debuging tools is heavy so I use ms office javascript debuger.
2008-07-04T22:41:03  <xorAxAx> yeah
2008-07-04T22:41:10  <mmihaljevic> ThomasWaldmann: than forgot everythin at the bottom of PageGroups
2008-07-04T22:41:21  <mmihaljevic> s/forgot/forget
2008-07-04T22:41:48  <ThomasWaldmann> mmihaljevic: >>> import this # :)
2008-07-04T22:42:34  <TheSheep> import it oe more time, Sam
2008-07-04T22:42:38  <TheSheep> one
2008-07-04T22:42:49  <johill> xorAxAx: it always told me the problem was in the test _after_ the one that really hda the problem
2008-07-04T22:43:41  <xorAxAx> johill: no, i hacked the code
2008-07-04T22:43:41  <ThomasWaldmann> TheSheep: SyntaxError
2008-07-04T22:43:49  <xorAxAx> johill: and changed the invocation completly
2008-07-04T22:43:53  <xorAxAx> but it still did weird things
2008-07-04T22:44:00  <mmihaljevic> ThomasWaldmann: :)
2008-07-04T22:45:42  <johill> xorAxAx: heh
2008-07-04T22:46:14  <mmihaljevic> ThomasWaldmann: probably all of that I need to take care
2008-07-04T22:47:03  <johill> xorAxAx: anyway, it breaks if you write bad tests which is the point ;) the debugging info could be better though
2008-07-04T22:47:26  <xorAxAx> johill: it encourages people to stop writing tests a bit :)
2008-07-04T22:47:31  <xorAxAx> well, maybe we need to fix py.test
2008-07-04T22:50:34  <dreimark> if I remeber right that code has lot's of PEP8 failures too
2008-07-04T22:51:15  <dreimark> anyway good night
2008-07-04T22:51:29  <ThomasWaldmann> gn dreimark
2008-07-04T22:51:34  <mmihaljevic> gn dreimark
2008-07-04T22:52:24  <xorAxAx> ThomasWaldmann: byegonweon: note that i will likely not be in the meeting on wednesday (but rather in FMR II, doing  SCRAMs). but i think you can report to this channel without my help :)
2008-07-04T22:53:25  * ThomasWaldmann will be at europython
2008-07-04T22:54:20  <byegonweon> xorAxAx: ok. but you can read irc log and advice to me. right?
2008-07-04T22:56:34  <ThomasWaldmann> xorAxAx: garching?
2008-07-04T22:57:03  <xorAxAx> ThomasWaldmann: yes
2008-07-04T22:57:08  <xorAxAx> byegonweon: of course
2008-07-04T22:59:28  <ThomasWaldmann> xorAxAx: i guess if you do that, they will let you look for where the blue light comes from :P
2008-07-04T23:00:01  <xorAxAx> hehe
2008-07-04T23:02:07  <ThomasWaldmann> you already have that "I am a reactor technician - if you see me running ..." t-shirt?
2008-07-04T23:09:37  <xorAxAx> http://badprogrammer.infogami.com/ :)
2008-07-04T23:09:41  <xorAxAx> ThomasWaldmann: no
2008-07-04T23:10:59  <ThomasWaldmann> heh
2008-07-04T23:12:09  <ThomasWaldmann> hehe, alternative careers
2008-07-04T23:16:11  <johill> haha
2008-07-04T23:16:13  <johill> "# transfer RNA picking up amino acids and joining messenger RNA within a ribosome to become a protein (multi-stage function-driven joins, see animation)"
2008-07-04T23:30:57  <CIA-53> Byeongweon [tasyblue@gmail.com] default * 3663:1d0ed74ec4be 1.8-guieditor-mbyeongweon/wiki/htdocs/applets/moinFCKplugins/ (3 files in 3 dirs): make select plugin works on IE. fix attachment plugin works on IE
2008-07-04T23:30:58  <CIA-53> Byeongweon [tasyblue@gmail.com] default * 3664:69c8c705bea1 1.8-guieditor-mbyeongweon/wiki/htdocs/applets/moinFCKplugins/moinattachment/fck_attachment.js: fix javascript error on attachment modification. reformating javascript code
2008-07-04T23:58:46  <xorAxAx> byegonweon: what did you change in http://hg.moinmo.in/moin/1.8-guieditor-mbyeongweon/rev/69c8c705bea1 besides the reformatting?

MoinMoin: MoinMoinChat/Logs/moin-dev/2008-07-04 (last edited 2008-07-03 22:15:02 by IrcLogImporter)