[V3dot10] TTCFont in 7121
mathk.sue at gmail.com
Mon Jul 16 12:33:34 UTC 2007
I have also notice some other undefined classes in:
My image is a 7119 (Squeak-dev 7.6.2)
On Jul 16, 2007, at 2:22 PM, Ralph Johnson wrote:
> The latest image is Squeak3.10alpha.7121 in http://ftp.squeak.org/
> I believe that almost all the problems in this image are due to
> TTCFont. There are two minor problems not related to TTCFont.
> 1) ChangeHookTests prompts for each of its tests, so it prompts about
> 20 times. This is so annoying that I deleted the class.
> 2) WideStringTest>>testSubstrings fails.
> All other problems are probably due to TTCFont.
> First, TTCFont has an undeclared class variable, Registry. That is
> easy to fix.
> When I ran the tests, I got two failures the first time. When I ran
> the tests a second time, the image crashed. The problem was that
> TTCFont is creating recursive fonts. The solution is one we discussed
> some time ago,
> fallbackFont: aFontSetOrNil
> aFontSetOrNil == self ifTrue: [self error: 'recursive font'].
> fallbackFont _ aFontSetOrNil.
> With that change, there are two failures the first time I run the
> tests, which are:
> The second time I run the tests, there are a lot more test failing:
> FontTest had three failures, and TestIndenting has four errors. Plus,
> there are the two failures from before. And there is an error at
> Except for the WideStringTest, all the other tests use TTCFont, so
> probably TTCFont is causing all these failures.
> The third time I run the tests, there is one more failure
> (StringSocketTestCase>>#testBogusInput2) and one more error
> One of the funny things about the first error
> is that when I debug it, the test fails, it doesn't generate an error.
> But the nice thing about this MorphTest is that it DOES give an
> error, and it is the recursive font error that I have been looking
> for! fallbackFont: is called from TTCFont>>#setupDefaultFallbackFont
> fonts _ TextStyle default fontArray.
> f _ fonts first.
> 1 to: fonts size do: [:i |
> self height > (fonts at: i) height ifTrue: [f _ fonts at: i].
> self fallbackFont: f.
> This is called from StrikeFont class>>#setupDefaultFallbackFont
> In fact, a good way to generate this error is with StrikeFont
> The fourth time I ran the tests, the extra failure and the extra error
> went away; I got the same results at the second time. The fifth time
> I ran the tests, I got the MorphTest error again. The sixth time I
> ran the tests, the MophTest error dissappeared, and the
> StringSocketTestCase returned.
> Tests that give non-repeatable results are a pain in the neck!
> One other thing about TTCFont: because TTCFont declares a bunch of
> instance variables, it is suspicious that it does not copy any of them
> in veryDeepCopyWith:
> TTCFont is sick. I don't know how to fix it. However, I know how to
> remove it from the image. If someone doesn't fix it then we will
> remove it.
> V3dot10 mailing list
> V3dot10 at lists.squeakfoundation.org
More information about the V3dot10