[Pharo-project] Closure fixes
If you are interested in testing the closure fixes, I have scripted it. Run each section in turn. I have a few things for discussion, but first some feedback would be useful. Cheers, Mike "A. Load Gofer" ScriptLoader new installGofer. "B. Install packages" | gofer | gofer := Gofer new. gofer url: 'http://www.squeaksource.com/PharoTaskForces'; addAll: #( "Part 2" 'Kernel-MikeRoberts.405' "Part 3" 'Compiler-MikeRoberts.130' 'CompilerTests-MikeRoberts.21' 'KernelTests-MikeRoberts.150' "Part 4" 'Compiler-MikeRoberts.131' "Part 5" 'Kernel-MikeRoberts.406' "Part 6" 'Kernel-MikeRoberts.407' "Part 7" 'System-Changes-MikeRoberts.13' 'System-Download-MikeRoberts.11' 'System-Support-MikeRoberts.89' "Part 8" 'Tools-MikeRoberts.202' "Part 9 - setup recompile" 'System-Support-MikeRoberts.90' ). gofer load. "C. Recompile" Utilities initializeClosures. Utilities compileUsingClosures. "D. Run the tests please" TestRunner open
Does this mean that gofer depends in yet-to-be-integrated closure fixes? That's fine, but it would probably stomp on my plan/hope to have gofer help me organize getting out of my current image and into an up-to-date one. Maybe the refactoring code checker that Lukas mentioned is "hidden" by my current choice of toolset and will do the job. Bill -----Original Message----- From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Michael Roberts Sent: Sunday, September 20, 2009 9:27 AM To: Pharo-project Subject: [Pharo-project] Closure fixes If you are interested in testing the closure fixes, I have scripted it. Run each section in turn. I have a few things for discussion, but first some feedback would be useful. Cheers, Mike "A. Load Gofer" ScriptLoader new installGofer. "B. Install packages" | gofer | gofer := Gofer new. gofer url: 'http://www.squeaksource.com/PharoTaskForces'; addAll: #( "Part 2" 'Kernel-MikeRoberts.405' "Part 3" 'Compiler-MikeRoberts.130' 'CompilerTests-MikeRoberts.21' 'KernelTests-MikeRoberts.150' "Part 4" 'Compiler-MikeRoberts.131' "Part 5" 'Kernel-MikeRoberts.406' "Part 6" 'Kernel-MikeRoberts.407' "Part 7" 'System-Changes-MikeRoberts.13' 'System-Download-MikeRoberts.11' 'System-Support-MikeRoberts.89' "Part 8" 'Tools-MikeRoberts.202' "Part 9 - setup recompile" 'System-Support-MikeRoberts.90' ). gofer load. "C. Recompile" Utilities initializeClosures. Utilities compileUsingClosures. "D. Run the tests please" TestRunner open _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
cool to see that you can script that. Stef On Sep 20, 2009, at 4:27 PM, Michael Roberts wrote:
If you are interested in testing the closure fixes, I have scripted it. Run each section in turn. I have a few things for discussion, but first some feedback would be useful. Cheers, Mike
"A. Load Gofer" ScriptLoader new installGofer.
"B. Install packages" | gofer | gofer := Gofer new. gofer url: 'http://www.squeaksource.com/PharoTaskForces'; addAll: #( "Part 2" 'Kernel-MikeRoberts.405'
"Part 3" 'Compiler-MikeRoberts.130' 'CompilerTests-MikeRoberts.21' 'KernelTests-MikeRoberts.150'
"Part 4" 'Compiler-MikeRoberts.131'
"Part 5" 'Kernel-MikeRoberts.406'
"Part 6" 'Kernel-MikeRoberts.407'
"Part 7" 'System-Changes-MikeRoberts.13' 'System-Download-MikeRoberts.11' 'System-Support-MikeRoberts.89'
"Part 8" 'Tools-MikeRoberts.202'
"Part 9 - setup recompile" 'System-Support-MikeRoberts.90' ). gofer load.
"C. Recompile" Utilities initializeClosures. Utilities compileUsingClosures.
"D. Run the tests please" TestRunner open
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Apparently when I run the tests the image freezes. I also thought that the image was recompiled in squeak. Stef
cool to see that you can script that.
Stef
On Sep 20, 2009, at 4:27 PM, Michael Roberts wrote:
If you are interested in testing the closure fixes, I have scripted it. Run each section in turn. I have a few things for discussion, but first some feedback would be useful. Cheers, Mike
"A. Load Gofer" ScriptLoader new installGofer.
"B. Install packages" | gofer | gofer := Gofer new. gofer url: 'http://www.squeaksource.com/PharoTaskForces'; addAll: #( "Part 2" 'Kernel-MikeRoberts.405'
"Part 3" 'Compiler-MikeRoberts.130' 'CompilerTests-MikeRoberts.21' 'KernelTests-MikeRoberts.150'
"Part 4" 'Compiler-MikeRoberts.131'
"Part 5" 'Kernel-MikeRoberts.406'
"Part 6" 'Kernel-MikeRoberts.407'
"Part 7" 'System-Changes-MikeRoberts.13' 'System-Download-MikeRoberts.11' 'System-Support-MikeRoberts.89'
"Part 8" 'Tools-MikeRoberts.202'
"Part 9 - setup recompile" 'System-Support-MikeRoberts.90' ). gofer load.
"C. Recompile" Utilities initializeClosures. Utilities compileUsingClosures.
"D. Run the tests please" TestRunner open
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On 20.09.2009, at 10:27, Michael Roberts wrote:
If you are interested in testing the closure fixes, I have scripted it. Run each section in turn. I have a few things for discussion, but first some feedback would be useful.
I will have a look! Marcus -- Marcus Denker - http://marcusdenker.de PLEIAD Lab - Computer Science Department (DCC) - University of Chile
If you are interested in testing the closure fixes, I have scripted it. Run each section in turn. I have a few things for discussion, but first some feedback would be useful.
I will have a look!
Excellent! Once this is working I would declare it release candidates (more or less) (and tag red tests as broken ones). Stef
No, the fixes are not dependent on Gofer. I am just using it to script the load. There's been a lot of chat about Gofer - i had no idea what it was. so i figured i'd use it for something! If your image freezes that's bad. Did it ever come back? I did this from #10451. The only thing i was worried about was if I had not copied all the packages to task forces, since they are all in my local cache. There are also a few test classes to change, but i'll do that after this is in the update stream. i.e there are 2 unexpected passes in my image because some closure/compiler tests now pass. (excellent!) I've done the recompilation slightly differently. This was one of the things i wanted to talk about. Andreas made various changes to MC packages to get it in, overriding initialize and things on various classes. I'm not sure we need that since we can use ScriptLoader. However this needs to be tested. I just trigger the recompile that squeak used. There is not a lot of UI feedback. the whole thing could do with being inside a Cursor busy during: [] etc. cheers, Mike On Sun, Sep 20, 2009 at 6:01 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
If you are interested in testing the closure fixes, I have scripted it. Â Run each section in turn. Â I have a few things for discussion, but first some feedback would be useful.
I will have a look!
Excellent! Once this is working I would declare it release candidates (more or less) (and tag red tests as broken ones).
Stef
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
No, the fixes are not dependent on Gofer. I am just using it to script the load. Â There's been a lot of chat about Gofer - i had no idea what it was. so i figured i'd use it for something!
Looks cool. However, from your comments I doubt that Gofer does what you expect. Gofer does not load the packages in the order specified, but instead merges the contents of all specified packages into one single load operation. From the comments in the script I think that every Part 1 to 9 should all use their own Gofer instance to be truly sequential. Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch
hah! ok, no that wasn't what i expected. that will be why stef's image dies. but i guess i was lucky when i tried it. let me test out a new script and i will repost. cheers, Mike On Sun, Sep 20, 2009 at 7:30 PM, Lukas Renggli <renggli@gmail.com> wrote:
No, the fixes are not dependent on Gofer. I am just using it to script the load. Â There's been a lot of chat about Gofer - i had no idea what it was. so i figured i'd use it for something!
Looks cool.
However, from your comments I doubt that Gofer does what you expect. Gofer does not load the packages in the order specified, but instead merges the contents of all specified packages into one single load operation. From the comments in the script I think that every Part 1 to 9 should all use their own Gofer instance to be truly sequential.
Cheers, Lukas
-- Lukas Renggli http://www.lukas-renggli.ch
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Great! Stef On Sep 20, 2009, at 8:36 PM, Michael Roberts wrote:
hah! ok, no that wasn't what i expected. that will be why stef's image dies. but i guess i was lucky when i tried it. let me test out a new script and i will repost.
cheers, Mike
On Sun, Sep 20, 2009 at 7:30 PM, Lukas Renggli <renggli@gmail.com> wrote:
No, the fixes are not dependent on Gofer. I am just using it to script the load. There's been a lot of chat about Gofer - i had no idea what it was. so i figured i'd use it for something!
Looks cool.
However, from your comments I doubt that Gofer does what you expect. Gofer does not load the packages in the order specified, but instead merges the contents of all specified packages into one single load operation. From the comments in the script I think that every Part 1 to 9 should all use their own Gofer instance to be truly sequential.
Cheers, Lukas
-- Lukas Renggli http://www.lukas-renggli.ch
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
This is tricky stuff. I have done this 4/5 times now, and managed to get to the end and run all the tests twice.. but now it doesn't work. oh well, it falls over in Part 7. DNU method:. need to go through the changesets and try and work out what's going on. obviously the more eyes on this the better. cheers, Mike "A. Load Gofer" ScriptLoader new installGofer. "B. Install packages" | gofer | gofer := Gofer new. gofer url: 'http://www.squeaksource.com/PharoTaskForces'. Transcript cr; show: 'Part 2'; cr. gofer copy addAll: #( "Part 2" 'Kernel-MikeRoberts.405'); load. Transcript cr; show: 'Part 3'; cr. gofer copy addAll: #( "Part 3" 'Compiler-MikeRoberts.130' 'CompilerTests-MikeRoberts.21' 'KernelTests-MikeRoberts.150'); load. Transcript cr; show: 'Part 4'; cr. gofer copy addAll: #( "Part 4" 'Compiler-MikeRoberts.131'); load. Transcript cr; show: 'Part 5'; cr. gofer copy addAll: #( "Part 5" 'Kernel-MikeRoberts.406'); load. Transcript cr; show: 'Part 6'; cr. gofer copy addAll: #( "Part 6" 'Kernel-MikeRoberts.407'); load. Transcript cr; show: 'Part 7'; cr. gofer copy addAll: #( "Part 7" 'System-Changes-MikeRoberts.13'); load. gofer copy addAll: #( 'System-Download-MikeRoberts.11'); load. gofer copy addAll: #( 'System-Support-MikeRoberts.89'); load. Transcript show: 'Part 8'; cr. gofer copy addAll: #( "Part 8" 'Tools-MikeRoberts.202'); load. Transcript cr; show: 'Part 9'; cr. gofer copy addAll: #( "Part 9 - setup recompile" 'System-Support-MikeRoberts.90'); load. "C. Recompile" Utilities initializeClosures. Utilities compileUsingClosures. "D. Run the tests please" TestRunner open On Sun, Sep 20, 2009 at 7:47 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Great!
Stef
On Sep 20, 2009, at 8:36 PM, Michael Roberts wrote:
hah! ok, no that wasn't what i expected. that will be why stef's image dies. but i guess i was lucky when i tried it. let me test out a new script and i will repost.
cheers, Mike
On Sun, Sep 20, 2009 at 7:30 PM, Lukas Renggli <renggli@gmail.com> wrote:
No, the fixes are not dependent on Gofer. I am just using it to script the load. Â There's been a lot of chat about Gofer - i had no idea what it was. so i figured i'd use it for something!
Looks cool.
However, from your comments I doubt that Gofer does what you expect. Gofer does not load the packages in the order specified, but instead merges the contents of all specified packages into one single load operation. From the comments in the script I think that every Part 1 to 9 should all use their own Gofer instance to be truly sequential.
Cheers, Lukas
-- Lukas Renggli http://www.lukas-renggli.ch
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
"A. Load Gofer" ScriptLoader new installGofer.
"B. Install packages" | gofer | gofer := Gofer new. gofer url: 'http://www.squeaksource.com/PharoTaskForces'. Transcript cr; show: 'Part 2'; cr. gofer copy addAll: #( "Part 2" 'Kernel-MikeRoberts.405'); load. Transcript cr; show: 'Part 3'; cr. gofer copy addAll: #( "Part 3" 'Compiler-MikeRoberts.130' 'CompilerTests-MikeRoberts.21' 'KernelTests-MikeRoberts.150'); load. Transcript cr; show: 'Part 4'; cr. gofer copy addAll: #( "Part 4" 'Compiler-MikeRoberts.131'); load. Transcript cr; show: 'Part 5'; cr. gofer copy addAll: #( "Part 5" 'Kernel-MikeRoberts.406'); load. Transcript cr; show: 'Part 6'; cr. gofer copy addAll: #( "Part 6" 'Kernel-MikeRoberts.407'); load. Transcript cr; show: 'Part 7'; cr. gofer copy addAll: #( "Part 7" 'System-Changes-MikeRoberts.13'); load. gofer copy addAll: #( 'System-Download-MikeRoberts.11'); load. gofer copy addAll: #( 'System-Support-MikeRoberts.89'); load. Transcript show: 'Part 8'; cr. gofer copy addAll: #( "Part 8" 'Tools-MikeRoberts.202'); load. Transcript cr; show: 'Part 9'; cr. gofer copy addAll: #( "Part 9 - setup recompile" 'System-Support-MikeRoberts.90'); load.
"C. Recompile" Utilities initializeClosures. Utilities compileUsingClosures.
"D. Run the tests please" TestRunner open
The case for installer... QED Keith
For anyone actually reviewing this, it breaks after Part 4. Inability to recompile the system. There are MethodProperties around but i'm not sure there should be. need to look closer at the trunk update mechanism. cheers, Mike "A. Load Gofer" ScriptLoader new installGofer. "B. Install packages" | gofer packages | gofer := Gofer new. gofer url: 'http://www.squeaksource.com/PharoTaskForces'. packages := #( "Part 2" 'Kernel-MikeRoberts.405' "Part 3" 'Compiler-MikeRoberts.130' 'CompilerTests-MikeRoberts.21' 'KernelTests-MikeRoberts.150' "Part 4" 'Compiler-MikeRoberts.131'). packages do: [:each | gofer copy add: each; load].
I have a few new methods from Eliot to include after he looked at my debug log. I will push out some packages tonight hopefully. Cheers mike On Monday, September 21, 2009, Michael Roberts <mike@mjr104.co.uk> wrote:
For anyone actually reviewing this, it breaks after Part 4. Inability to recompile the system. Â There are MethodProperties around but i'm not sure there should be. Â need to look closer at the trunk update mechanism.
cheers, Mike
"A. Load Gofer" ScriptLoader new installGofer.
"B. Install packages" | gofer packages | gofer := Gofer new. gofer url: 'http://www.squeaksource.com/PharoTaskForces'.
packages := #( Â Â Â Â Â Â Â Â "Part 2" Â Â Â Â Â Â Â Â 'Kernel-MikeRoberts.405'
        "Part 3"         'Compiler-MikeRoberts.130'         'CompilerTests-MikeRoberts.21'         'KernelTests-MikeRoberts.150'
        "Part 4"         'Compiler-MikeRoberts.131'). packages do: [:each |     gofer copy         add: each;         load].
