Subject: Re: bug#42771: [PATCH] Disable tests for smalltalk and add candidate releases

From: Holger Peters <[email-masked]>
Date: Sun, 03 Jan 2021 16:34:10 +0100

Hi,

I am not sure I will have the time to solve the remaining issues,
but I would like to share some intermediate results with you.
Find attached the smalltalk file I have in my personal channel,
it contains 2 package definitions.

smalltalk-alt: corresponds to the `normal' smalltalk package with
    various fixes over the one currently in gui (a) added
    dependencies, (b) uses gcc-5 for building because I found a
    reference in the smalltalk mailing list about newer GCC
    releases optimizing some statements away that are crucial for
    GNU Smalltalk to build.

    As a result the test failures for intmath and others that are
    present in the current `smalltalk' recipe in guix are
    resolved in this variant.

    Note that there are still failing tests for this release,
    namely all the ANSI compliancy tests. I do feel like since
    each and every one of these tests fails, it might be a
    build-system-setup/autotest related failure.

`smalltalk-next' is a derived clean build from the VCS. I dropped
    the pre-release build as you suggested in (2).

As for going forward I am not quite sure whether I'll find time
to do more debugging.  If I were a heavy GNU Smalltalk user I'd
probably use `smalltalk-next' anyway as it seems to build
flawlessly.

-- Failing Tests for `smalltalk-alt'

ANSI compliancy tests.

 47: ArrayANSITest                                   FAILED
(testsuite.at:83)
 48: ArrayFactoryANSITest                            FAILED
(testsuite.at:84)
 49: BagANSITest                                     FAILED
(testsuite.at:85)
 50: BagFactoryANSITest                              FAILED
(testsuite.at:86)
 51: BooleanANSITest                                 FAILED
(testsuite.at:87)
 52: ByteArrayANSITest                               FAILED
(testsuite.at:88)
 53: ByteArrayFactoryANSITest                        FAILED
(testsuite.at:89)
 54: CharacterANSITest                               FAILED
(testsuite.at:90)
 55: CharacterFactoryANSITest                        FAILED
(testsuite.at:91)
 56: DateAndTimeANSITest                             FAILED
(testsuite.at:92)
 57: DateAndTimeFactoryANSITest                      FAILED
(testsuite.at:93)
 58: DictionaryANSITest                              FAILED
(testsuite.at:94)
 59: DictionaryFactoryANSITest                       FAILED
(testsuite.at:95)
 60: DurationANSITest                                FAILED
(testsuite.at:96)
 61: DurationFactoryANSITest                         FAILED
(testsuite.at:97)
 62: DyadicValuableANSITest                          FAILED
(testsuite.at:98)
 63: ErrorANSITest                                   FAILED
(testsuite.at:99)
 64: ErrorClassANSITest                              FAILED
(testsuite.at:100)
 65: ExceptionANSITest                               FAILED
(testsuite.at:101)
 66: ExceptionClassANSITest                          FAILED
(testsuite.at:102)
 67: ExceptionSetANSITest                            FAILED
(testsuite.at:103)
 68: FailedMessageANSITest                           FAILED
(testsuite.at:104)
 69: FileStreamFactoryANSITest                       FAILED
(testsuite.at:105)
 70: FloatANSITest                                   FAILED
(testsuite.at:106)
 71: FloatCharacterizationANSITest                   FAILED
(testsuite.at:107)
 72: FractionANSITest                                FAILED
(testsuite.at:108)
 73: FractionFactoryANSITest                         FAILED
(testsuite.at:109)
 74: IdentityDictionaryANSITest                      FAILED
(testsuite.at:110)
 75: IdentityDictionaryFactoryANSITest               FAILED
(testsuite.at:111)
 76: IntegerANSITest                                 FAILED
(testsuite.at:112)
 77: IntervalANSITest                                FAILED
(testsuite.at:113)
 78: IntervalFactoryANSITest                         FAILED
(testsuite.at:114)
 79: MessageNotUnderstoodANSITest                    FAILED
(testsuite.at:115)
 80: MessageNotUnderstoodSelectorANSITest            FAILED
(testsuite.at:116)
 81: MonadicBlockANSITest                            FAILED
(testsuite.at:117)
 82: NilANSITest                                     FAILED
(testsuite.at:118)
 83: NiladicBlockANSITest                            FAILED
(testsuite.at:119)
 84: NotificationANSITest                            FAILED
(testsuite.at:120)
 85: NotificationClassANSITest                       FAILED
(testsuite.at:121)
 86: ObjectANSITest                                  FAILED
(testsuite.at:122)
 87: ObjectClassANSITest                             FAILED
(testsuite.at:123)
 88: OrderedCollectionANSITest                       FAILED
(testsuite.at:124)
 89: OrderedCollectionFactoryANSITest                FAILED
(testsuite.at:125)
 90: ReadFileStreamANSITest                          FAILED
(testsuite.at:126)
 91: ReadStreamANSITest                              FAILED
(testsuite.at:127)
 92: ReadStreamFactoryANSITest                       FAILED
(testsuite.at:128)
 93: ReadWriteStreamANSITest                         FAILED
(testsuite.at:129)
 94: ReadWriteStreamFactoryANSITest                  FAILED
(testsuite.at:130)
 95: ScaledDecimalANSITest                           FAILED
(testsuite.at:131)
 96: SelectorANSITest                                FAILED
(testsuite.at:132)
 97: SetANSITest                                     FAILED
(testsuite.at:133)
 98: SetFactoryANSITest                              FAILED
(testsuite.at:134)
 99: SortedCollectionANSITest                        FAILED
(testsuite.at:135)
100: SortedCollectionFactoryANSITest                 FAILED
(testsuite.at:136)
101: StringANSITest                                  FAILED
(testsuite.at:137)
102: StringFactoryANSITest                           FAILED
(testsuite.at:138)
103: SymbolANSITest                                  FAILED
(testsuite.at:139)
104: TranscriptANSITest                              FAILED
(testsuite.at:140)
105: WarningANSITest                                 FAILED
(testsuite.at:141)
106: WarningClassANSITest                            FAILED
(testsuite.at:142)
107: WriteFileStreamANSITest                         FAILED
(testsuite.at:143)
108: WriteStreamANSITest                             FAILED
(testsuite.at:144)
109: WriteStreamFactoryANSITest                      FAILED
(testsuite.at:145)
110: ZeroDivideANSITest                              FAILED
(testsuite.at:146)
111: ZeroDivideFactoryANSITest                       FAILED
(testsuite.at:147)

On Sat, 2020-12-05 at 15:30 +0100, Ludovic Courtès wrote:
> Hi Holger,
> 
> Holger Peters <[email-masked]> skribis:
> 
> > * gnu/packages/smalltalk.scm (smalltalk): disable tests
> > (smalltalk-next): New variable.
> > (smalltalk-next-from-vcs): New variable.
> 
> I have mostly two comments, as discussed on IRC (restating them here
> for
> those following along):
> 
>   1. Instead of disabling tests wholesale, what we usually do is (1)
>      investigate why the test is failing (I think it’s a single test
>      failure here), (2) try to determine whether it’s serious or not,
>      (3) see if we can work around it with reasonable effort, and if
>      not, skip just this test.
> 
>   2. I think we should just have ‘smalltalk’ (latest release) and
>      ‘smalltalk-next’ (VCS snapshot).  Having an extra package for 
> the release candidate is not really useful IMO, and not something we
>      generally do.