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)