Patrick Rein uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-pre.343.mcz
==================== Summary ====================
Name: Tests-pre.343
Author: pre
Time: 19 May 2016, 6:24:26.418731 pm
UUID: e46cc1be-f541-4e22-b763-0cb981f3769f
Ancestors: Tests-pre.342
Reverts accidential change to the PackageDependencyTest which actually resides in the inbox
=============== Diff against Tests-pre.342 ===============
Item was changed:
----- Method: PackageDependencyTest>>testPreferenceBrowser (in category 'tests') -----
testPreferenceBrowser
self testPackage: #PreferenceBrowser dependsExactlyOn: #(
#'Chronology-Core'
Collections
Graphics
Kernel
Morphic
MorphicExtras
System
Tools
- #'ToolBuilder-Morphic'
- EToys
- Balloon
).!
The change of PackageDependencyTest >> #testPreferenceBrowser
Tests-pre.341 seems to have slipped through.
Levente
On Thu, 19 May 2016, commits(a)source.squeak.org wrote:
> Patrick Rein uploaded a new version of Tests to project The Trunk:
> http://source.squeak.org/trunk/Tests-pre.342.mcz
>
> ==================== Summary ====================
>
> Name: Tests-pre.342
> Author: pre
> Time: 19 May 2016, 5:56:44.520731 pm
> UUID: 9f7000bc-c8e8-497d-80cc-40ced18f376b
> Ancestors: Tests-pre.341
>
> As discussed several times on the mailing list the ExceptionTests>>testHandlerFromAction test is a feature request test and should be regarded as an expectedFailure.
>
> =============== Diff against Tests-eem.340 ===============
>
> Item was changed:
> ----- Method: ExceptionTests>>expectedFailures (in category 'testing-outer') -----
> expectedFailures
> + "This test is a feature request. For more information on this issue visit:
> + http://forum.world.st/The-Inbox-Tests-TestRunner-156-mcz-tc4643910.html#a46…
> + http://forum.world.st/ExceptionTests-Wrong-error-handler-tc4848699.html
> + http://forum.world.st/ExceptionTests-gt-testHandlerFromAction-fails-tc48728…"
> +
> + ^ #(testHandlerFromAction).!
> - ^ #().!
>
> Item was changed:
> ----- Method: PackageDependencyTest>>testPreferenceBrowser (in category 'tests') -----
> testPreferenceBrowser
> self testPackage: #PreferenceBrowser dependsExactlyOn: #(
> #'Chronology-Core'
> Collections
> Graphics
> Kernel
> Morphic
> MorphicExtras
> System
> Tools
> + #'ToolBuilder-Morphic'
> + EToys
> + Balloon
> ).!
>
>
>
Patrick Rein uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-pre.342.mcz
==================== Summary ====================
Name: Tests-pre.342
Author: pre
Time: 19 May 2016, 5:56:44.520731 pm
UUID: 9f7000bc-c8e8-497d-80cc-40ced18f376b
Ancestors: Tests-pre.341
As discussed several times on the mailing list the ExceptionTests>>testHandlerFromAction test is a feature request test and should be regarded as an expectedFailure.
=============== Diff against Tests-eem.340 ===============
Item was changed:
----- Method: ExceptionTests>>expectedFailures (in category 'testing-outer') -----
expectedFailures
+ "This test is a feature request. For more information on this issue visit:
+ http://forum.world.st/The-Inbox-Tests-TestRunner-156-mcz-tc4643910.html#a46…
+ http://forum.world.st/ExceptionTests-Wrong-error-handler-tc4848699.html
+ http://forum.world.st/ExceptionTests-gt-testHandlerFromAction-fails-tc48728…"
+
+ ^ #(testHandlerFromAction).!
- ^ #().!
Item was changed:
----- Method: PackageDependencyTest>>testPreferenceBrowser (in category 'tests') -----
testPreferenceBrowser
self testPackage: #PreferenceBrowser dependsExactlyOn: #(
#'Chronology-Core'
Collections
Graphics
Kernel
Morphic
MorphicExtras
System
Tools
+ #'ToolBuilder-Morphic'
+ EToys
+ Balloon
).!
Patrick Rein uploaded a new version of Tests to project The Inbox:
http://source.squeak.org/inbox/Tests-pre.341.mcz
==================== Summary ====================
Name: Tests-pre.341
Author: pre
Time: 19 May 2016, 5:34:18.672168 pm
UUID: 0209ce70-2b8b-4d53-b743-ed1024d367ea
Ancestors: Tests-eem.340
By moving the PBColorPreferenceView from the EToys package to the PreferenceBrowser package, the PB package now depends on etyos through the UpdatingRectangleMorph. If this is intentional we should make the following modification to the PackageDependencyTests.
=============== Diff against Tests-eem.340 ===============
Item was changed:
----- Method: PackageDependencyTest>>testPreferenceBrowser (in category 'tests') -----
testPreferenceBrowser
self testPackage: #PreferenceBrowser dependsExactlyOn: #(
#'Chronology-Core'
Collections
Graphics
Kernel
Morphic
MorphicExtras
System
Tools
+ #'ToolBuilder-Morphic'
+ EToys
+ Balloon
).!
Patrick Rein uploaded a new version of ToolsTests to project The Trunk:
http://source.squeak.org/trunk/ToolsTests-pre.77.mcz
==================== Summary ====================
Name: ToolsTests-pre.77
Author: pre
Time: 19 May 2016, 2:52:01.715168 pm
UUID: 237de745-810d-433e-80c2-0752d24b2226
Ancestors: ToolsTests-nice.76
Fixes a test for the FileList class. The itemsForFile: method requires a fully qualified path which is stated in the method and also provided by internal methods of FileList. The test however used a relative path.
=============== Diff against ToolsTests-nice.76 ===============
Item was changed:
----- Method: FileListTest>>testServicesForFileEnding (in category 'test') -----
testServicesForFileEnding
"(self selector: #testServicesForFileEnding) debug"
+ | items |
+ items := (FileList new directory: FileDirectory default; yourself)
+ itemsForFile: (FileDirectory default fullNameFor: 'aaa.kkk').
+ self assert: (items anySatisfy: [ :ea | self checkIsServiceIsFromDummyTool: ea ]).
- self assert: (((FileList new directory: FileDirectory default; yourself) itemsForFile: 'aaa.kkk') anySatisfy: [ :ea | self checkIsServiceIsFromDummyTool: ea ]).
!
IMHO ST80 should be able to exist without Monticello in the image, so we
should resolve this dependency.
Levente
On Thu, 19 May 2016, commits(a)source.squeak.org wrote:
> Patrick Rein uploaded a new version of ST80Tests to project The Trunk:
> http://source.squeak.org/trunk/ST80Tests-pre.4.mcz
>
> ==================== Summary ====================
>
> Name: ST80Tests-pre.4
> Author: pre
> Time: 19 May 2016, 11:31:47.505052 am
> UUID: 5fdce0f2-ef8e-054b-99ce-5178af9ee632
> Ancestors: ST80Tests-ul.3
>
> Fixes a test for the ST80 package which asserts the packages the ST80 package depends on. Adds Monticello to the list as it is now needed for the unloading capabilities
>
> =============== Diff against ST80Tests-ul.3 ===============
>
> Item was changed:
> ----- Method: ST80PackageDependencyTest>>testST80 (in category 'as yet unclassified') -----
> testST80
> self testPackage: #ST80 dependsExactlyOn: #(
> #'Chronology-Core'
> Collections
> Compiler
> Files
> Graphics
> Kernel
> Morphic
> Multilingual
> Network
> SUnit
> System
> #'ToolBuilder-Kernel'
> Tools
> + Monticello
> ).!
>
>
>
Patrick Rein uploaded a new version of Multilingual to project The Trunk:
http://source.squeak.org/trunk/Multilingual-pre.212.mcz
==================== Summary ====================
Name: Multilingual-pre.212
Author: pre
Time: 19 May 2016, 10:09:04.266052 am
UUID: 4faefd5e-594d-5944-9aca-eb2ab8b6f562
Ancestors: Multilingual-ul.211
Fixes broken TestIndenting as StrikeFontSet did not fullfill the interface required for a Font although it is a subclass of AbstractFont
=============== Diff against Multilingual-ul.211 ===============
Item was added:
+ ----- Method: StrikeFontSet>>depth (in category 'as yet unclassified') -----
+ depth
+
+ ^ self glyphs depth!
Patrick Rein uploaded a new version of ST80Tests to project The Trunk:
http://source.squeak.org/trunk/ST80Tests-pre.4.mcz
==================== Summary ====================
Name: ST80Tests-pre.4
Author: pre
Time: 19 May 2016, 11:31:47.505052 am
UUID: 5fdce0f2-ef8e-054b-99ce-5178af9ee632
Ancestors: ST80Tests-ul.3
Fixes a test for the ST80 package which asserts the packages the ST80 package depends on. Adds Monticello to the list as it is now needed for the unloading capabilities
=============== Diff against ST80Tests-ul.3 ===============
Item was changed:
----- Method: ST80PackageDependencyTest>>testST80 (in category 'as yet unclassified') -----
testST80
self testPackage: #ST80 dependsExactlyOn: #(
#'Chronology-Core'
Collections
Compiler
Files
Graphics
Kernel
Morphic
Multilingual
Network
SUnit
System
#'ToolBuilder-Kernel'
Tools
+ Monticello
).!
Levente Uzonyi uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ul.831.mcz
==================== Summary ====================
Name: System-ul.831
Author: ul
Time: 19 May 2016, 10:43:32.712543 am
UUID: 71e758e2-381c-4c5a-84b5-87e206f286a9
Ancestors: System-mt.830
- use #adoptInstance: instead of copying the ByteArray into a new LargeInteger in SecureHashAlgorithm >> #finalHash. This should be somewhat quicker and it should also avoid running the fallback code of LargePositiveInteger >> #replaceFrom:to:with:startingAt: with a ByteArray argument, which wouldn't work.
=============== Diff against System-mt.830 ===============
Item was changed:
----- Method: SecureHashAlgorithm>>finalHash (in category 'private') -----
finalHash
"Concatenate the final totals to build the 160-bit integer result."
"Details: If the primitives are supported, the results are in the totals array. Otherwise, they are in the instance variables totalA through totalE."
| result |
result := ByteArray new: 20.
totals
ifNil: [ "compute final hash when not using primitives"
result
unsignedShortAt: 1 put: totalE low bigEndian: false;
unsignedShortAt: 3 put: totalE hi bigEndian: false;
unsignedShortAt: 5 put: totalD low bigEndian: false;
unsignedShortAt: 7 put: totalD hi bigEndian: false;
unsignedShortAt: 9 put: totalC low bigEndian: false;
unsignedShortAt: 11 put: totalC hi bigEndian: false;
unsignedShortAt: 13 put: totalB low bigEndian: false;
unsignedShortAt: 15 put: totalB hi bigEndian: false;
unsignedShortAt: 17 put: totalA low bigEndian: false;
unsignedShortAt: 19 put: totalA hi bigEndian: false ]
ifNotNil: [ "compute final hash when using primitives"
result
unsignedLongAt: 1 put: (totals at: 5) bigEndian: false;
unsignedLongAt: 5 put: (totals at: 4) bigEndian: false;
unsignedLongAt: 9 put: (totals at: 3) bigEndian: false;
unsignedLongAt: 13 put: (totals at: 2) bigEndian: false;
unsignedLongAt: 17 put: (totals at: 1) bigEndian: false ].
+ LargePositiveInteger adoptInstance: result.
+ ^result normalize!
- ^(LargePositiveInteger new: result size)
- replaceFrom: 1
- to: result size
- with: result
- startingAt: 1;
- normalize!
Hi,
we're running the fallback code for SecureHashAlgorithm,
LargePositiveInteger, and lots of the optional primitives. In the fallback
code of SecureHashAlgorithm>>finalHash there is a call that looks like this:
(LargePositiveInteger new: result size)
replaceFrom: 1
to: result size
with: result
startingAt: 1;
normalize
Here, result is a ByteArray. The replaceFrom:to:with:startingAt: goes to
call primitive 105, which is marked as optional in the comment, so we do not
implement it. However, the fallback code in
Integer>>replaceFrom:to:with:startingAt: sends digitAt: to the replacement
object, and ByteArray doesn't understand that message.
Clearly the fallback code behaves differently from the primitive.
1) One way to fix it would be to check the object type in the fallback code.
If it is a byte object, we simply use at: (which is the same as digitAt: for
Large*Integer).
2) Another fix is to add digitAt: to ByteArray. This feels very wrong to me.
3) Alternatively, we might say that calling replaceFrom:to:with:startingAt:
on an integer with any byte object is illegal. In that case, we could
instead fix the fallback code in SecureHashAlgorithm>>finalHash to do this
in the end:
LargePositiveInteger adoptInstance: result.
^ result normalize
This will fix the problem, but the fallback code will still be inconsistent
with the primitive.
I'm torn between 1 and 3, so what do you say?
Cheers,
Tim
--
View this message in context: http://forum.world.st/Fixing-SecureHashAlgorithm-without-plugins-tp4895951.…
Sent from the Squeak - Dev mailing list archive at Nabble.com.