Forums

New Source tree regressions

General discussion about Cobra. Releases and general news will also be posted here.
Feel free to ask questions or just say "Hello".

New Source tree regressions

Postby hopscc » Mon Oct 26, 2009 11:53 pm

Pulled a src tree update yesterday since previous pull on 10/24 (2216) .
Rebuild gives the following new warnings
Code: Select all
Boxes.cobra(548): warning: The expression (of type "IBoxMember") is never of type "IType".
DocGenerator.cobra(281): warning: The expression (of type "IBoxMember") is never of type "IType".
Compilation succeeded - 2 warnings


A testify run now quits on Tests/100-basics/322-enums-errors.cobra with Require exception
Code: Select all
    (60) 322-enums-errors.cobra

Unhandled Exception: Cobra.Lang_ert_068ce873fbcedb5be72713f74c2375eb.RequireException:
sourceSite = C:\home\hops\src\cobra\wkspace\Source\Enums.cobra:80 in EnumDecl.isDescendantOf for object EnumDecl-sh(805541, name=MyEnum, didBindInh=false, didStartBindInt=true, didBindInt=true, didStartBindImp=true, didBindImp=true, token=Token(ENUM, 'enum', 'enum', ln 3, col 2, 322-enums-errors.cobra), 805541)
info       = nil
this       = EnumDecl-sh(805541, name=MyEnum, didBindInh=false, didStartBindInt=true, didBindInt=true, didStartBindImp=true, didBindImp=true, token=Token(ENUM,
'enum', 'enum', ln 3, col 2, 322-enums-errors.cobra), 805541)
    .nativeType = nil

   at EnumDecl.IsDescendantOf(IType type) in c:\home\hops\src\cobra\wkspace\Source\Enums.cobra:line 275
   ...


Backing out changeset 2217 removes one of the warnings and the crash
Whatever the bug alluded to in the changeset was (not ticketed) the new test exercises it but the fix doesnt seem to correct it .

The second warning is from from a change in DocGenerator (changeset 2218) removing a comment about the warning and a cast that
suppressed it.


Rerun tests - get new Test failure on test 691 - 100-lowercase-class-name.cobra
Code: Select all
...
RUN 100-lowercase-class-name.cobra
    C:\home\hops\src\cobra\wkspace1\Tests\720-libraries\400-other\100-lowercase-class-name.cobra
    Test #691
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
100-lowercase-class-name.cobra(6): error: Cannot find namespace "little".
Compilation failed - 1 error, 0 warnings


This test was modded changeset 2223 (probably from Forum discussion around wx.NET) to add lowercase little namespace and tests using it.
hopscc
 
Posts: 632
Location: New Plymouth, Taranaki, New Zealand

Re: New Source tree regressions

Postby Charles » Tue Oct 27, 2009 11:56 am

You should have already gotten an email about the warnings, right? It will go away with the next snapshot. For now, just ignore it.

I'm aware of the 322 failure, but didn't have time to finish it off last night. Except I did make testify more robust so it will continue past that error. Btw that error doesn't take place for me on Mono 2.4 on Mac which is why I didn't notice it until I ran on Windows.

Finally, I noticed when I did the checkin for the "little" namespace that Subversion (at least under Mac OS X Snow Leopard) did not show the .dll as being modified, nor outside of source control ("svn status"). Very weird.
Charles
 
Posts: 2515
Location: Los Angeles, CA

Re: New Source tree regressions

Postby Charles » Tue Oct 27, 2009 11:47 pm

The 322 failure is fixed.
Charles
 
Posts: 2515
Location: Los Angeles, CA

Re: New Source tree regressions

Postby hopscc » Thu Nov 12, 2009 5:37 am

Umm. Could we do this a bit differently..

Rather than relying on a download and test surprise and possibly uncertain secondary means of notification could we just annotate the test to temporarily skip it..
( for known failures for held/working on issues)
That way the tests in the src tree are shown to be always expected to succeed and if a test fails its certainly due to a local change or a local weirdness..

heres a patch that provides a new testdirective '.skipTmpKnownFailure.' - when placed on a failing test it gives notification in the r-testify file and
status output that looks like this, Highlighting a temporary test skip for all to see
Code: Select all
> ./cobra -testify ../Tests/720-libraries/400-other
..\Tests\720-libraries\400-other
    (0) 100-lowercase-class-name.cobra
            -: skipped pending fix for known failure
    (1) 200-Foo.Bar.cobra
    (2) 202-Foo.Mismatch.cobra
    (3) 210-use-lib-with-no-ref.cobra
    (4) 211-use-lib-with-no-ref-special-order.cobra
            -: skipped pending fix for known failure
    (5) 212-use-lib-with-no-ref-not-found-error.cobra

The testdirective line in the to be skipped file can list the (temp) error or the writer or something...
Attachments
skip-test-tmp.patch
(1.85 KiB) Downloaded 344 times
hopscc
 
Posts: 632
Location: New Plymouth, Taranaki, New Zealand

Re: New Source tree regressions

Postby hopscc » Thu Nov 12, 2009 5:44 am

