Phexample on Squeak

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Phexample on Squeak

Frank Shearar-3
Hi Niko,

I tried Phexample in Squeak and things work great. I had to load in
Regex-Core, but that's no biggie. I'll try my hand at editing the
ConfigurationOf and send you a patch.

I have only one blip: ForExampleStack >> #shouldFailWhenPopEmpty fails
because instead of 'this collection is empty' the example fails with
'this stack is empty'.

I'm not sure how to fix that, given that it's not your problem. One
easy way to get a green bar would be to change the error message in
Squeak (making it less accurate).

Any thoughts?

frank

Reply | Threaded
Open this post in threaded view
|

Re: Phexample on Squeak

Stefan Marr-3
Hi Frank:

On 09 Mar 2013, at 00:45, Frank Shearar wrote:

> I have only one blip: ForExampleStack >> #shouldFailWhenPopEmpty fails
> because instead of 'this collection is empty' the example fails with
> 'this stack is empty'.

For Pharo I fixed it: http://smalltalkhub.com/#!/~Phexample/Phexample/diff/Phexample-StefanMarr.67

 shouldFailWhenPopEmpty
  | stack |
  stack := self given: #shouldBeEmpty.

+ [ stack pop ] should signal: Error withMessageText: 'a Stack() is empty'.!
- [ stack pop ] should signal: Error withMessageText: 'this collection is empty'.!

If you have a good idea how to handle platform-specific little things like that, I would add it.

Thanks
Stefan

--
Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
http://soft.vub.ac.be/~smarr
Phone: +32 2 629 2974
Fax:   +32 2 629 3525


Reply | Threaded
Open this post in threaded view
|

Re: Phexample on Squeak

Frank Shearar-3
On 9 March 2013 00:11, Stefan Marr <[hidden email]> wrote:

> Hi Frank:
>
> On 09 Mar 2013, at 00:45, Frank Shearar wrote:
>
>> I have only one blip: ForExampleStack >> #shouldFailWhenPopEmpty fails
>> because instead of 'this collection is empty' the example fails with
>> 'this stack is empty'.
>
> For Pharo I fixed it: http://smalltalkhub.com/#!/~Phexample/Phexample/diff/Phexample-StefanMarr.67
>
>  shouldFailWhenPopEmpty
>         | stack |
>         stack := self given: #shouldBeEmpty.
>
> +       [ stack pop ] should signal: Error withMessageText: 'a Stack() is empty'.!
> -       [ stack pop ] should signal: Error withMessageText: 'this collection is empty'.!
>
> If you have a good idea how to handle platform-specific little things like that, I would add it.

I don't for the general case. In _this_ case maybe we can find our way
out of the mess by enhancing Phexample:

shouldFailWhenPopEmpty
       | stack |
       stack := self given: #shouldBeEmpty.
       [ stack pop ] should signal: Error withMessageTextMatching: 'a
* is empty'.

where signal:withMessageTextMatching: takes a regex, or even just a
matcher like String >> #match: uses.

My apologies for not replying with such an extension written!

frank

Reply | Threaded
Open this post in threaded view
|

Re: Phexample on Squeak

Frank Shearar-3
On 12 March 2013 16:16, Frank Shearar <[hidden email]> wrote:

> On 9 March 2013 00:11, Stefan Marr <[hidden email]> wrote:
>> Hi Frank:
>>
>> On 09 Mar 2013, at 00:45, Frank Shearar wrote:
>>
>>> I have only one blip: ForExampleStack >> #shouldFailWhenPopEmpty fails
>>> because instead of 'this collection is empty' the example fails with
>>> 'this stack is empty'.
>>
>> For Pharo I fixed it: http://smalltalkhub.com/#!/~Phexample/Phexample/diff/Phexample-StefanMarr.67
>>
>>  shouldFailWhenPopEmpty
>>         | stack |
>>         stack := self given: #shouldBeEmpty.
>>
>> +       [ stack pop ] should signal: Error withMessageText: 'a Stack() is empty'.!
>> -       [ stack pop ] should signal: Error withMessageText: 'this collection is empty'.!
>>
>> If you have a good idea how to handle platform-specific little things like that, I would add it.
>
> I don't for the general case. In _this_ case maybe we can find our way
> out of the mess by enhancing Phexample:
>
> shouldFailWhenPopEmpty
>        | stack |
>        stack := self given: #shouldBeEmpty.
>        [ stack pop ] should signal: Error withMessageTextMatching: 'a
> * is empty'.
>
> where signal:withMessageTextMatching: takes a regex, or even just a
> matcher like String >> #match: uses.
>
> My apologies for not replying with such an extension written!

