[Mono-dev] question about System.Web.Extensions unit tests

Atsushi Eno atsushi at ximian.com
Mon Jun 2 10:11:49 EDT 2008


That is very strange argument. Do you understand that your way of
testing compelling Mono to fail while you guys are kept away
ON .NET? I regard it as inappropriate practice and strongly suggest
to rewrite those tests.

Atsushi Eno

Noam Lampert wrote:
> Hi Atsushi,
> We care about .NET. Please do not rewrite the tests to fail on .NET.
> Passing on .NET gives strong confidence that our implementation is
> correct, and not only non-regressive.
> As you can see, the order of the members in Grasshopper and .NET is
> different and hence the #if.
> The best way to fix these tests is to have a strong comparison engine
> that will understand that these specific differences are not important,
> but this is not a small task.
> Perhaps a simpler workaround is to succeed on either of the strings
> (e.g. Assert.IsTrue(script == res1 || script == res2); ).
> Another alternative is to change the #if TARGET_JVM to #if !DOTNET.
> Noam
> -----Original Message-----
> From: Atsushi Eno [mailto:atsushi at ximian.com] 
> Sent: Monday, June 02, 2008 3:51 AM
> To: mono-devel-list at lists.ximian.com
> Subject: [Mono-dev] question about System.Web.Extensions unit tests
> Hello,
> I have been seeing NUnit test failures in Sys.Web.Extensions. It keeps
> the buildbot orange (warned), so today I checked the tests to see
> what should be expected.
> There I found that such lines that treats TARGET_JVM as different:
> --------
> 			Assert.AreEqual ("$create(My.Type, null, null,
> {\"myName2\":\"myCompId2\",\"myName1\":\"myCompId1\"},
> $get(\"Element1\"));", script);
> #else
> 			Assert.AreEqual ("$create(My.Type, null, null,
> {\"myName1\":\"myCompId1\",\"myName2\":\"myCompId2\"},
> $get(\"Element1\"));", script);
> #endif
> --------
> Though I see no reason to differentiate tests for GH. To my
> understanding from our meeting at Mono summit 2006 time, Mainsoft
> does not use #if TARGET_JVM without any reasonable differences,
> so I would like to know the reason why there are such switches all
> around the tests so that they can pass on GH while they will fail
> on Mono, if any.
> Actually when I ran make PROFILE=net_3_5 run-test-ondotnet, there
> was no error report. So if those tests are rewritten, they will
> fail on .NET.
> If it is only about behavioral difference in generic Dictinary`2,
> then those tests should not be conditionalized to legalize only in
> TARGET_JVM and rewritten to fail only on .NET. (Who cares after all?)
> Atsushi Eno

More information about the Mono-devel-list mailing list