The Trunk: Tests-nice.458.mcz

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

The Trunk: Tests-nice.458.mcz

commits-2
Nicolas Cellier uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-nice.458.mcz

==================== Summary ====================

Name: Tests-nice.458
Author: nice
Time: 28 April 2021, 6:11:51.033213 pm
UUID: 13fec56a-805e-754e-bd02-8cbaa015e102
Ancestors: Tests-jr.457

Document the fact that becomeForward: does NOT forward identityHash of receiver anymore (since Collections-eem.885 April 2020)

See #elementsForwardIdentityTo: vs #elementsForwardIdentityAndHashTo:

See also http://forum.world.st/How-to-become-immediate-objects-td5114931.html

=============== Diff against Tests-jr.457 ===============

Item was changed:
  ----- Method: BecomeTest>>testBecomeForward (in category 'tests') -----
  testBecomeForward
  "Test the forward become."
  | a b c d |
 
  a := 'ab' copy.
  b := 'cd' copy.
+ c := Array with: a.
- c := a.
  d := b.
 
  a becomeForward: b.
 
  self
  assert: a = 'cd';
  assert: b = 'cd';
+ assert: a == b;
+ assert: c first == b;
+ assert: d == b.
- assert: c = 'cd';
- assert: d = 'cd'.
 
-
  !

Item was added:
+ ----- Method: BecomeTest>>testBecomeForwardCopyIdentityHash (in category 'tests') -----
+ testBecomeForwardCopyIdentityHash
+ "Check that
+ 1. the argument to becomeForward: is modified to have the receiver's identity hash.
+ 2. the receiver's identity hash is unchanged."
+
+   | a b ha |
+
+ a := 'ab' copy.
+ b := 'cd' copy.
+ ha := a identityHash.
+
+ a becomeForward: b copyHash: true.
+
+ self
+ assert: a identityHash = ha;
+ assert: b identityHash = ha.
+
+ !

Item was changed:
  ----- Method: BecomeTest>>testBecomeForwardDontCopyIdentityHash (in category 'tests') -----
  testBecomeForwardDontCopyIdentityHash
  "Check that
  1. the argument to becomeForward: is NOT modified to have the receiver's identity hash.
+ 2. the receiver's identity hash is changed."
- 2. the receiver's identity hash is unchanged."
 
    | a b hb |
 
  a := 'ab' copy.
  b := 'cd' copy.
  hb := b identityHash.
 
  a becomeForward: b copyHash: false.
 
  self
  assert: a identityHash = hb;
  assert: b identityHash = hb.
 
  !

Item was changed:
  ----- Method: BecomeTest>>testBecomeForwardIdentityHash (in category 'tests') -----
  testBecomeForwardIdentityHash
+ "Document that the receiver hash is changed, but the argument hash is unchanged.
+ (a becomeForward: b) has thus same effect as (a becomeForward: b copyHash: false)"
- "Check that
- 1. the argument to becomeForward: is modified to have the receiver's identity hash.
- 2. the receiver's identity hash is unchanged."
 
+   | a b hb |
-   | a b ha |
 
  a := 'ab' copy.
  b := 'cd' copy.
+ hb := b identityHash.
- ha := a identityHash.
 
  a becomeForward: b.
 
  self
+ assert: a identityHash = hb;
+ assert: b identityHash = hb.
- assert: a identityHash = ha;
- assert: b identityHash = ha.
 
  !


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Tests-nice.458.mcz

Christoph Thiede

Hi Nicolas,


I appreciate all your work, but it would be great if you could also check the inbox before. I already had implemented equivalent tests in Tests-ct.447 three months ago. Now I feel a tiny little bit nihilistic. :-)


Best,

Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von [hidden email] <[hidden email]>
Gesendet: Mittwoch, 28. April 2021 18:12:10
An: [hidden email]; [hidden email]
Betreff: [squeak-dev] The Trunk: Tests-nice.458.mcz
 
Nicolas Cellier uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-nice.458.mcz

==================== Summary ====================

Name: Tests-nice.458
Author: nice
Time: 28 April 2021, 6:11:51.033213 pm
UUID: 13fec56a-805e-754e-bd02-8cbaa015e102
Ancestors: Tests-jr.457

Document the fact that becomeForward: does NOT forward identityHash of receiver anymore (since Collections-eem.885 April 2020)

See #elementsForwardIdentityTo: vs #elementsForwardIdentityAndHashTo:

