On Sat, Nov 26, 2011 at 05:06:17PM -0300, Mariano Martinez Peck wrote:
Hi guys. After a couple of efforts from Martin Dias and I, we have a "working" Fuel serializer for Squeak. I used the quotes because all I could do is to run tests.
Cool!
As always, we appreciate any feedback.
Hi Mariano,
I loaded Fuel into my working Squeak image, which is an older image kept up to date with trunk via the update stream (i.e. it is "bleeding edge" with various additional packages loaded).
I had to implement SystemVersion>>major and SystemVersion>>minor to complete the installation (these are Pharo idioms, so I just implemented them to answer 0 on Squeak).
I did not encounter the timeout problem, but if you have a long running test, just add a pragma like <timeout: 30> to set the timeout to 30 seconds. This will increase the timeout when running on Squeak, and should not affect Pharo.
Below are some notes that I took while running the tests. The most important issue would be the tests that fail in CompiledMethod comparison. I cannot say if this is a Fuel issue or just something about the way the tests are written, but I note significant differences in the implementation of CompiledMethod>>= between Squeak and Pharo, so it is definitely something worth checking.
Notes on test issues in FuelTests:
FLSequencedSerializationTest>>assertSequencedSerializationEqualityOf: is failing due to difference in CompiledMethod>>= between Pharo and Squeak. Not sure if this is a Fuel issue.
FLBasicSerializationTest>>testGradientFillStyle fails because GradientFillStyle>>= is an identity test, whereas in Pharo it has been added from package '*PolyMorph-Widgets' (i.e. not part of base Pharo either).
FLBasicSerializationTest>>testMethodDictionary fails due to compiled method #= (same issue as FLSequencedSerializationTest>>assertSequencedSerializationEqualityOf:)
In FLBlockClosureSerializationTest, all tests fail with an assertion failure in MethodContext
FLFullBasicSerializationTest>>testMethodDictionaries fails due to the compiled method equality check problem.
FLMethodContextSerializationTest tests fail with assertion failure in MethodContext
FLSortedCollectionSerializationTest tests fail with assertion failure in MethodContext
FLCreateClassSerializationTest has errors due to DNU from ClassForTestToBeDeleted1 class>>basicLocalSelectors
FLCompiledMethodSerializationTest>>testTwoCompiledMethodsReferencingSameClassVariable fails due to the compiled method equality check problem.
FLCreateTraitSerializationTest>>testCreateBasic fails with DNU on Trait>>basicLocalSelectors