Actually, it's easier to fix than that: just relax the test a teeny
bit. I've uploaded a fix to
http://ss3.gemstone.com/ss/Scratchpad-fbs/Phexample-fbs.64.

Stefan, I'd love to hear if this fixes Phexample for Pharo 1.4.

Niko, how do you handle receiving fixes?

> frank

Reply | Threaded
Open this post in threaded view
|

Re: Phexample on Squeak

Frank Shearar-3
On 12 March 2013 21:36, Frank Shearar <[hidden email]> wrote:

> On 12 March 2013 16:16, Frank Shearar <[hidden email]> wrote:
>> On 9 March 2013 00:11, Stefan Marr <[hidden email]> wrote:
>>> Hi Frank:
>>>
>>> On 09 Mar 2013, at 00:45, Frank Shearar wrote:
>>>
>>>> I have only one blip: ForExampleStack >> #shouldFailWhenPopEmpty fails
>>>> because instead of 'this collection is empty' the example fails with
>>>> 'this stack is empty'.
>>>
>>> For Pharo I fixed it: http://smalltalkhub.com/#!/~Phexample/Phexample/diff/Phexample-StefanMarr.67
>>>
>>>  shouldFailWhenPopEmpty
>>>         | stack |
>>>         stack := self given: #shouldBeEmpty.
>>>
>>> +       [ stack pop ] should signal: Error withMessageText: 'a Stack() is empty'.!
>>> -       [ stack pop ] should signal: Error withMessageText: 'this collection is empty'.!
>>>
>>> If you have a good idea how to handle platform-specific little things like that, I would add it.
>>
>> I don't for the general case. In _this_ case maybe we can find our way
>> out of the mess by enhancing Phexample:
>>
>> shouldFailWhenPopEmpty
>>        | stack |
>>        stack := self given: #shouldBeEmpty.
>>        [ stack pop ] should signal: Error withMessageTextMatching: 'a
>> * is empty'.
>>
>> where signal:withMessageTextMatching: takes a regex, or even just a
>> matcher like String >> #match: uses.
>>
>> My apologies for not replying with such an extension written!
>
> Actually, it's easier to fix than that: just relax the test a teeny
> bit. I've uploaded a fix to
> http://ss3.gemstone.com/ss/Scratchpad-fbs/Phexample-fbs.64.
>
> Stefan, I'd love to hear if this fixes Phexample for Pharo 1.4.
>
> Niko, how do you handle receiving fixes?

Anyone?

>> frank

Reply | Threaded
Open this post in threaded view
|

Re: Phexample on Squeak

Stefan Marr-3
Hi Frank:

On 19 Jul 2013, at 19:55, Frank Shearar <[hidden email]> wrote:

>>>> shouldFailWhenPopEmpty
>>>>        | stack |
>>>>        stack := self given: #shouldBeEmpty.
>>>>
>>>> +       [ stack pop ] should signal: Error withMessageText: 'a Stack() is empty'.!
>>>> -       [ stack pop ] should signal: Error withMessageText: 'this collection is empty'.!
>>>>
>>>> If you have a good idea how to handle platform-specific little things like that, I would add it.
>>>
>>> I don't for the general case. In _this_ case maybe we can find our way
>>> out of the mess by enhancing Phexample:
>>>
>>> shouldFailWhenPopEmpty
>>>       | stack |
>>>       stack := self given: #shouldBeEmpty.
>>>       [ stack pop ] should signal: Error withMessageTextMatching: 'a
>>> * is empty'.

