public class UnsupportedVetter extends BaseJDBCTestCase
Modifier and Type | Class and Description |
---|---|
static class |
UnsupportedVetter.Exclusions
Describes all of the methods for an interface which are allowed
to raise SQLFeatureNotSupportedException.
|
static class |
UnsupportedVetter.FD
Method descriptor for mandatory methods which we know Derby does not
implement.
|
static class |
UnsupportedVetter.MD
Method descriptor for optional methods which Derby does not have
to implement.
|
static class |
UnsupportedVetter.MethodSortable
Used for sorting methods, which don't come back from Class.getMethods()
in a deterministic order.
|
Modifier and Type | Field and Description |
---|---|
private static java.util.Hashtable<java.lang.Class,java.util.HashSet<java.lang.reflect.Method>> |
excludableMap |
private static UnsupportedVetter.Exclusions[] |
rawExcludables |
private boolean |
savedVerbosity |
static java.lang.String |
SQL_PACKAGE_NAME |
private static boolean |
STRICT_ENFORCEMENT |
DEFAULT_DB_DIR, DERBY_LOG, ERRORSTACKTRACEFILE
Constructor and Description |
---|
UnsupportedVetter()
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
private void |
connectionWorkhorse(java.sql.Connection conn,
java.util.HashSet<java.lang.String> unsupportedList,
java.util.HashSet<java.lang.String> notUnderstoodList) |
private java.lang.Object[] |
getNullArguments(java.lang.Class[] params)
Takes an array of classes and returns an array of objects with
null values compatible with the classes.
|
private java.lang.Object |
getNullValueForType(java.lang.Class type)
Returns a null value compatible with the class.
|
private void |
initializeExcludableMap(java.util.HashSet<java.lang.String> vanishedMethodList) |
private boolean |
isExcludable(java.lang.reflect.Method method) |
private static UnsupportedVetter.MD |
makeMD(java.lang.String methodName,
java.lang.String[] argClassNames,
boolean requiredAtThisLevel) |
private void |
printNotUnderstoodList(java.util.HashSet<java.lang.String> notUnderstoodList) |
private void |
printUnsupportedList(java.util.HashSet<java.lang.String> unsupportedList) |
private void |
printVanishedMethodList(java.util.HashSet<java.lang.String> vanishedMethodList) |
private void |
recordUnexpectedError(java.lang.Object candidate,
java.lang.Class iface,
java.lang.reflect.Method method,
java.util.HashSet<java.lang.String> notUnderstoodList,
java.lang.Throwable cause) |
protected void |
setUp() |
private java.lang.reflect.Method[] |
sortMethods(java.lang.Class iface) |
static junit.framework.Test |
suite() |
protected void |
tearDown()
Tear down this fixture, sub-classes should call
super.tearDown().
|
void |
testSupportedMethods()
Find all methods in this framework which raise SQLFeatureNotSupportedException.
|
private void |
vetConnectionPooledDataSource(java.util.HashSet<java.lang.String> unsupportedList,
java.util.HashSet<java.lang.String> notUnderstoodList) |
private void |
vetDataSource(java.util.HashSet<java.lang.String> unsupportedList,
java.util.HashSet<java.lang.String> notUnderstoodList) |
private void |
vetInterfaceMethods(java.lang.Object candidate,
java.lang.Class iface,
java.util.HashSet<java.lang.String> unsupportedList,
java.util.HashSet<java.lang.String> notUnderstoodList) |
private void |
vetInterfaces(java.lang.Object candidate,
java.lang.Class myClass,
java.util.HashSet<java.lang.String> unsupportedList,
java.util.HashSet<java.lang.String> notUnderstoodList) |
private void |
vetLargeObjects(java.sql.Connection conn,
java.util.HashSet<java.lang.String> unsupportedList,
java.util.HashSet<java.lang.String> notUnderstoodList) |
private void |
vetMethod(java.lang.Object candidate,
java.lang.Class iface,
java.lang.reflect.Method method,
java.util.HashSet<java.lang.String> unsupportedList,
java.util.HashSet<java.lang.String> notUnderstoodList) |
private void |
vetObject(java.lang.Object candidate,
java.util.HashSet<java.lang.String> unsupportedList,
java.util.HashSet<java.lang.String> notUnderstoodList) |
private void |
vetSavepoint(java.sql.Connection conn,
java.util.HashSet<java.lang.String> unsupportedList,
java.util.HashSet<java.lang.String> notUnderstoodList) |
private void |
vetXADataSource(java.util.HashSet<java.lang.String> unsupportedList,
java.util.HashSet<java.lang.String> notUnderstoodList) |
assertCallError, assertCheckTable, assertCommitError, assertCompileError, assertEquals, assertEquals, assertEquals, assertEquivalentDataType, assertErrorCode, assertGetIntError, assertNextError, assertPreparedStatementError, assertResults, assertResults, assertSQLExceptionEquals, assertSQLState, assertSQLState, assertStatementError, assertStatementError, assertStatementError, assertStatementError, assertStatementErrorUnordered, assertTableRowCount, assertUpdateCount, assertUpdateCount, assertWarning, chattyPrepare, chattyPrepareCall, checkAllConsistency, checkEstimatedRowCount, closeStatement, commit, createStatement, createStatement, createStatement, dropTable, dropTable, dropView, dropView, dumpRs, dumpRs, emptyStatementCache, executeQuery, expectCompilationError, expectCompilationError, expectExecutionError, getClientTransactionID, getConnection, getDatabaseProperty, getLastSQLException, goodStatement, goodUpdate, initializeConnection, openConnection, openDefaultConnection, openDefaultConnection, openDefaultConnection, openUserConnection, prepareCall, prepareCall, prepareCall, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, rollback, runBare, runBareOverridable, runScript, runScript, runSQLCommands, setAutoCommit, usingDB2Client, usingDerbyNetClient, usingEmbedded
alarm, assertDirectoryDeleted, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertExecJavaCmdAsExpected, assertLaunchedJUnitTestMethod, assertLaunchedJUnitTestMethod, assertSameNullness, assertSecurityManager, assertThrowableEquals, currentDirectory, execJavaCmd, execJavaCmd, execJavaCmd, fail, getClassVersionMajor, getEmmaJar, getFailureFolder, getFilesWith, getJavaExecutableName, getSystemProperty, getTestConfiguration, getTestResource, hasInterruptibleIO, isCVM, isIBMJVM, isJ9Platform, isJava5, isJava7, isPhoneME, isPlatform, isSunJVM, isWindowsPlatform, newAssertionFailedError, openTestResource, println, printStackTrace, readProcessOutput, removeDirectory, removeDirectory, removeFiles, removeSystemProperty, runsWithEmma, runsWithJaCoCo, setSystemErr, setSystemOut, setSystemProperty, sleep, sleepAtLeastOneTick, traceit, vmAtLeast
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, countTestCases, createResult, fail, fail, failNotEquals, failNotSame, failSame, format, getName, run, run, runTest, setName, toString
public static final java.lang.String SQL_PACKAGE_NAME
private static final boolean STRICT_ENFORCEMENT
private static UnsupportedVetter.Exclusions[] rawExcludables
private static java.util.Hashtable<java.lang.Class,java.util.HashSet<java.lang.reflect.Method>> excludableMap
private boolean savedVerbosity
private static UnsupportedVetter.MD makeMD(java.lang.String methodName, java.lang.String[] argClassNames, boolean requiredAtThisLevel)
public void testSupportedMethods() throws java.lang.Exception
Find all methods in this framework which raise SQLFeatureNotSupportedException.
java.lang.Exception
private void vetDataSource(java.util.HashSet<java.lang.String> unsupportedList, java.util.HashSet<java.lang.String> notUnderstoodList) throws java.lang.Exception
java.lang.Exception
private void vetConnectionPooledDataSource(java.util.HashSet<java.lang.String> unsupportedList, java.util.HashSet<java.lang.String> notUnderstoodList) throws java.lang.Exception
java.lang.Exception
private void vetXADataSource(java.util.HashSet<java.lang.String> unsupportedList, java.util.HashSet<java.lang.String> notUnderstoodList) throws java.lang.Exception
java.lang.Exception
private void connectionWorkhorse(java.sql.Connection conn, java.util.HashSet<java.lang.String> unsupportedList, java.util.HashSet<java.lang.String> notUnderstoodList) throws java.lang.Exception
java.lang.Exception
private void vetSavepoint(java.sql.Connection conn, java.util.HashSet<java.lang.String> unsupportedList, java.util.HashSet<java.lang.String> notUnderstoodList) throws java.lang.Exception
java.lang.Exception
private void vetLargeObjects(java.sql.Connection conn, java.util.HashSet<java.lang.String> unsupportedList, java.util.HashSet<java.lang.String> notUnderstoodList) throws java.lang.Exception
java.lang.Exception
private void initializeExcludableMap(java.util.HashSet<java.lang.String> vanishedMethodList) throws java.lang.Exception
java.lang.Exception
private void vetObject(java.lang.Object candidate, java.util.HashSet<java.lang.String> unsupportedList, java.util.HashSet<java.lang.String> notUnderstoodList) throws java.lang.Exception
java.lang.Exception
private void vetInterfaces(java.lang.Object candidate, java.lang.Class myClass, java.util.HashSet<java.lang.String> unsupportedList, java.util.HashSet<java.lang.String> notUnderstoodList) throws java.lang.Exception
java.lang.Exception
private void vetInterfaceMethods(java.lang.Object candidate, java.lang.Class iface, java.util.HashSet<java.lang.String> unsupportedList, java.util.HashSet<java.lang.String> notUnderstoodList) throws java.lang.Exception
java.lang.Exception
private java.lang.reflect.Method[] sortMethods(java.lang.Class iface) throws java.lang.Exception
java.lang.Exception
private void vetMethod(java.lang.Object candidate, java.lang.Class iface, java.lang.reflect.Method method, java.util.HashSet<java.lang.String> unsupportedList, java.util.HashSet<java.lang.String> notUnderstoodList) throws java.lang.Exception
java.lang.Exception
private void recordUnexpectedError(java.lang.Object candidate, java.lang.Class iface, java.lang.reflect.Method method, java.util.HashSet<java.lang.String> notUnderstoodList, java.lang.Throwable cause) throws java.lang.Exception
java.lang.Exception
private boolean isExcludable(java.lang.reflect.Method method) throws java.lang.Exception
java.lang.Exception
private java.lang.Object[] getNullArguments(java.lang.Class[] params)
params
- a Class[]
valueObject[]
valueprivate java.lang.Object getNullValueForType(java.lang.Class type)
Boolean.FALSE
for primitive booleans, 0 for
primitive integers and null
for non-primitive
types.type
- a Class
valueprivate void printUnsupportedList(java.util.HashSet<java.lang.String> unsupportedList)
private void printVanishedMethodList(java.util.HashSet<java.lang.String> vanishedMethodList)
private void printNotUnderstoodList(java.util.HashSet<java.lang.String> notUnderstoodList)
protected void setUp()
setUp
in class junit.framework.TestCase
protected void tearDown() throws java.lang.Exception
BaseJDBCTestCase
tearDown
in class BaseJDBCTestCase
java.lang.Exception
public static junit.framework.Test suite()
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.