See also http://forum.world.st/How-to-become-immediate-objects-td5114931.html

=============== Diff against Tests-jr.457 ===============

Item was changed:
  ----- Method: BecomeTest>>testBecomeForward (in category 'tests') -----
  testBecomeForward
         "Test the forward become."
         | a b c d |
 
         a := 'ab' copy.
         b := 'cd' copy.
+        c := Array with: a.
-        c := a.
         d := b.
 
         a becomeForward: b.
 
         self
                 assert: a = 'cd';
                 assert: b = 'cd';
+                assert: a == b;
+                assert: c first == b;
+                assert: d == b.
-                assert: c = 'cd';
-                assert: d = 'cd'.
 
-
  !

Item was added:
+ ----- Method: BecomeTest>>testBecomeForwardCopyIdentityHash (in category 'tests') -----
+ testBecomeForwardCopyIdentityHash
+        "Check that
+                1. the argument to becomeForward: is modified to have the receiver's identity hash.
+                2. the receiver's identity hash is unchanged."
+
+        | a b ha |
+
+        a := 'ab' copy.
+        b := 'cd' copy.
+        ha := a identityHash.
+
+        a becomeForward: b copyHash: true.
+
+        self
+                assert: a identityHash = ha;
+                assert: b identityHash = ha.
+
+ !

Item was changed:
  ----- Method: BecomeTest>>testBecomeForwardDontCopyIdentityHash (in category 'tests') -----
  testBecomeForwardDontCopyIdentityHash
         "Check that
                 1. the argument to becomeForward: is NOT modified to have the receiver's identity hash.
+                2. the receiver's identity hash is changed."
-                2. the receiver's identity hash is unchanged."
 
         | a b hb |
 
         a := 'ab' copy.
         b := 'cd' copy.
         hb := b identityHash.
 
         a becomeForward: b copyHash: false.
 
         self
                 assert: a identityHash = hb;
                 assert: b identityHash = hb.
 
  !

Item was changed:
  ----- Method: BecomeTest>>testBecomeForwardIdentityHash (in category 'tests') -----
  testBecomeForwardIdentityHash
+        "Document that the receiver hash is changed, but the argument hash is unchanged.
+        (a becomeForward: b) has thus same effect as (a becomeForward: b copyHash: false)"
-        "Check that
-                1. the argument to becomeForward: is modified to have the receiver's identity hash.
-                2. the receiver's identity hash is unchanged."
 
+        | a b hb |
-        | a b ha |
 
         a := 'ab' copy.
         b := 'cd' copy.
+        hb := b identityHash.
-        ha := a identityHash.
 
         a becomeForward: b.
 
         self
+                assert: a identityHash = hb;
+                assert: b identityHash = hb.
-                assert: a identityHash = ha;
-                assert: b identityHash = ha.
 
  !




Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

WG: The Trunk: Tests-nice.458.mcz

Christoph Thiede

But let's take this as something positive and inspirative instead. :-) Do we maybe need a new tool for this? When editing a class/method, automatically display a small "under construction" icon/hint if there is already a pending patch for it in the inbox? This might also help us to avoid future merge conflicts in a workflow that is not aligned at fast integration cycles. Just brainstorming ... :-)


Best,

Christoph



Von: Thiede, Christoph
Gesendet: Freitag, 30. April 2021 19:01 Uhr
An: [hidden email]; [hidden email]
Betreff: AW: [squeak-dev] The Trunk: Tests-nice.458.mcz
 

Hi Nicolas,


I appreciate all your work, but it would be great if you could also check the inbox before. I already had implemented equivalent tests in Tests-ct.447 three months ago. Now I feel a tiny little bit nihilistic. :-)


Best,

Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von [hidden email] <[hidden email]>
Gesendet: Mittwoch, 28. April 2021 18:12:10
An: [hidden email]; [hidden email]
Betreff: [squeak-dev] The Trunk: Tests-nice.458.mcz
 
Nicolas Cellier uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-nice.458.mcz

==================== Summary ====================

Name: Tests-nice.458
Author: nice
Time: 28 April 2021, 6:11:51.033213 pm
UUID: 13fec56a-805e-754e-bd02-8cbaa015e102
Ancestors: Tests-jr.457

Document the fact that becomeForward: does NOT forward identityHash of receiver anymore (since Collections-eem.885 April 2020)

See #elementsForwardIdentityTo: vs #elementsForwardIdentityAndHashTo:

See also http://forum.world.st/How-to-become-immediate-objects-td5114931.html



=============== Diff against Tests-jr.457 ===============

Item was changed:
  ----- Method: BecomeTest>>testBecomeForward (in category 'tests') -----
  testBecomeForward
         "Test the forward become."
         | a b c d |
 
         a := 'ab' copy.
         b := 'cd' copy.
+        c := Array with: a.
-        c := a.
         d := b.
 
         a becomeForward: b.
 
         self
                 assert: a = 'cd';
                 assert: b = 'cd';
+                assert: a == b;
+                assert: c first == b;
+                assert: d == b.
-                assert: c = 'cd';
-                assert: d = 'cd'.
 
-
  !

Item was added:
+ ----- Method: BecomeTest>>testBecomeForwardCopyIdentityHash (in category 'tests') -----
+ testBecomeForwardCopyIdentityHash
+        "Check that
+                1. the argument to becomeForward: is modified to have the receiver's identity hash.
+                2. the receiver's identity hash is unchanged."
+
+        | a b ha |
+
+        a := 'ab' copy.
+        b := 'cd' copy.
+        ha := a identityHash.
+
+        a becomeForward: b copyHash: true.
+
+        self
+                assert: a identityHash = ha;
+                assert: b identityHash = ha.
+
+ !

Item was changed:
  ----- Method: BecomeTest>>testBecomeForwardDontCopyIdentityHash (in category 'tests') -----
  testBecomeForwardDontCopyIdentityHash
         "Check that
                 1. the argument to becomeForward: is NOT modified to have the receiver's identity hash.
+                2. the receiver's identity hash is changed."
-                2. the receiver's identity hash is unchanged."
 
         | a b hb |
 
         a := 'ab' copy.
         b := 'cd' copy.
         hb := b identityHash.
 
         a becomeForward: b copyHash: false.
 
         self
                 assert: a identityHash = hb;
                 assert: b identityHash = hb.
 
  !

Item was changed:
  ----- Method: BecomeTest>>testBecomeForwardIdentityHash (in category 'tests') -----
  testBecomeForwardIdentityHash
+        "Document that the receiver hash is changed, but the argument hash is unchanged.
+        (a becomeForward: b) has thus same effect as (a becomeForward: b copyHash: false)"
-        "Check that
-                1. the argument to becomeForward: is modified to have the receiver's identity hash.
-                2. the receiver's identity hash is unchanged."
 
+        | a b hb |
-        | a b ha |
 
         a := 'ab' copy.
         b := 'cd' copy.
+        hb := b identityHash.
-        ha := a identityHash.
 
         a becomeForward: b.
 
         self
+                assert: a identityHash = hb;
+                assert: b identityHash = hb.
-                assert: a identityHash = ha;
-                assert: b identityHash = ha.
 
  !




Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Tests-nice.458.mcz

timrowledge


> On 2021-04-30, at 10:09 AM, Thiede, Christoph <[hidden email]> wrote:
>
> But let's take this as something positive and inspirative instead. :-) Do we maybe need a new tool for this?

Tools to help workflow are always welcome; lack of them almost always results in potentially good ideas getting lost in the mire. (Think traits, for example)

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: DPN: Double Precision No-op



Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Tests-nice.458.mcz

Christoph Thiede

Tools to help workflow are always welcome; lack of them almost always results in potentially good ideas getting lost in the mire. (Think traits, for example)


And how can we fight this development? Better visibility/PR? :-)


Best,

Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von tim Rowledge <[hidden email]>
Gesendet: Freitag, 30. April 2021 19:15:56
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] The Trunk: Tests-nice.458.mcz
 


> On 2021-04-30, at 10:09 AM, Thiede, Christoph <[hidden email]> wrote:
>
> But let's take this as something positive and inspirative instead. :-) Do we maybe need a new tool for this?

Tools to help workflow are always welcome; lack of them almost always results in potentially good ideas getting lost in the mire. (Think traits, for example)

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: DPN: Double Precision No-op





Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Tests-nice.458.mcz

Nicolas Cellier
Hi Christoph,
sorry, i forgot to check the inbox. The change itself was easy.
I spent time searching the origin of the change, if it was a VM change
or an image change (or both), and the reason for it.

Le ven. 30 avr. 2021 à 20:06, Thiede, Christoph
<[hidden email]> a écrit :