>> Actually, it's easier to fix than that: just relax the test a teeny
>> bit. I've uploaded a fix to
>> http://ss3.gemstone.com/ss/Scratchpad-fbs/Phexample-fbs.64.
>>
>> Stefan, I'd love to hear if this fixes Phexample for Pharo 1.4.
>>
>> Niko, how do you handle receiving fixes?
>
> Anyone?

What are you referring to exactly?
I just checked it on Squeak 4.4, which was an adventure on its own *sigh*.

The fix got integrated, no?
I see:

[ stack pop ] on: Error do: [:e |
                e messageText should matchRegex: '.* is empty'].

in that method, and it has a timestamp from March, with your name attached.

Works on Squeak 4.4 and Pharo 1.4 with the latest configuration (I tested bleedingEdge).

Best regards
Stefan


--
Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
http://soft.vub.ac.be/~smarr
Phone: +32 2 629 2974
Fax:   +32 2 629 3525


Reply | Threaded
Open this post in threaded view
|

Re: Phexample on Squeak

Frank Shearar-3
On 21 July 2013 10:08, Stefan Marr <[hidden email]> wrote:

> Hi Frank:
>
> On 19 Jul 2013, at 19:55, Frank Shearar <[hidden email]> wrote:
>>>>> shouldFailWhenPopEmpty
>>>>>        | stack |
>>>>>        stack := self given: #shouldBeEmpty.
>>>>>
>>>>> +       [ stack pop ] should signal: Error withMessageText: 'a Stack() is empty'.!
>>>>> -       [ stack pop ] should signal: Error withMessageText: 'this collection is empty'.!
>>>>>
>>>>> If you have a good idea how to handle platform-specific little things like that, I would add it.
>>>>
>>>> I don't for the general case. In _this_ case maybe we can find our way
>>>> out of the mess by enhancing Phexample:
>>>>
>>>> shouldFailWhenPopEmpty
>>>>       | stack |
>>>>       stack := self given: #shouldBeEmpty.
>>>>       [ stack pop ] should signal: Error withMessageTextMatching: 'a
>>>> * is empty'.
>
>>> Actually, it's easier to fix than that: just relax the test a teeny
>>> bit. I've uploaded a fix to
>>> http://ss3.gemstone.com/ss/Scratchpad-fbs/Phexample-fbs.64.
>>>
>>> Stefan, I'd love to hear if this fixes Phexample for Pharo 1.4.
>>>
>>> Niko, how do you handle receiving fixes?
>>
>> Anyone?
>
> What are you referring to exactly?
> I just checked it on Squeak 4.4, which was an adventure on its own *sigh*.

I'm curious to know why. Phexample works fine in 4.5, so it ought to
work (and does, according to build.squeak.org) on Squeaks 4.3 and 4.4
as well.

Here's how we load Phexample:
https://github.com/squeak-smalltalk/squeak-ci/blob/master/package-load-scripts/Phexample.st

frank

> The fix got integrated, no?
> I see:
>
> [ stack pop ] on: Error do: [:e |
>                 e messageText should matchRegex: '.* is empty'].
>
> in that method, and it has a timestamp from March, with your name attached.
>
> Works on Squeak 4.4 and Pharo 1.4 with the latest configuration (I tested bleedingEdge).

OK, that's what I wanted to know. I hadn't heard anything, and wanted
to know what status the various configurations had. Sounds like we're
all good!

frank

> Best regards
> Stefan
>
>
> --
> Stefan Marr
> Software Languages Lab
> Vrije Universiteit Brussel
> Pleinlaan 2 / B-1050 Brussels / Belgium
> http://soft.vub.ac.be/~smarr
> Phone: +32 2 629 2974
> Fax:   +32 2 629 3525
>

Reply | Threaded
Open this post in threaded view
|

Re: Phexample on Squeak

Stefan Marr-3
Hi Frank:

