I'm stil learning this harness, but I am pretty sure you can run any
program with a main() that you want from within the test harness, just
by adding the .java file to functionTests/tests. I don't think the
harness has any restrctions on this main() program being multi-threaded
or single-threaded.
David
Øystein Grøvlen wrote:
> I was thinking I should add a test for this bug fix. Since a
> multithreaded program is needed, I was trying to use the MultiTest
> framework, but despite trying several approaches I have not been able
> to reproduce it that way. Note that I in 20 minutes was able to write
> the Java program that is attached to the jira entry. This programs
> will reproduce the bug in approx. 1 of 3 runs (each run takes less
> than 10 seconds).
>
> Is there any way to add a multi-threaded program to the testsuite?
>
> In my opinion, the MultiTest framework is not very suited for
> reproducing bugs or testing specific concurrency
> mechanisms/algorithms/protocols. You have no control of what is
> executing concurrently and just has to rely on that the scenario you
> are looking for will happen by accident if run long enough. That does
> not make the testing very efficient.
>
> --
> Øystein
>
>
>>>>>>"ØG(" == Øystein Grøvlen (JIRA) <derby-dev@db.apache.org>
writes:
>
>
> >> "Schema already exists" when creating a table
> >> ---------------------------------------------
> >>
> >> Key: DERBY-230
> >> URL: http://issues.apache.org/jira/browse/DERBY-230
> >> Project: Derby
> >> Type: Bug
> >> Components: SQL
> >> Versions: 10.0.2.1, 10.0.2.0, 10.0.2.2, 10.1.0.0
> >> Reporter: Øystein Grøvlen
> >> Assignee: Øystein Grøvlen
> >> Priority: Minor
> >> Attachments: Main.java
> >>
> >> When running a multithreaded program where several threads in parallell
create tables in a schema that is not explicitly created, one often get the following exception:
> >> ERROR X0Y68: Schema 'TESTSCHEMA' already exists.
> >> at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:322)
> >> at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.duplicateDescriptorException(DataDictionaryImpl.java:1512)
> >> at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addDescriptorNow(DataDictionaryImpl.java:1496)
> >> at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addDescriptor(DataDictionaryImpl.java:1478)
> >> at org.apache.derby.impl.sql.execute.CreateSchemaConstantAction.executeConstantAction(CreateSchemaConstantAction.java:147)
> >> at org.apache.derby.impl.sql.execute.DDLConstantAction.getSchemaDescriptorForCreate(Unknown
Source)
> >> at org.apache.derby.impl.sql.execute.CreateTableConstantAction.executeConstantAction(CreateTableConstantAction.java:213)
> >> at org.apache.derby.impl.sql.execute.MiscResultSet.open(MiscResultSet.java:56)
> >> at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:366)
> >> at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1108)
> >> at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:517)
> >> at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:475)
> >> at derbytest.Main$CreateTable.run(Main.java:42)
> >> at java.lang.Thread.run(Thread.java:595)
> >> A program that reproduces this bug will be attached.
>
> ØG(> --
> ØG(> This message is automatically generated by JIRA.
> ØG(> -
> ØG(> If you think it was sent incorrectly contact one of the administrators:
> ØG(> http://issues.apache.org/jira/secure/Administrators.jspa
> ØG(> -
> ØG(> For more information on JIRA, see:
> ØG(> http://www.atlassian.com/software/jira
>
>
>
>
|