[
https://issues.apache.org/jira/browse/DERBY-3780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12614799#action_12614799
]
Kathey Marsden commented on DERBY-3780:
---------------------------------------
Thanks Knut for looking at this. Below is my analysis.
--------------------------------------------------------------------------------------------
ClobTest, BlobClob4Blob and LargeDataLocks tests assume length of string
inserted into a binary column is equal to the length of the bytes that
represent the string. These did not fail on Zos because even though the values
are different for EBCDIC, the alphabet characters still only take one byte.
The tests should be changed to not make this assumption.
1)
testGetCharacterStreamClobUpdates(org.apache.derbyTesting.functionTests.tests.jdbc4.ClobTest)java.sql.SQLException:
The position argument '53' exceeds the size of the BLOB/CLOB.
16)
testPositionBlob(org.apache.derbyTesting.functionTests.tests.jdbcapi.BlobClob4BlobTest)junit.framework.AssertionFailedError:
FAIL - wrong match found for ??? starting at 52 and length of 3 expected:<57>
but was:<-1>
17)
testGetBlobBeforeAndAfterUpdate(org.apache.derbyTesting.functionTests.tests.jdbcapi.BlobClob4BlobTest)junit.framework.AssertionFailedError:
FAIL - wrong blob value
18)
testGetBlobBeforeAndAfterUpdateStream(org.apache.derbyTesting.functionTests.tests.jdbcapi.BlobClob4BlobTest)junit.framework.AssertionFailedError:
FAIL - wrong blob value
19)
testPositionBytes(org.apache.derbyTesting.functionTests.tests.jdbcapi.BlobClob4BlobTest)junit.framework.AssertionFailedError:
FAIL - wrong match found for ? starting at 40 and length of 1 expected:<62>
but was:<47>
20) testPositionBlob(org.apache.derbyTesting.functionTests.tests.jdbcapi.Blob
Clob4BlobTest)junit.framework.AssertionFailedError: FAIL - wrong match found
for ????????? starting at 38 and length of 9 expected:<39> but was:<-1>
27)
testGetBytes(org.apache.derbyTesting.functionTests.tests.jdbcapi.LargeDataLocksTest)junit.framework.AssertionFailedError:
expected:<38000> but was:<76002>
at
org.apache.derbyTesting.functionTests.tests.jdbcapi.LargeDataLocksTest.te
26)
testGetBinaryStream(org.apache.derbyTesting.functionTests.tests.jdbcapi.LargeDataLocksTest)junit.framew
ork.AssertionFailedError: expected:<38000> but was:<76002>
------------------------------------------------------------------------
File not imported with US-ASCII codeset. Test needs to be fixed.
30)
testEarlyEndOfFile(org.apache.derbyTesting.functionTests.tests.tools.ImportExportTest)junit.framework.ComparisonFailure:
Unexpected SQL state. expected:<XIE0E> but was:<42X04>
--------------------------------------------------------------------
Tests that spawn processes that don't have the same file.encoding. Can't
really fix this without passing the file.encoding on to the spawned process
which we probably don't want to do since it is not a standard property.
2) SecureServerTest( Opened = false, Authenticated= false,
CustomDerbyProperties= null, WildCardHost= null
)junit.framework.AssertionFailedError: SecureServerTest( Opened = false,
Authenticated= false, CustomDerbyProperties= null, WildCardHost= null )
Expected: Security manager installed using the Basic server security policy.
But saw:
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
----------------------------------------------------------------------------
Problem reading error log vti. The support file is in ascii and the
SYSCS_DIAG.ERROR_LOG_READER vti I think correctly reads in the default
encoding, so I don't think this is a problem. Not sure why this one didn't
show up on Zos.
13)
testErrorLogReader(org.apache.derbyTesting.functionTests.tests.lang.SysDiagVTIMappingTest)junit.framework.AssertionFailedError:
Unexpected row count: expected:<2> but was:<0>
---------------------------------------------------------------------------
Permgen Space errors and cascading DatabaseMetaDataTest failures. This just
occured because I forgot to up the Permgen space when running with the sun jvm.
-------------------------------------------------------------------
Pemission errors getting context class loader in DropDatabaseTestSetup. Not
sure what could be causing this or even what test is causing the problem.
Maybe an encoding problem reading the policy file, but only a few tests seemed
to have this problem.
19) Encryption Algorithm: defaultjava.security.AccessControlException: access
denied (java.lang.RuntimePermission getClassLoader)
--------------------------------------------------------------------------------------------------------------------
In general the conclusion is running this way popped a few more test encoding
issues and this is a nice trick to reproduce encoding issues on Windows with
Sun JVM's (doesn't work with IBM jvms). I don't see any product encoding
issues. Running with -Dfile.encoding=UTF-16 it is not really suitable for a
nightly run, which I had hoped, because of the spawned processes and
AccessControl exceptions.
> Run junit tests with -Dfile.encoding="UTF-16" to expose encoding issues and
> analyze failures
> --------------------------------------------------------------------------------------------
>
> Key: DERBY-3780
> URL: https://issues.apache.org/jira/browse/DERBY-3780
> Project: Derby
> Issue Type: Task
> Components: Test
> Affects Versions: 10.5.0.0
> Reporter: Kathey Marsden
> Priority: Minor
> Attachments: ReadEncodedFile.java, suites_all_utf16.txt
>
>
> Wth sun jkd 1.5 and 1.6 you can run JUnit tests with -Dfile.encoding="UTF-16"
> to help expose encoding issues with Derby and tests. Run suites.All and
> analyze failures.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.