On 21 Jul 2013, at 12:56, Frank Shearar <[hidden email]> wrote:

> On 21 July 2013 10:08, Stefan Marr <[hidden email]> wrote:
>> I just checked it on Squeak 4.4, which was an adventure on its own *sigh*.
>
> I'm curious to know why. Phexample works fine in 4.5, so it ought to
> work (and does, according to build.squeak.org) on Squeaks 4.3 and 4.4
> as well.

It was just the problem with bootstrapping metacello.
Monticello not being able to follow the redirect on the old GemStone URLs was a bit of a stumbling block, and unfortunately not handled with a nice human-readable error message. But that was it more or less.

Best regards
Stefan

--
Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
http://soft.vub.ac.be/~smarr
Phone: +32 2 629 2974
Fax:   +32 2 629 3525


Reply | Threaded
Open this post in threaded view
|

Re: Phexample on Squeak

Frank Shearar-3
On 21 July 2013 14:17, Stefan Marr <[hidden email]> wrote:

> Hi Frank:
>
> On 21 Jul 2013, at 12:56, Frank Shearar <[hidden email]> wrote:
>
>> On 21 July 2013 10:08, Stefan Marr <[hidden email]> wrote:
>>> I just checked it on Squeak 4.4, which was an adventure on its own *sigh*.
>>
>> I'm curious to know why. Phexample works fine in 4.5, so it ought to
>> work (and does, according to build.squeak.org) on Squeaks 4.3 and 4.4
>> as well.
>
> It was just the problem with bootstrapping metacello.
> Monticello not being able to follow the redirect on the old GemStone URLs was a bit of a stumbling block, and unfortunately not handled with a nice human-readable error message. But that was it more or less.

Ah, right, OK. I can understand that. Dale's stumbled across this
problem before, but I've only just recorded it (as
http://bugs.squeak.org/view.php?id=7780)

Thanks!

frank

> Best regards
> Stefan
>
> --
> Stefan Marr
> Software Languages Lab
> Vrije Universiteit Brussel
> Pleinlaan 2 / B-1050 Brussels / Belgium
> http://soft.vub.ac.be/~smarr
> Phone: +32 2 629 2974
> Fax:   +32 2 629 3525
>

Reply | Threaded
Open this post in threaded view
|

Re: Phexample on Squeak

Tobias Pape
Folks,

Am 21.07.2013 um 18:10 schrieb Frank Shearar <[hidden email]>:

> On 21 July 2013 14:17, Stefan Marr <[hidden email]> wrote:
>> Hi Frank:
>>
>> On 21 Jul 2013, at 12:56, Frank Shearar <[hidden email]> wrote:
>>
>>> On 21 July 2013 10:08, Stefan Marr <[hidden email]> wrote:
>>>> I just checked it on Squeak 4.4, which was an adventure on its own *sigh*.
>>>
>>> I'm curious to know why. Phexample works fine in 4.5, so it ought to
>>> work (and does, according to build.squeak.org) on Squeaks 4.3 and 4.4
>>> as well.
>>
>> It was just the problem with bootstrapping metacello.
>> Monticello not being able to follow the redirect on the old GemStone URLs was a bit of a stumbling block, and unfortunately not handled with a nice human-readable error message. But that was it more or less.
>
> Ah, right, OK. I can understand that. Dale's stumbled across this
> problem before, but I've only just recorded it (as
> http://bugs.squeak.org/view.php?id=7780)
>

I think this is a critical bug that also affects Squeak 4.1..3
We really should make use of our power and update
repositories to fix it in all four versions.
  It is a show stopper when you want to install anything
Metacello initially.

> Thanks!
>
> frank
>
>> Best regards
>> Stefan
>>
>> --
>> Stefan Marr
>> Software Languages Lab
>> Vrije Universiteit Brussel
>> Pleinlaan 2 / B-1050 Brussels / Belgium
>> http://soft.vub.ac.be/~smarr
>> Phone: +32 2 629 2974
>> Fax:   +32 2 629 3525
>