ok Stef On Sep 23, 2009, at 9:36 AM, Michael Roberts wrote:
I have a few new methods from Eliot to include after he looked at my debug log. I will push out some packages tonight hopefully.
Cheers mike
On Monday, September 21, 2009, Michael Roberts <mike@mjr104.co.uk> wrote:
For anyone actually reviewing this, it breaks after Part 4. Inability to recompile the system. There are MethodProperties around but i'm not sure there should be. need to look closer at the trunk update mechanism.
cheers, Mike
"A. Load Gofer" ScriptLoader new installGofer.
"B. Install packages" | gofer packages | gofer := Gofer new. gofer url: 'http://www.squeaksource.com/PharoTaskForces'.
packages := #( "Part 2" 'Kernel-MikeRoberts.405'
"Part 3" 'Compiler-MikeRoberts.130' 'CompilerTests-MikeRoberts.21' 'KernelTests-MikeRoberts.150'
"Part 4" 'Compiler-MikeRoberts.131'). packages do: [:each | gofer copy add: each; load].
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
"A. Load Gofer" ScriptLoader new installGofer. "B. Install packages" | gofer packages | gofer := Gofer new. gofer url: 'http://www.squeaksource.com/PharoTaskForces'. packages := #( "Part 2.1" 'Kernel-MikeRoberts.408' "Part 3" 'CompilerTests-MikeRoberts.21' 'KernelTests-MikeRoberts.150' 'Compiler-MikeRoberts.130' "Part 4" 'Compiler-MikeRoberts.131' "Part 5" 'Kernel-MikeRoberts.409' "Part 6" 'Kernel-MikeRoberts.411' "Part 7" 'System-Changes-MikeRoberts.13' 'System-Download-MikeRoberts.11' 'System-Support-MikeRoberts.89' "Part 8" 'Tools-MikeRoberts.202' "Part 9 - setup recompile" 'System-Support-MikeRoberts.90'). packages do: [:each | gofer copy add: each; load]. "C. Recompile" Utilities initializeClosures. Utilities compileUsingClosures. "D. Run the tests please" TestRunner open
Mike this is really cool. Thanks a ***lot*** I got 7281 run, 7182 passes, 2 expected failures, 80 failures, 15 errors, 2 unexpected passes while reading the code and checking differences. I noticed that the CompiledMethod>>compilerClass, parserClass and decompilerClass got changed and hardcoded the Compiler instead of using compilerClass and others. http://code.google.com/p/pharo/issues/detail?id=1238 Now for the integration On Sep 24, 2009, at 12:23 AM, Michael Roberts wrote:
"A. Load Gofer" ScriptLoader new installGofer.
"B. Install packages" | gofer packages | gofer := Gofer new. gofer url: 'http://www.squeaksource.com/PharoTaskForces'.
packages := #( "Part 2.1" 'Kernel-MikeRoberts.408'
"Part 3" 'CompilerTests-MikeRoberts.21' 'KernelTests-MikeRoberts.150' 'Compiler-MikeRoberts.130'
"Part 4" 'Compiler-MikeRoberts.131'
"Part 5" 'Kernel-MikeRoberts.409'
"Part 6" 'Kernel-MikeRoberts.411'
"Part 7" 'System-Changes-MikeRoberts.13' 'System-Download-MikeRoberts.11' 'System-Support-MikeRoberts.89'
"Part 8" 'Tools-MikeRoberts.202'
"Part 9 - setup recompile" 'System-Support-MikeRoberts.90').
packages do: [:each | gofer copy add: each; load].
"C. Recompile" Utilities initializeClosures. Utilities compileUsingClosures.
"D. Run the tests please" TestRunner open
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
hey that's cool. the 2 unexpected passes should be closure tests. they basically prove the integration from what i can tell since they were marked as expected failures. The decompiler tests fail a lot, but we can work away at that for 1.1 1.2 etc. It looks quite a big job from what Eliot tells me. Shows how important test coverage is!! Mike On Thu, Sep 24, 2009 at 9:03 AM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Mike this is really cool. Thanks a ***lot***
I got 7281 run, 7182 passes, 2 expected failures, 80 failures, 15 errors, 2 unexpected passes
while reading the code and checking differences. I noticed that the CompiledMethod>>compilerClass, parserClass and decompilerClass got changed and hardcoded the Compiler instead of using compilerClass and others.
http://code.google.com/p/pharo/issues/detail?id=1238
Now for the integration
On Sep 24, 2009, at 12:23 AM, Michael Roberts wrote:
"A. Load Gofer" ScriptLoader new installGofer.
"B. Install packages" | gofer packages | gofer := Gofer new. gofer url: 'http://www.squeaksource.com/PharoTaskForces'.
packages := #( Â Â Â Â Â Â Â "Part 2.1" Â Â Â Â Â Â Â 'Kernel-MikeRoberts.408'
       "Part 3"        'CompilerTests-MikeRoberts.21'        'KernelTests-MikeRoberts.150'        'Compiler-MikeRoberts.130'
       "Part 4"        'Compiler-MikeRoberts.131'
       "Part 5"        'Kernel-MikeRoberts.409'
       "Part 6"        'Kernel-MikeRoberts.411'
       "Part 7"        'System-Changes-MikeRoberts.13'        'System-Download-MikeRoberts.11'        'System-Support-MikeRoberts.89'
       "Part 8"        'Tools-MikeRoberts.202'
       "Part 9 - setup recompile"        'System-Support-MikeRoberts.90').
packages do: [:each |    gofer copy        add: each;        load].
"C. Recompile" Utilities initializeClosures. Utilities compileUsingClosures.
"D. Run the tests please" TestRunner open
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
participants (6)
-
keith -
Lukas Renggli -
Marcus Denker -
Michael Roberts -
Schwab,Wilhelm K -
Stéphane Ducasse