Team Chat Logs
August 10, 2009
| 2009 7 | ||||||
|---|---|---|---|---|---|---|
| Mo | Tu | We | Th | Fr | Sa | Su |
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 | ||||||
| << | < | > | >> | |||
| [05:59:59] | <evil_twin> | b.e.o: Ticket #301 (Improve recipe handling.) updated - <http://bitten.edgewall.org/ticket/301#comment:2> - trac@… |
| [06:00:59] | <evil_twin> | b.e.o: Ticket #428 (Bitten installation problem) created - <http://bitten.edgewall.org/ticket/428> - hugobosscool26@… |
| [06:01:59] | <evil_twin> | b.e.o: Ticket #230 (Permit xinclude in build recipies) updated - <http://bitten.edgewall.org/ticket/230#comment:2> - trac@… |
| [06:05:48] | <kirean> | hi, is there any known problems running bitten on python 2.6? |
| [06:06:40] | <davidfraser> | kirean: Not known by me... |
| [06:06:43] | <kirean> | I get this running "sudo python setup.py test": |
| [06:06:43] | <kirean> | http://paste.lisp.org/display/85123 |
| [06:07:28] | <davidfraser> | Hmmm, looks like the logging objects have been shut down |
| [06:07:48] | <davidfraser> | Are you using multiprocessing somewhere? bitten doesn't use it itself, and that's what's causing the error |
| [06:09:10] | <kirean> | not that I'm aware of |
| [06:12:08] | <kirean> | any tip on how to procede investigating what's causing this? |
| [06:22:06] | <davidfraser> | What are you trying to test? Looks like you're running the bitten tests themselves - I'd grep all the relevant source code for multiprocessing |
| [06:26:06] | <evil_twin> | b.e.o: Ticket #428 (Bitten installation problem) closed - <http://bitten.edgewall.org/ticket/428#comment:1> - osimons |
| [06:28:21] | <osimons> | i've run tests on both windows and linux 2.6, and see no such error. wonder what is different with your setup? try without the 'sudo'? tests are run in-place. optionally "PYTHONPATH=. python setup.py test" to be sure |
| [06:28:32] | <osimons> | kirean: ^^ that was for you - forgot to address :-) |
| [06:34:50] | <osimons> | kirean: the message looks to be from atexit.py, and logging.py registers a shutdown function to be run on exit. does it happen running tests for other sw? like trac? |
| [06:35:05] | <osimons> | bbl |
| [06:44:56] | <kirean> | yes, I am trying to run the bitten tests |
| [06:45:04] | <kirean> | without sudo, same error |
| [06:47:08] | <evil_twin> | b.e.o: Ticket #428 (Bitten installation problem) updated - <http://bitten.edgewall.org/ticket/428#comment:2> - hugobosscool26 |
| [06:50:56] | <kirean> | and also same error when first exporting PYTHONPATH=. |
| [06:53:51] | <kirean> | trying to run tests for trac as well |
| [06:56:25] | <kirean> | getting the same error on trac test as well: |
| [06:56:25] | <kirean> | http://paste.lisp.org/display/85123#2 |
| [07:06:39] | <kirean> | hmm, what have I done ;-) |
| [07:13:41] | <kirean> | what could I have done that causes this? |
| [07:22:22] | <davidfraser> | kirean: print out sorted(sys.modules) when you start up python, and from inside the last of the tests. Then try and work out at which point multiprocessing is being loaded |
| [07:25:26] | <kirean> | davidfraser: thanks, I'll try that first thing tomorrow.. gotta go now |
| [07:25:37] | <davidfraser> | ok kirean, hope it helps |
| [07:47:22] | <evil_twin> | b.e.o: Download edited - <http://bitten.edgewall.org/wiki/Download?version=2> - osimons |
| [07:49:23] | <evil_twin> | b.e.o: Wiki Start edited - <http://bitten.edgewall.org/wiki/WikiStart?version=26> - osimons |
| [08:14:12] | <pacopablo> | morning |
| [08:28:04] | <davidfraser> | afternoon pacopablo |
| [08:32:03] | <pacopablo> | so, I've got a bit of a testing issue |
| [08:32:18] | <pacopablo> | I'm working on fixing bitten to work with multi-repos |
| [08:33:04] | <pacopablo> | and I created a get_repos() function that can differentiate between 0.11 and multirepos trac installs |
| [08:33:40] | <pacopablo> | the problem is that bunches of tests fail due to it finding a multirepos install |
| [08:33:56] | <pacopablo> | and the test setup simply injects the get_repository() method |
| [08:34:40] | <pacopablo> | http://bitten.edgewall.org/attachment/ticket/342/t342_multi_repos.patch |
| [08:34:44] | <pacopablo> | there is my patch |
| [08:35:15] | <pacopablo> | as you can see, I'm adding a module level flag to indicate the presence of absense of multirepos |
| [08:35:40] | <pacopablo> | I've tried importing the variable and modifying it in the test class setup, but it doesn't seem to stick |
| [08:36:35] | <pacopablo> | so, I need to figure out a way to fool the test |
| [08:36:58] | <pacopablo> | additionally, I need to create multireops specific tests, but that's a separate issue entirely |
| [08:37:04] | <pacopablo> | any suggestions? |
| [08:39:17] | <davidfraser> | pacopablo: Are you saying it's erroneously detecting a multirepos trac install? |
| [08:41:17] | <pacopablo> | no, it's detecting it properly |
| [08:41:35] | <pacopablo> | cus I'm running on a box that had multirepos installed |
| [08:42:06] | <pacopablo> | the problem is that it detects multirepos by importing trac.versionscontrol.api.RepositoryManager |
| [08:42:21] | <pacopablo> | so when run in the test, it's pulls that from the full trac install |
| [08:42:39] | <pacopablo> | but then when executing the test, it's operating on the mock repository |
| [08:42:51] | <pacopablo> | which isn't multirepos compatible |
| [08:43:31] | <pacopablo> | additionally, when running under multirepos, instead of pulling the repository from the env, you load a RepositoryManager object (passing in the env) |
| [08:49:30] | <davidfraser> | Ah, I see |
| [08:49:57] | <davidfraser> | pacopablo: Does the database not contain a different schema update version? |
| [08:50:01] | * | davidfraser is off for supper |
| [08:57:50] | * | osimons just finished his |
| [08:59:13] | <osimons> | pacopablo: hmm. tests. right. likely tests should cover both types - for the tests that where repository is something more than just 'stuffing' to get req mocking working |
| [09:00:01] | <osimons> | => either more tests, or some test-flag that selects the right method depending on the trac installed... |
| [09:02:15] | <pacopablo> | well, i was thinking that the solution would be more tests. |
| [09:02:34] | <pacopablo> | one set of test there multirepos what forced to False, and then another set with it forced to True |
| [09:02:54] | <pacopablo> | the problem right noww is getting the "forcing" part working right |
| [09:03:18] | <pacopablo> | I'm re-working the patch to use db schema version as the determining factor |
| [09:03:26] | <pacopablo> | that may make it easier for us to fake it |
| [09:07:01] | <osimons> | pacopablo: or abstract the get() into its own method on the testcase class to keep loc down and make it easy to change. i suppose the easiest is a check for hasattr() |
| [09:07:37] | <osimons> | oh. perhaps it will be None for Mock env... |
| [09:13:25] | <pacopablo> | ok, switching it to checking the db schema version isnt' bad |
| [09:13:48] | <pacopablo> | it also makes faking the get_version() method on the env object easy |
| [09:21:40] | <osimons> | pacopablo: it all depends on how your bitten patch looks and what changes are needed - no doubt you'll see what level of complexity is needed for acceptable coverage of old and new |
| [09:25:41] | <pacopablo> | ah, fark, now I managed to screw things up such that I'm getting the AttributeError: 'module' object has no attribute 'tests' |
| [09:25:44] | <pacopablo> | error |
| [09:25:48] | <pacopablo> | stupid unittest |
| [09:25:56] | <pacopablo> | won't tell me where my error really is |
| [09:30:01] | <pacopablo> | hahahahahaha!!!! |
| [09:30:19] | <pacopablo> | well, it really helps to be working on the RIGHT checkout of bitten |
| [09:30:51] | <pacopablo> | I had two check outs (moving from svn to git) and was making changes in both of them, thinking they were the same one |
| [09:31:08] | <pacopablo> | I was wondering why some of my changes didn't seem to be working ;) |
| [09:47:05] | <osimons> | pacopablo: fail and fail again.... the spirit of testing... |
| [09:48:57] | <pacopablo> | yeah ;) |
| [09:49:04] | <pacopablo> | so, I've got a design question |
| [09:49:30] | <pacopablo> | one thing that multirepos does or "introduces" is the concepts of a repository path |
| [09:49:56] | <pacopablo> | ie, it's not just simply a repository, it's a path that find the given repository for you |
| [09:50:27] | <pacopablo> | I see this being the build configuration path |
| [09:50:51] | <pacopablo> | however, collect_changes() takes the repository and the config |
| [09:51:24] | <pacopablo> | would it make more sense to add the repository_path to collect_changes? or simply remove the repository parameter |
| [09:51:35] | <pacopablo> | since if we have a config, we should be able to get a repository |
| [09:53:24] | <osimons> | bitten should really just use the path that includes repos - if that is what you asked |
| [09:54:26] | <pacopablo> | he, not exactly |
| [09:55:03] | <pacopablo> | currently: collect_changes(reops, config, db=None) |
| [09:55:07] | <pacopablo> | should it change to: |
| [09:55:18] | <pacopablo> | collect_changes(repos, config, repos_pathc, db=None) |
| [09:55:20] | <pacopablo> | or |
| [09:55:30] | <pacopablo> | collect_changes(config, db=None) |
| [09:55:53] | <pacopablo> | as we can get the repos based on config.path |
| [09:59:01] | <osimons> | pacopablo: you need to ask easier questions - find something i know the answer to... :-) |
| [10:00:00] | <osimons> | likely we already have a repos before calling, so at some stage in the request we need to resolve the path into (repos, repos_path) and then we ought to pass all three in |
| [10:00:56] | <pacopablo> | so, this is where multirepos makes things a little less clear |
| [10:01:28] | <pacopablo> | currently, that's pretty much correct, we load the repos, and then pass it into collect_changes |
| [10:01:46] | <pacopablo> | this works because only one repository exists |
| [10:02:02] | <pacopablo> | so it's used for all configs |
| [10:02:20] | <pacopablo> | multirepos changes this as you can have a different repos for each config |
| [10:02:31] | <osimons> | pacopablo: which may also soon switch to also be stored on the builds themselves... |
| [10:02:56] | <osimons> | ie. so that the build remember its own path in case config switches to new path later... |
| [10:03:05] | <osimons> | but yes, same difference |
| [10:03:31] | <pacopablo> | http://bitten.edgewall.org/attachment/ticket/342/t342_multi_repos.patch |
| [10:04:18] | <pacopablo> | so in web_ui.py in that patch, about line 87, I move the lookup of the repository form outside the loop, to inside the loop |
| [10:04:48] | <pacopablo> | so for each config, we get the corresponding repository (and path) and pass those into collect_changes |
| [10:05:24] | <pacopablo> | that works. I could, however, move the repository lookup into collect_changes, since all the data necessary to laod the repository is in the config |
| [10:06:04] | <pacopablo> | the net effect is the same |
| [10:06:53] | <pacopablo> | it really just changes the signature of collect_changes |
| [10:07:38] | <pacopablo> | and does reduce some duplicate code |
| [10:13:58] | <osimons> | yeah. drop the repos resolving outside collect_changes() |
| [10:14:07] | <pacopablo> | k |
| [10:15:08] | <osimons> | grep'ed and read the source - no need to pass the repos, and we don't seem to use it for anything else on the 'outside' |
| [10:30:56] | <pacopablo> | hmm, req.authname :( |
| [10:31:23] | <pacopablo> | supposedly needed for getting the repository |
| [10:31:51] | <pacopablo> | though is it really needed at this point? shouldn't this be wrapped by other perm checking? |
| [10:32:00] | <pacopablo> | ie, if they get here they have permissions? |
| [10:33:01] | <osimons> | right - it is for the authorizer... and quite important. pass authname then? |
| [10:34:33] | <osimons> | user may not be allowed to access path etc. - it will then barf when doing get_node() which it may do for a number of reasons - don't exist, no permission etc. |
| [10:36:27] | <pacopablo> | k, will pass authname then |
| [10:55:51] | <pacopablo> | Ran 235 tests in 3.786s |
| [10:55:51] | <pacopablo> | OK |
| [10:55:54] | <pacopablo> | woowoo! |
| [10:56:18] | <pacopablo> | bbiab, tiem to go fight with a DSL modem :( |
| [10:56:19] | <osimons> | superb! |
| [15:34:52] | <evil_twin> | b.e.o: Ticket #414 (Error processing a build) updated - <http://bitten.edgewall.org/ticket/414#comment:17> - schneider@… |
| [15:37:58] | <evil_twin> | b.e.o: Ticket #414 (Error processing a build) updated - <http://bitten.edgewall.org/ticket/414#comment:18> - Mike Schneider <schneider@…> |
| [15:57:00] | <evil_twin> | b.e.o: Ticket #414 (Error processing a build) updated - <http://bitten.edgewall.org/ticket/414#comment:19> - Mike Schneider <schneider@…> |

Select Date