tests left for Zinc

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

tests left for Zinc

Paul DeBruicker
Hi -

I've gotten the Zinc HTTP server port to pass 132 of 139 tests.  I just
uploaded the code to Gemsource.  I do not know what to do about the
remaining errors and they seem like not easy ones to fix, but also not
crucial to the basic operation of the code.  5 of the errors stem from
Gemstone not having the following classes:

GzipWriteStream
GzipReadStream
JPEGReadWriter
and TextConverter + subclasses.

The other two errors occur because an exception that should be raised is
not raised.

I think I'm going to update the version of Zinc I ported to the most
recent version on Squeaksource while its fresh in my mind.

Does anyone have interest and time to try to sort out the other 7 errors
or have suggestions about replacements for those classes I mention?
Thanks for any guidance.

Paul
Reply | Threaded
Open this post in threaded view
|

Re: tests left for Zinc

Dale Henrichs
On 04/08/2011 12:07 PM, Paul DeBruicker wrote:

> Hi -
>
> I've gotten the Zinc HTTP server port to pass 132 of 139 tests.  I just
> uploaded the code to Gemsource.  I do not know what to do about the
> remaining errors and they seem like not easy ones to fix, but also not
> crucial to the basic operation of the code.  5 of the errors stem from
> Gemstone not having the following classes:
>
> GzipWriteStream
> GzipReadStream
> JPEGReadWriter
> and TextConverter + subclasses.
>
> The other two errors occur because an exception that should be raised is
> not raised.
>
> I think I'm going to update the version of Zinc I ported to the most
> recent version on Squeaksource while its fresh in my mind.
>
> Does anyone have interest and time to try to sort out the other 7 errors
> or have suggestions about replacements for those classes I mention?
> Thanks for any guidance.
>
> Paul

Paul,

Regarding the TextConverter stuff, you might be able to use some of the
Grease stuff for UTF8 conversion...

As for the others....in 3.0 there will be ANSI compliant Streams with an
implementation that will be very similar to Pharo's (instance variables
and state) ... that's the main difficulty with porting Streams to GLASS
in 2.x the iv names are different and the internal state is different ...

Dale
Reply | Threaded
Open this post in threaded view
|

Re: tests left for Zinc

NorbertHartl
In reply to this post by Paul DeBruicker
Paul,

I just did a quick (well..) run of the tests in my gemstone image and I have 100 passes out of 139. Maybe something is wrong with my image which would explain my troubles trying to fix some stuff. Can you elaborate on how you prepared the image for your porting efforts?

Norbert

Am 08.04.2011 um 21:07 schrieb Paul DeBruicker:

> Hi -
>
> I've gotten the Zinc HTTP server port to pass 132 of 139 tests.  I just uploaded the code to Gemsource.  I do not know what to do about the remaining errors and they seem like not easy ones to fix, but also not crucial to the basic operation of the code.  5 of the errors stem from Gemstone not having the following classes:
>
> GzipWriteStream
> GzipReadStream
> JPEGReadWriter
> and TextConverter + subclasses.
>
> The other two errors occur because an exception that should be raised is not raised.
>
> I think I'm going to update the version of Zinc I ported to the most recent version on Squeaksource while its fresh in my mind.
>
> Does anyone have interest and time to try to sort out the other 7 errors or have suggestions about replacements for those classes I mention? Thanks for any guidance.
>
> Paul

Reply | Threaded
Open this post in threaded view
|

Re: tests left for Zinc

Paul DeBruicker
Hi Norbert,

Good point.  I tried it from a unmodified 1.0-beta.8.6 extent and wrote
out the process below.  I think the problem you identified stems from me
not mentioning that you'd need to install the Cryptography package from
Gemsource because you need an MD5 hash.  Also I forgot to include a
'destroy' method in SocketStreamSocket.  I've added it. I'll try to make
a metacello config later in the weekend.


The install process:

Starting from the 1.0-beta.8.6

Install SocketStream-PaulDeBruicker.9.mcz from
http://seaside.gemstone.com/ss/PharoCompat

Install Cryptography-PaulDeBruicker.43.mcz from
http://seaside.gemstone.com/ss/Cryptography
        The Cryptography install will stop once and you'll have to 'terminate'
it and retry it because Gemstone does not have #becomeForward: But the
CryptoHashFunctionTest tests pass.

Install Zinc-HTTP-PaulDeBruicker.139.mcz from
http://seaside.gemstone.com/ss/ZincHTTPComponents

Install Zinc-Tests-PaulDeBruicker.78.mcz from
http://seaside.gemstone.com/ss/ZincHTTPComponents



I think that should do it.  Thanks for the heads up about it being broken

Paul





On 04/08/2011 04:55 PM, Norbert Hartl wrote:

> Paul,
>
> I just did a quick (well..) run of the tests in my gemstone image and I have 100 passes out of 139. Maybe something is wrong with my image which would explain my troubles trying to fix some stuff. Can you elaborate on how you prepared the image for your porting efforts?
>
> Norbert
>
> Am 08.04.2011 um 21:07 schrieb Paul DeBruicker:
>
>> Hi -
>>
>> I've gotten the Zinc HTTP server port to pass 132 of 139 tests.  I just uploaded the code to Gemsource.  I do not know what to do about the remaining errors and they seem like not easy ones to fix, but also not crucial to the basic operation of the code.  5 of the errors stem from Gemstone not having the following classes:
>>
>> GzipWriteStream
>> GzipReadStream
>> JPEGReadWriter
>> and TextConverter + subclasses.
>>
>> The other two errors occur because an exception that should be raised is not raised.
>>
>> I think I'm going to update the version of Zinc I ported to the most recent version on Squeaksource while its fresh in my mind.
>>
>> Does anyone have interest and time to try to sort out the other 7 errors or have suggestions about replacements for those classes I mention? Thanks for any guidance.
>>
>> Paul
>

Reply | Threaded
Open this post in threaded view
|

Re: tests left for Zinc

NorbertHartl

Am 09.04.2011 um 00:38 schrieb Paul DeBruicker:

> Hi Norbert,
>
> Good point.  I tried it from a unmodified 1.0-beta.8.6 extent and wrote out the process below.  I think the problem you identified stems from me not mentioning that you'd need to install the Cryptography package from Gemsource because you need an MD5 hash.  Also I forgot to include a 'destroy' method in SocketStreamSocket.  I've added it. I'll try to make a metacello config later in the weekend.
>
>
> The install process:
>
> Starting from the 1.0-beta.8.6
>
> Install SocketStream-PaulDeBruicker.9.mcz from http://seaside.gemstone.com/ss/PharoCompat
>
> Install Cryptography-PaulDeBruicker.43.mcz from http://seaside.gemstone.com/ss/Cryptography
> The Cryptography install will stop once and you'll have to 'terminate' it and retry it because Gemstone does not have #becomeForward: But the CryptoHashFunctionTest tests pass.
>
Any reason why you didn't change it become: ? As far as I can see it is just stored in a dictionary. In this scenario become: should be as good as becomeForward:, right? The module in the dictionary is keyed by module name.

Norbert

> Install Zinc-HTTP-PaulDeBruicker.139.mcz from http://seaside.gemstone.com/ss/ZincHTTPComponents
>
> Install Zinc-Tests-PaulDeBruicker.78.mcz from http://seaside.gemstone.com/ss/ZincHTTPComponents
>
>
>
> I think that should do it.  Thanks for the heads up about it being broken
>
> Paul
>
>
>
>
>
> On 04/08/2011 04:55 PM, Norbert Hartl wrote:
>> Paul,
>>
>> I just did a quick (well..) run of the tests in my gemstone image and I have 100 passes out of 139. Maybe something is wrong with my image which would explain my troubles trying to fix some stuff. Can you elaborate on how you prepared the image for your porting efforts?
>>
>> Norbert
>>
>> Am 08.04.2011 um 21:07 schrieb Paul DeBruicker:
>>
>>> Hi -
>>>
>>> I've gotten the Zinc HTTP server port to pass 132 of 139 tests.  I just uploaded the code to Gemsource.  I do not know what to do about the remaining errors and they seem like not easy ones to fix, but also not crucial to the basic operation of the code.  5 of the errors stem from Gemstone not having the following classes:
>>>
>>> GzipWriteStream
>>> GzipReadStream
>>> JPEGReadWriter
>>> and TextConverter + subclasses.
>>>
>>> The other two errors occur because an exception that should be raised is not raised.
>>>
>>> I think I'm going to update the version of Zinc I ported to the most recent version on Squeaksource while its fresh in my mind.
>>>
>>> Does anyone have interest and time to try to sort out the other 7 errors or have suggestions about replacements for those classes I mention? Thanks for any guidance.
>>>
>>> Paul
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: tests left for Zinc

Paul DeBruicker
On 04/09/2011 08:44 AM, Norbert Hartl wrote:

>> Install Cryptography-PaulDeBruicker.43.mcz from http://seaside.gemstone.com/ss/Cryptography
>> The Cryptography install will stop once and you'll have to 'terminate' it and retry it because Gemstone does not have #becomeForward: But the CryptoHashFunctionTest tests pass.
>>
> Any reason why you didn't change it become: ? As far as I can see it is just stored in a dictionary. In this scenario become: should be as good as becomeForward:, right? The module in the dictionary is keyed by module name.
>
> Norbert
>

At the time I was porting the Cryptography package I was just interested
in being able to do SHA256 & HMAC  hashing and I didn't need to change
the parts of the package that are affected by the becomeForward: call to
be able to do that.  This was a while ago but I remember trying to
proceed and do a full port and making changes but it seemed increasingly
difficult/confusing/risky-because-its-cryptography that I stopped
pursuing it because I had what I needed and it loaded and worked and
didn't want to mislead others about stuff I had no idea about e.g. the
other crypto functions.