>
> > Tools to help workflow are always welcome; lack of them almost always results in potentially good ideas getting lost in the mire. (Think traits, for example)
>
>
> And how can we fight this development? Better visibility/PR? :-)
>
>
> Best,
>
> Christoph
>
> ________________________________
> Von: Squeak-dev <[hidden email]> im Auftrag von tim Rowledge <[hidden email]>
> Gesendet: Freitag, 30. April 2021 19:15:56
> An: The general-purpose Squeak developers list
> Betreff: Re: [squeak-dev] The Trunk: Tests-nice.458.mcz
>
>
>
> > On 2021-04-30, at 10:09 AM, Thiede, Christoph <[hidden email]> wrote:
> >
> > But let's take this as something positive and inspirative instead. :-) Do we maybe need a new tool for this?
>
> Tools to help workflow are always welcome; lack of them almost always results in potentially good ideas getting lost in the mire. (Think traits, for example)
>
> tim
> --
> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> Strange OpCodes: DPN: Double Precision No-op
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Tests-nice.458.mcz

timrowledge
In reply to this post by Christoph Thiede


> On 2021-04-30, at 11:06 AM, Thiede, Christoph <[hidden email]> wrote:
>
> > Tools to help workflow are always welcome; lack of them almost always results in potentially good ideas getting lost in the mire. (Think traits, for example)
>
> And how can we fight this development? Better visibility/PR? :-)

The ideal - you know, that situation that we all pretend to aim for but never get close to achieving - would be that if one creates a new facility (traits, environments, private methods, any sort of abstracting trick) you also create tools and additions to existing tools that make it easy to use the new idea. And until you do, it does not get added to Trunk.

Obviously I'm not demanding that the individual must necessarily do this; solving these kinds of problem is what a community ought to be good for. But not putting some new thing into Trunk until the cycle is complete seems like a helpful idea.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Useful random insult:- Cackles a lot, but I ain't seen no eggs yet.



Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Tests-nice.458.mcz

Christoph Thiede

But not putting some new thing into Trunk until the cycle is complete seems like a helpful idea.


Why do you think this? :-) Quite the contrary, I would rather have said that as soon as a new tool is in the Trunk, the chances become higher that someone actually uses it ...

Best,
Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von tim Rowledge <[hidden email]>
Gesendet: Samstag, 1. Mai 2021 01:40:11
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] The Trunk: Tests-nice.458.mcz
 


> On 2021-04-30, at 11:06 AM, Thiede, Christoph <[hidden email]> wrote:
>
> > Tools to help workflow are always welcome; lack of them almost always results in potentially good ideas getting lost in the mire. (Think traits, for example)
>
> And how can we fight this development? Better visibility/PR? :-)

The ideal - you know, that situation that we all pretend to aim for but never get close to achieving - would be that if one creates a new facility (traits, environments, private methods, any sort of abstracting trick) you also create tools and additions to existing tools that make it easy to use the new idea. And until you do, it does not get added to Trunk.

Obviously I'm not demanding that the individual must necessarily do this; solving these kinds of problem is what a community ought to be good for. But not putting some new thing into Trunk until the cycle is complete seems like a helpful idea.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Useful random insult:- Cackles a lot, but I ain't seen no eggs yet.





Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Tests-nice.458.mcz

Jakob Reschke
In reply to this post by timrowledge
Maybe tool building is still considered to be too much trouble. No RAD
tools etc. Marcel, did you get some insights on this one?

Am Sa., 1. Mai 2021 um 01:40 Uhr schrieb tim Rowledge <[hidden email]>:

>
>
>
> > On 2021-04-30, at 11:06 AM, Thiede, Christoph <[hidden email]> wrote:
> >
> > > Tools to help workflow are always welcome; lack of them almost always results in potentially good ideas getting lost in the mire. (Think traits, for example)
> >
> > And how can we fight this development? Better visibility/PR? :-)
>
> The ideal - you know, that situation that we all pretend to aim for but never get close to achieving - would be that if one creates a new facility (traits, environments, private methods, any sort of abstracting trick) you also create tools and additions to existing tools that make it easy to use the new idea. And until you do, it does not get added to Trunk.
>
> Obviously I'm not demanding that the individual must necessarily do this; solving these kinds of problem is what a community ought to be good for. But not putting some new thing into Trunk until the cycle is complete seems like a helpful idea.
>
>
> tim
> --
> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> Useful random insult:- Cackles a lot, but I ain't seen no eggs yet.
>
>
>