An alternative would be for the directive to just emit a soothing status message that says to ignore any failures ...
something like:
Code: Select all
> ./cobra -testify ../Tests/720-libraries/400-other
..\Tests\720-libraries\400-other
    (0) 100-lowercase-class-name.cobra
        :- ignore any Failures:-  known errors, fix under construction
    FAILURE ----------------------------------------------------------------------
    (1) 100-lowercase-class-name.cobra
    (2) 200-Foo.Bar.cobra
    (3) 202-Foo.Mismatch.cobra
    (4) 210-use-lib-with-no-ref.cobra
    (5) 211-use-lib-with-no-ref-special-order.cobra
        :- ignore any Failures:-  known errors, fix under construction
    FAILURE ----------------------------------------------------------------------
    (6) 211-use-lib-with-no-ref-special-order.cobra
hopscc
 
Posts: 632
Location: New Plymouth, Taranaki, New Zealand

Re: New Source tree regressions

Postby Charles » Sat Nov 14, 2009 10:08 pm

Done, but differently. The .skip. directive is reused, but can now have a comment after it. Also, any tests that are skipped emit a line to both the status as well as the results file. changeset:2249
Charles
 
Posts: 2515
Location: Los Angeles, CA

Re: New Source tree regressions

Postby hopscc » Sun Nov 15, 2009 4:11 pm

Good enough.
hopscc
 
Posts: 632
Location: New Plymouth, Taranaki, New Zealand

Re: New Source tree regressions

Postby hopscc » Sun Nov 15, 2009 5:04 pm

Just a tweak:
Could you change the message that ends up in the r-testify file to say 'Skipping test' rather than just 'Skipping' to disambiguate the output from the compiler where its notifying of
skipping duplicate error codes from csc.
The message for skipping due to a dll requirement already does that.

Code: Select all
588 xx:...cobra/wkspace/Source> grep Skipping r-testify
Skipping.
Skipping.
Skipping.
Skipping.
Skipping.
Skipping.
Skipping.
Skipping.
Skipping because multipart.
Skipping.
Skipping.
Skipping.
Skipping.
Skipping because multipart.
Skipping because multipart.
Skipping because multipart.
Skipping because multipart.
Skipping because multipart.
Skipping duplicate message: 210-multi-arg-for-list-fail.cobra(8): error: Cannot
find an indexer in "forEnumVar7607934" whose type is "int".
Skipping duplicate message: 200-anonymous-methods-errors.cobra(34): error: Cannot yield unless the return type is an iterator type. Try "int*".
Skipping duplicate message: 200-anonymous-methods-errors.cobra(37): error: Cannot find "x".
Skipping duplicate message: 200-lambdas-errors.cobra(34): error: Cannot find "x".
Skipping.
Skipping.
Skipping duplicate message: 400-extend-nonlib-generic-error.cobra(14): error: Cannot find type for "T".
Skipping.
Skipping.
Skipping.
Skipping.
Skipping.
Skipping test due to DLL requirement "Tao.Sdl.dll" not found.
Skipping because requirement for "mono" is not met.
Skipping because requirement for "mono" is not met.
Skipping because requirement for "mono" is not met.
Skipping. Need to fix problem with Foo.iSeries.dll + svn.
Skipping. Need to fix auto-reference of DLLs.
Skipping because multipart.
Skipping.
Skipping because multipart.
Skipping.
Skipping.
Skipping because requirement for "mono" is not met.
Skipping.
Skipping.
Skipping test due to DLL requirement "MySql.Data.dll" not found.
589 xx:...cobra/wkspace/Source>
hopscc
 
Posts: 632
Location: New Plymouth, Taranaki, New Zealand

Re: New Source tree regressions

Postby hopscc » Sun Nov 15, 2009 5:29 pm

Heres a patch for it.
gives
Code: Select all
592 xx:...cobra/wkspace/Source> grep 'Skipping test' r-testify
Skipping test.
Skipping test.
Skipping test.
Skipping test.
Skipping test.
Skipping test.
Skipping test.
Skipping test.
Skipping test because multipart.
Skipping test.
Skipping test.
Skipping test.
Skipping test.
Skipping test because multipart.
Skipping test because multipart.
Skipping test because multipart.
Skipping test because multipart.
Skipping test because multipart.
Skipping test.
Skipping test.
Skipping test.
Skipping test.
Skipping test.
Skipping test.
Skipping test.
Skipping test because DLL requirement "Tao.Sdl.dll" not found.
Skipping test because requirement for "mono" is not met.
Skipping test because requirement for "mono" is not met.
Skipping test because requirement for "mono" is not met.
Skipping test because Need to fix problem with Foo.iSeries.dll + svn..
Skipping test because Need to fix auto-reference of DLLs..
Skipping test because multipart.
Skipping test.
Skipping test because multipart.
Skipping test.
Skipping test.
Skipping test because requirement for "mono" is not met.
Skipping test.
Skipping test.
Skipping test because DLL requirement "MySql.Data.dll" not found.
593 xx:...cobra/wkspace/Source>
Attachments
skip-wording.patch
(2.08 KiB) Downloaded 354 times
hopscc
 
Posts: 632
Location: New Plymouth, Taranaki, New Zealand

Re: New Source tree regressions

Postby Charles » Tue Nov 17, 2009 2:52 am

Charles
 
Posts: 2515
Location: Los Angeles, CA


Return to Discussion

Who is online

Users browsing this forum: No registered users and 44 guests