You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Ioan Eugen Stan <st...@gmail.com> on 2011/08/23 19:44:38 UTC
about the six failing tests
Hello,
There are six tests that fail, all located in the FetchBodyStructure
suite. I have isolated the first and put println's all over the code
to find the source.
If you look at the last lines, the differences in what the server
sends back and what he should are that instead of en, en-US,en-CA, he
sends back just en-CA.
So I printed what I was reading from HBase via ChunkInputStream, and
everything is ok (except for one extra byte at the end of the stream
that I can't get rid of).
I think the problem is with the server implementation of the body
structure parser. It's strange that the other tests (JPA, JCR) pass.
In order to proper read the file:
- client requests begin with: 'client request'
- after a client request, follow the method trace. I also printed some
information about the parameters to see what is going on.
- after the server gets all the information from the store, he checks
the responses.
- server responses begin with 'server response', and the following
line is what he expects to get.
I also print the byte array buffers written/read from HBase with
ChunkInput/Output. They begin with 'chunk read' and 'chunk write'. I
use Bytes.toStringBinary() for that.
I also appended the test file so it will be easier to follow.
p.s. Norman was right, the last bugs are the hardest.
--
Ioan Eugen Stan
http://ieugen.blogspot.com/
Re: about the six failing tests
Posted by Ioan Eugen Stan <st...@gmail.com>.
2011/8/24 Norman Maurer <no...@apache.org>:
> Hi there,
>
> the difference is:
> Expected: ("en" "en-US" "en-CA")
> Actual: ("en-CA")
>
> So I think there is something buggy with storing the Properties.
>
>
> Bye,
> Norman
Hi Norman,
I thought the server parses the Headers for that information. It
should have been obvious that this is not the case, but I am still a
bit puzzled, because I don't remember storing any properties for
Content-Language, so en-CA should not appear.
I will check again and report back.
--
Ioan Eugen Stan
http://ieugen.blogspot.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
Re: about the six failing tests
Posted by Norman Maurer <no...@apache.org>.
Hi there,
the difference is:
Expected: ("en" "en-US" "en-CA")
Actual: ("en-CA")
So I think there is something buggy with storing the Properties.
Bye,
Norman
Am 24.08.2011 12:22, schrieb Eric Charles:
> Hi Ioan,
>
> I've updated my sources.
>
> Trying to install the mailbox-hbase, I've got
> testFlagsToPut(org.apache.james.mailbox.hbase.HBaseUtilsTest) Time
> elapsed: 0.008 sec <<< FAILURE!
> java.lang.AssertionError:
> at org.junit.Assert.fail(Assert.java:74)
>
>
> So I installed skipping tests.
>
> Running the integration tests gives me the 6 errors on
> FetchBodyStructureTest.
>
> Running from eclipse shows [1]
>
> Do we see any difference, or must we go to the bytes level?
>
> Thx.
>
> Eric
>
>
> [1]
>
> org.apache.james.imap.tester.base.ProtocolSession$InvalidServerResponseException:
>
> Location:
> /org/apache/james/imap/scripts/FetchSimpleBodyStructure.test:206
>
> LastClientMsg: A28 FETCH 1:* (BODY BODYSTRUCTURE)
>
> Expected: '\* 3 FETCH \(BODY \("APPLICATION" "XHTML\+XML" \("e"
> "mc\*mc"\) "<477345345@example\.org>" "Homage to 70's TV" "7BIT" 183\)
> BODYSTRUCTURE \("APPLICATION" "XHTML\+XML" \("e" "mc\*mc"\)
> "<477345345@example\.org>" "Homage to 70's TV" "7BIT" 183
> "Q2hlY2sgSW50ZWdyaXR5IQ==" \("inline" \("foo" "bar" "one" "1" "param"
> "value"\)\) \("en" "en-US" "en-CA"\)
> "http://www.example.org/rhubard.html"\)\)'
>
> Actual : '* 3 FETCH (BODY ("APPLICATION" "XHTML+XML" ("e" "mc*mc")
> "<47...@example.org>" "Homage to 70's TV" "7BIT" 183)
> BODYSTRUCTURE ("APPLICATION" "XHTML+XML" ("e" "mc*mc")
> "<47...@example.org>" "Homage to 70's TV" "7BIT" 183
> "Q2hlY2sgSW50ZWdyaXR5IQ==" ("inline" ("foo" "bar" "one" "1" "param"
> "value")) ("en-CA") "http://www.example.org/rhubard.html"))'
> at
> org.apache.james.imap.tester.base.ProtocolSession$ServerResponse.checkResponse(ProtocolSession.java:312)
>
>
> On 23/08/11 19:44, Ioan Eugen Stan wrote:
>> Hello,
>>
>> There are six tests that fail, all located in the FetchBodyStructure
>> suite. I have isolated the first and put println's all over the code
>> to find the source.
>> If you look at the last lines, the differences in what the server
>> sends back and what he should are that instead of en, en-US,en-CA, he
>> sends back just en-CA.
>> So I printed what I was reading from HBase via ChunkInputStream, and
>> everything is ok (except for one extra byte at the end of the stream
>> that I can't get rid of).
>> I think the problem is with the server implementation of the body
>> structure parser. It's strange that the other tests (JPA, JCR) pass.
>>
>> In order to proper read the file:
>>
>> - client requests begin with: 'client request'
>> - after a client request, follow the method trace. I also printed some
>> information about the parameters to see what is going on.
>> - after the server gets all the information from the store, he checks
>> the responses.
>> - server responses begin with 'server response', and the following
>> line is what he expects to get.
>>
>> I also print the byte array buffers written/read from HBase with
>> ChunkInput/Output. They begin with 'chunk read' and 'chunk write'. I
>> use Bytes.toStringBinary() for that.
>> I also appended the test file so it will be easier to follow.
>>
>> p.s. Norman was right, the last bugs are the hardest.
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-dev-help@james.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
Re: about the six failing tests
Posted by Eric Charles <er...@apache.org>.
Hi Ioan,
I've updated my sources.
Trying to install the mailbox-hbase, I've got
testFlagsToPut(org.apache.james.mailbox.hbase.HBaseUtilsTest) Time
elapsed: 0.008 sec <<< FAILURE!
java.lang.AssertionError:
at org.junit.Assert.fail(Assert.java:74)
So I installed skipping tests.
Running the integration tests gives me the 6 errors on
FetchBodyStructureTest.
Running from eclipse shows [1]
Do we see any difference, or must we go to the bytes level?
Thx.
Eric
[1]
org.apache.james.imap.tester.base.ProtocolSession$InvalidServerResponseException:
Location: /org/apache/james/imap/scripts/FetchSimpleBodyStructure.test:206
LastClientMsg: A28 FETCH 1:* (BODY BODYSTRUCTURE)
Expected: '\* 3 FETCH \(BODY \("APPLICATION" "XHTML\+XML" \("e"
"mc\*mc"\) "<477345345@example\.org>" "Homage to 70's TV" "7BIT" 183\)
BODYSTRUCTURE \("APPLICATION" "XHTML\+XML" \("e" "mc\*mc"\)
"<477345345@example\.org>" "Homage to 70's TV" "7BIT" 183
"Q2hlY2sgSW50ZWdyaXR5IQ==" \("inline" \("foo" "bar" "one" "1" "param"
"value"\)\) \("en" "en-US" "en-CA"\)
"http://www.example.org/rhubard.html"\)\)'
Actual : '* 3 FETCH (BODY ("APPLICATION" "XHTML+XML" ("e" "mc*mc")
"<47...@example.org>" "Homage to 70's TV" "7BIT" 183) BODYSTRUCTURE
("APPLICATION" "XHTML+XML" ("e" "mc*mc") "<47...@example.org>"
"Homage to 70's TV" "7BIT" 183 "Q2hlY2sgSW50ZWdyaXR5IQ==" ("inline"
("foo" "bar" "one" "1" "param" "value")) ("en-CA")
"http://www.example.org/rhubard.html"))'
at
org.apache.james.imap.tester.base.ProtocolSession$ServerResponse.checkResponse(ProtocolSession.java:312)
On 23/08/11 19:44, Ioan Eugen Stan wrote:
> Hello,
>
> There are six tests that fail, all located in the FetchBodyStructure
> suite. I have isolated the first and put println's all over the code
> to find the source.
> If you look at the last lines, the differences in what the server
> sends back and what he should are that instead of en, en-US,en-CA, he
> sends back just en-CA.
> So I printed what I was reading from HBase via ChunkInputStream, and
> everything is ok (except for one extra byte at the end of the stream
> that I can't get rid of).
> I think the problem is with the server implementation of the body
> structure parser. It's strange that the other tests (JPA, JCR) pass.
>
> In order to proper read the file:
>
> - client requests begin with: 'client request'
> - after a client request, follow the method trace. I also printed some
> information about the parameters to see what is going on.
> - after the server gets all the information from the store, he checks
> the responses.
> - server responses begin with 'server response', and the following
> line is what he expects to get.
>
> I also print the byte array buffers written/read from HBase with
> ChunkInput/Output. They begin with 'chunk read' and 'chunk write'. I
> use Bytes.toStringBinary() for that.
> I also appended the test file so it will be easier to follow.
>
> p.s. Norman was right, the last bugs are the hardest.
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
--
Eric
http://about.echarles.net
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org