Aside from not knowing much about cryptography part of the challenge for
me with the port was the ASN1Stream class is used a lot in that Package
and I didn't have confidence I was rearranging things so the stream
contents came out in the same order at the expected time.


Reply | Threaded
Open this post in threaded view
|

Re: tests left for Zinc

NorbertHartl

Am 09.04.2011 um 15:36 schrieb Paul DeBruicker:

On 04/09/2011 08:44 AM, Norbert Hartl wrote:

Install Cryptography-PaulDeBruicker.43.mcz from http://seaside.gemstone.com/ss/Cryptography
The Cryptography install will stop once and you'll have to 'terminate' it and retry it because Gemstone does not have #becomeForward: But the CryptoHashFunctionTest tests pass.

Any reason why you didn't change it become: ? As far as I can see it is just stored in a dictionary. In this scenario become: should be as good as becomeForward:, right? The module in the dictionary is keyed by module name.

Norbert


At the time I was porting the Cryptography package I was just interested in being able to do SHA256 & HMAC  hashing and I didn't need to change the parts of the package that are affected by the becomeForward: call to be able to do that.  This was a while ago but I remember trying to proceed and do a full port and making changes but it seemed increasingly difficult/confusing/risky-because-its-cryptography that I stopped pursuing it because I had what I needed and it loaded and worked and didn't want to mislead others about stuff I had no idea about e.g. the other crypto functions.

Aside from not knowing much about cryptography part of the challenge for me with the port was the ASN1Stream class is used a lot in that Package and I didn't have confidence I was rearranging things so the stream contents came out in the same order at the expected time.

Well, history is kinda funny. I was planning myself back then to port the cryptograhy package. I was afraid of struggeling too much so I talked to Chris Muller about splitting the package. He said there were plans to split it up and most of the package structure is separated already. They just didn't get it going with monticello dependencies so they gave up. Now the problem is solved my metacello and another try sounds feasible.
I really like to use Zinc in production. But if it depends on a package that not even loads in a clean way this is a no-go. What do you think about splitting the cryptography package into smaller chunks and only include what is working?

Norbert
Reply | Threaded
Open this post in threaded view
|

Re: tests left for Zinc

Paul DeBruicker
On 04/09/2011 10:59 AM, Norbert Hartl wrote:
> I really like to use Zinc in production. But if it depends on a package
> that not even loads in a clean way this is a no-go. What do you think
> about splitting the cryptography package into smaller chunks and only
> include what is working?
>
> Norbert


Yes splitting the Cryptography package sounds good to me.  Dale has to
add you as an admin I think on Gemsource.  Also I think you only need
the Cryptography package if you want to do anything related to digest
authentication.  I'm not positive but I think thats it.


Paul



Reply | Threaded
Open this post in threaded view
|

Re: tests left for Zinc

NorbertHartl

Am 10.04.2011 um 00:37 schrieb Paul DeBruicker:

> On 04/09/2011 10:59 AM, Norbert Hartl wrote:
>> I really like to use Zinc in production. But if it depends on a package
>> that not even loads in a clean way this is a no-go. What do you think
>> about splitting the cryptography package into smaller chunks and only
>> include what is working?
>>
>> Norbert
>
>
> Yes splitting the Cryptography package sounds good to me.  Dale has to add you as an admin I think on Gemsource.  Also I think you only need the Cryptography package if you want to do anything related to digest authentication.  I'm not positive but I think thats it.
>
Cryptography repository on gemsource is assigned to GLASS DEVS where we all are contained. It could take a week or so for me to start doing it but then you seem to be satisified the way it is right now.
Even if I only need the crypto stuff when doing digest auth we have to split a package. It is splitting the crypto package to get the working set accesible or it would be splitting zinc to be able not to load crypto dependent stuff. Splitting crypto package seems more reasonable to me.

Norbert
Reply | Threaded
Open this post in threaded view
|

Re: tests left for Zinc

Paul DeBruicker
On 04/10/2011 05:50 AM, Norbert Hartl wrote:
> Cryptography repository on gemsource is assigned to GLASS DEVS where we all are contained. It could take a week or so for me to start doing it but then you seem to be satisified the way it is right now.
> Even if I only need the crypto stuff when doing digest auth we have to split a package. It is splitting the crypto package to get the working set accesible or it would be splitting zinc to be able not to load crypto dependent stuff. Splitting crypto package seems more reasonable to me.
>
> Norbert


I did not look too closely the other day but this morning I found that I
could replace the need for the Cryptography package by using Gemstone's
CharacterCollection>>#md5sum and LargePositiveInteger>>#hex methods.  I
uploaded a version of Zinc-HTTP to Gemsource that does not need the
Cryptography package a few minutes ago.

So you should be all set with what's there.


I'm going to change the ConfigurationOfZincHTTPComponents on
squeaksource to load the gemstone specific stuff next.

Paul