translator.js.test invokes pygame (AKA, yet more annoyances from Scott)

Greetings, There is a bug somewhere in the translator.js.test suite that invokes pygame. I haven't tracked it down but I just thought I'd mention it because I'm sure someone else will know better than me. -Scott -- Scott Dial scott@scottdial.com scodial@cs.indiana.edu

Maciek Fijalkowski wrote:
Sorry, I could've been more specific. They appear during translator.js.test.test_main. I decided to do the legwork.. rpython2javascript is the source of the problem. You have conflicting controlflow for determining whether to use pdb or not. The default value is use_pdb=True which will override jsconfig's use_pdb option always. Finally, during an Exception at the bottom debug(driver, use_pdb) will use the function argument and never the jsconfig value. So, jsconfig is basically ignored. I think the use_pdb argument needs to go away. http://scottdial.com/pypy-dev/translator.js.diff -- Scott Dial scott@scottdial.com scodial@cs.indiana.edu

Hi Scott, On Fri, Apr 06, 2007 at 06:47:25PM -0400, Scott Dial wrote:
I'm pinging this because it's still messed up and I even provided the fix :-p
Tentatively checked in, though it's not my area of expertise :-) Armin

Hi Scott, On Tue, Apr 10, 2007 at 06:18:34PM +0200, Armin Rigo wrote:
Uh, I just realized that many tests fail after the use_pdb argument is removed, because they try to pass one anyway. Could you provide a more complete patch? Thanks! A bientot, Armin

Armin Rigo wrote:
Agh, sorry. I didn't do a thorough search for "use_pdb" before. I think I saw the problem in main and updated test_main to match and (poorly) thought that would be the end of that. This explains why Maciek probably has been sitting on it. After having looked at the other places where "use_pdb" is passsed, there are other instances of functions that take a "use_pdb" optional argument which would have to be dealt with as well. I'm not familiar enough with all the ways those functions are called to say how this should be dealt with. With that said, I'm not feeling like it is my place or that I am qualified to be making the kind of sweeping changes that it would require. And for the time being, I'm not being annoyed by this because the underlying bugs that brought up the pygame windows has been fixed. -Scott -- Scott Dial scott@scottdial.com scodial@cs.indiana.edu

Maciek Fijalkowski wrote:
I've not tried to actually run the examples myself, so I hadn't realized that. With respect to failures, the underlying failures that would cause the need for PDB to run have been corrected. I think it would be silly to introduce an intentionally erroring test case for this purpose, so you'll have to trust me on the logic being broken. The problem as I see it is that configuration parameters are not being passed around in a consistent way. And the logic of rpython2javascript() is to use whatever "use_pdb" says ignoring the "jsconfig" entirely. It would perhaps make enough sense to say that they both have to be True for the debugger to be run. However, I think there is a larger issue here with the reason "use_pdb" needs to exist at all. -Scott -- Scott Dial scott@scottdial.com scodial@cs.indiana.edu

Scott Dial wrote:
Ah, I think I got it (finally!). Ok, the idea was to have use_pdb override value in config, to be sure that in some places this config is not used, even though it defines use_pdb=False. I'll try to fix the logic than to use jsconfig.use_pdb in first place and override it. Thanks, Fijal

Maciek Fijalkowski wrote:
Sorry, I could've been more specific. They appear during translator.js.test.test_main. I decided to do the legwork.. rpython2javascript is the source of the problem. You have conflicting controlflow for determining whether to use pdb or not. The default value is use_pdb=True which will override jsconfig's use_pdb option always. Finally, during an Exception at the bottom debug(driver, use_pdb) will use the function argument and never the jsconfig value. So, jsconfig is basically ignored. I think the use_pdb argument needs to go away. http://scottdial.com/pypy-dev/translator.js.diff -- Scott Dial scott@scottdial.com scodial@cs.indiana.edu

Hi Scott, On Fri, Apr 06, 2007 at 06:47:25PM -0400, Scott Dial wrote:
I'm pinging this because it's still messed up and I even provided the fix :-p
Tentatively checked in, though it's not my area of expertise :-) Armin

Hi Scott, On Tue, Apr 10, 2007 at 06:18:34PM +0200, Armin Rigo wrote:
Uh, I just realized that many tests fail after the use_pdb argument is removed, because they try to pass one anyway. Could you provide a more complete patch? Thanks! A bientot, Armin

Armin Rigo wrote:
Agh, sorry. I didn't do a thorough search for "use_pdb" before. I think I saw the problem in main and updated test_main to match and (poorly) thought that would be the end of that. This explains why Maciek probably has been sitting on it. After having looked at the other places where "use_pdb" is passsed, there are other instances of functions that take a "use_pdb" optional argument which would have to be dealt with as well. I'm not familiar enough with all the ways those functions are called to say how this should be dealt with. With that said, I'm not feeling like it is my place or that I am qualified to be making the kind of sweeping changes that it would require. And for the time being, I'm not being annoyed by this because the underlying bugs that brought up the pygame windows has been fixed. -Scott -- Scott Dial scott@scottdial.com scodial@cs.indiana.edu

Maciek Fijalkowski wrote:
I've not tried to actually run the examples myself, so I hadn't realized that. With respect to failures, the underlying failures that would cause the need for PDB to run have been corrected. I think it would be silly to introduce an intentionally erroring test case for this purpose, so you'll have to trust me on the logic being broken. The problem as I see it is that configuration parameters are not being passed around in a consistent way. And the logic of rpython2javascript() is to use whatever "use_pdb" says ignoring the "jsconfig" entirely. It would perhaps make enough sense to say that they both have to be True for the debugger to be run. However, I think there is a larger issue here with the reason "use_pdb" needs to exist at all. -Scott -- Scott Dial scott@scottdial.com scodial@cs.indiana.edu

Scott Dial wrote:
Ah, I think I got it (finally!). Ok, the idea was to have use_pdb override value in config, to be sure that in some places this config is not used, even though it defines use_pdb=False. I'll try to fix the logic than to use jsconfig.use_pdb in first place and override it. Thanks, Fijal
participants (3)
-
Armin Rigo
-
Maciek Fijalkowski
-
Scott Dial