db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Houx Zhang <houx.zh...@gmail.com>
Subject Re: [GSOC IDEA] Derby Test and Fix
Date Fri, 08 Apr 2011 00:31:56 GMT
Thanks very much, I will follow your advice and make it perfect! Thanks


2011/4/8 Kathey Marsden <kmarsdenderby@sbcglobal.net>

> On 4/7/2011 10:58 AM, Houx Zhang wrote:
>> Hi, all. I would like to apply for this GSOC on Derby and hope to get your
>> advice on my proposal. Thanks!
>>  Thank you Houx for sending the proposal.  I have not looked at it closely
> but we are close to the deadline so I will throw a few things out there. The
> most important thing is to get it submitted before the deadline.
> 1) Make sure you mention how many hours per week this summer you plan to
> work on Derby and if you have any other plans, travel commitments etc.
> 2) Include a section on your experience, not a complete resume but a short
> summary what languages you have programmed in, relevant coursework
> especially in database and Java  and any programming projects you are
> particularly proud of.
> 3) Include basic contact information and the name of your university and
> whether you are an undergraduate or graduate student.
> 4) Make sure you talk to Tiago about having an IRC interview if you have
> not already.
> The ranking process is outlined at:
> http://community.apache.org/mentee-ranking-process.html
> Unfortunately the melange tool is different this year so it will have to be
> adjusted slightly but these are the things that will be scored, so you want
> to make sure that everything there is covered.  In the past around the
> cutoff line just a point or two makes a difference.
> HTH and good Luck!
> Kathey
>> What have I done on Derby?
>> I have joined Derby on March 3. In the past month, I have set up my
>> building and testing environment for Derby by the instructions in wiki, read
>> the source code and created and assigned some issues on JIRA[1]. I have
>> provided some patches for them, some of which have been commited to the
>> Deryby repository, and some others are in discussion. In my work on Derby, I
>> have received great help from other developers the mailing list and JIRA,
>> such as Kathey, Myrna, Bryan, Knut..... Sometimes I actively launched a
>> discussion in mailing list, for example, "how to deal with test failure in
>> Chinese locale" and created  issues related, which is also one source of my
>> GSOC idea.
>> What will I do this GSOC?
>> My Task can be divided into 3 parts, and milestones are given accordingly:
>> 1.Make testcases pass in non-English locale(April 20 to June 10)
>> As descripted in [2], there are a lot of derby testing depending on the
>> English locale, which will fail in a non-English locale. There is a admitted
>> way to resolve this problem. Firstly, find the junit test cases that fails
>> in non-English locale. For each of them, if it fails just because the
>> content of message is different from expected, a assertion based on SQLState
>> will be adopted; otherwise, a hard-code locale will be used. If we find a
>> test fails in non-English locale not caused by locale itself, then we
>> discover a good usage scenario.
>> I have basicly finished the first step "find the junit test cases that
>> fails in non-English locale". When running test cases in Chinese Locale, I
>> have got dozes of failure. Afeter checking the output, I make sure most of
>> them are caused by non-English Locale environment. They concentrate in the
>> two packages----org.apache.derbyTesting.functionTests.tests.tools and
>> org.apache.derbyTesting.functionTests.tests.lang, and each test classes may
>> throw more than 5 exceptions. They are ImportExportIJTest,
>> SysinfoCPCheckTest in org.apache.derbyTesting.functionTests.tests.tools, and
>> DynamicLikeOptimizationTest, GrantRevokeTest, InbetweenTest, JoinTest,
>> LangScripts, StalePlansTest, DistinctTest, GroupByTest, ForUpdateTest,
>> ScrollCursors1Test, ErrorCodeTest, TableFunctionTest, PredicatePushdownTest,
>> XplainStatisticsTest, XplainStatisticsTest, XplainStatisticsTest,
>> NistScripts(has dozes of failure), LangHarnessJavaTest,
>> OrderByAndSortAvoidance, OptimizerOverridesTest, OffsetFetchNextTest,
>> OrderByAndOffsetFetchInSubqueries in
>> org.apache.derbyTesting.functionTests.tests.lang. I plan to make the 24 test
>> classes pass in non-English locale. The resolution is just mentioned above
>> "if it fails just because the content of message is different from expected,
>> a assertion based on SQLState will be adopted; otherwise, a hard-code locale
>> will be used."
>> Though these subtasks are very similar, and not so hard, considering I'm
>> not so free before summer holiday, 7 weeks are planned for them, 3-4 per
>> week. Serial of patches will be given, each for one test class, and each is
>> in a separate issue.
>> 2.Convert remaining store SQL tests into JUnit tests(June 11 to July 25)
>> In the package , some sql scripts need to be converted into JUnit. They
>> are RowLockBasic.sql, TableLockBasic.sql, longColumn.sql,
>> updatelocksJDBC30.sql, and updatelocks.sql. ScriptTestCase is not so
>> suitable for the new test cases, it will be better to re-write the test by
>> hand using standard JDBC calls and the utility methods and decorators
>> available[3].
>> Each of the five converting is not a easy work, so 7 weeks is planned for
>> these tasks. Issues will be created for each of them.
>> 3.Converting ij[1-4].sqls to ScripTestCase (July 26-August 15)
>> In the package org.apache.derbyTesting.functionTests.tests.tools, there
>> are ij.sql, ij1,sql, ij2.sql, ij3.sql, ij4.sql, ij5.sql, ij6.sql and
>> ij7.sql, which are very suitable to converted to JUnit by extending
>> ScripTestCase[4].
>> Considering my experience on converting IJConnectionName.sql, the work is
>> not so easy. So 3 weeks is planned for it, and I just choose 4 of them to
>> realise. If time is OK, I will certainly try to do more.
>> [1] https://issues.apache.org/jira/browse/DERBY-5084
>> https://issues.apache.org/jira/browse/DERBY-5155
>> https://issues.apache.org/jira/browse/DERBY-4260
>> https://issues.apache.org/jira/browse/DERBY-4443
>> https://issues.apache.org/jira/browse/DERBY-5155
>> [2] https://issues.apache.org/jira/browse/DERBY-5155
>> [3] http://wiki.apache.org/db-derby/KillDerbyTestHarness
>> [4] http://wiki.apache.org/db-derby/ConvertSqlScriptTestsToJunit
>> --
>> Houx Zhang

Houx Zhang

View raw message