Thanks for reporting Abdelghani. Now it would be doubly useful if you could isolate which build introduced the problem. PharoLauncher can be used to help bisect working/non-working images.
cheers -ben On 27 November 2017 at 04:08, abdelghani ALIDRA via Pharo-users < pharo-users@lists.pharo.org> wrote: > > > ---------- Forwarded message ---------- > From: abdelghani ALIDRA <alidran...@yahoo.fr> > To: "pharo-users@lists.pharo.org" <pharo-users@lists.pharo.org> > Cc: > Bcc: > Date: Sun, 26 Nov 2017 20:08:29 +0000 (UTC) > Subject: Removing instance variables doesn't recompile the methods > > Hi, > > In a fresh pharo 6 image, I add a class with an instance variable x and > implement accessors. > Then I write a test method for the accessors of x > MyClassTest>>testReadWriteX > self assert (MyClass new x: 0) x equals: 0 > > I run the test and obviously it is green > > BUT > > I remove the instance variable x. Obviously, the accessors are broken and > the test should be red when I execute it again but it is not!!! > > I can even change the class again (to recompile it I thought) or even load > the code in a new image and the tests are still green. > I can also invoque the broken methods in a playground or in an inspector : > MyClass new x: 0; increment; x then printIt. and astonishingly 1 is printed. > The only way to detect the error is to recompile the method but this does > not happen (maybe it should) when instance variables are modified or > removed in the class (even when you use the refactoring tool!) > > I think this is annoying because one can no more really trust his tests. > > Cheers > Abdelghani > > > >