JDK-8129429 : Several java.sql tests shall be excluded from execution on compact profiles 1 and 2
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.sql
  • Affected Version: 8u60
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • OS: generic
  • CPU: generic
  • Submitted: 2015-06-22
  • Updated: 2017-04-18
Related Reports
Relates :  
Description
Accordingly to http://openjdk.java.net/jeps/161 java.sql.rowset is available on JRE starting from Compact Profile 3. Therefore the following tests shall be excluded from execution on profiles 1 and 2:

javax/sql/testng/test/rowset/BaseRowSetTests.java
javax/sql/testng/test/rowset/CommonRowSetTests.java
javax/sql/testng/test/rowset/RowSetFactoryTests.java
javax/sql/testng/test/rowset/RowSetMetaDataTests.java
javax/sql/testng/test/rowset/RowSetProviderTests.java
javax/sql/testng/test/rowset/RowSetWarningTests.java
javax/sql/testng/test/rowset/cachedrowset/CachedRowSetTests.java
javax/sql/testng/test/rowset/cachedrowset/CommonCachedRowSetTests.java
javax/sql/testng/test/rowset/filteredrowset/CityFilter.java
javax/sql/testng/test/rowset/filteredrowset/FilteredRowSetTests.java
javax/sql/testng/test/rowset/filteredrowset/PrimaryKeyFilter.java
javax/sql/testng/test/rowset/joinrowset/JoinRowSetTests.java
javax/sql/testng/test/rowset/serial/SQLInputImplTests.java
javax/sql/testng/test/rowset/serial/SQLOutputImplTests.java
javax/sql/testng/test/rowset/serial/SerialArrayTests.java
javax/sql/testng/test/rowset/serial/SerialBlobTests.java
javax/sql/testng/test/rowset/serial/SerialClobTests.java
javax/sql/testng/test/rowset/serial/SerialDataLinkTests.java
javax/sql/testng/test/rowset/serial/SerialExceptionTests.java
javax/sql/testng/test/rowset/serial/SerialJavaObjectTests.java
javax/sql/testng/test/rowset/serial/SerialRefTests.java
javax/sql/testng/test/rowset/serial/SerialStructTests.java
javax/sql/testng/test/rowset/spi/SyncFactoryExceptionTests.java
javax/sql/testng/test/rowset/spi/SyncFactoryPermissionsTests.java
javax/sql/testng/test/rowset/spi/SyncFactoryTests.java
javax/sql/testng/test/rowset/spi/SyncProviderExceptionTests.java
javax/sql/testng/test/rowset/webrowset/CommonWebRowSetTests.java
javax/sql/testng/test/rowset/webrowset/WebRowSetTests.java
javax/sql/testng/util/PropertyStubProvider.java
javax/sql/testng/util/StubBaseRowSet.java
javax/sql/testng/util/StubCachedRowSetImpl.java
javax/sql/testng/util/StubContext.java
javax/sql/testng/util/StubFilteredRowSetImpl.java
javax/sql/testng/util/StubJdbcRowSetImpl.java
javax/sql/testng/util/StubJoinRowSetImpl.java
javax/sql/testng/util/StubRowSetFactory.java
javax/sql/testng/util/StubSyncProvider.java
javax/sql/testng/util/StubSyncResolver.java
javax/sql/testng/util/StubWebRowSetImpl.java

The issue can be fixed by changing layout of the tests directory: javax/sql/rowset/testng/test looks more consistent and reflects to existing jtreg test groups definitions:

compact2 = \
  :compact2_minimal \
  :compact1 \
  :needs_full_vm_compact2 \
 -:needs_compact3 \
...

needs_compact3 = \
  :jdk_instrument \
  :jdk_jmx \
  :jdk_management \
  :jdk_sctp \
  com/sun/jndi \
  com/sun/org/apache/xml/internal/security \
  com/sun/security/auth \
  com/sun/security/sasl \
  com/sun/security/jgss \
  com/sun/tracing \
  java/util/prefs \
  javax/naming \
  javax/security \
  javax/smartcardio \
  javax/sql/rowset \
...

Comments
All tests using the JDBC API should have `@modules java.sql` in their test definition. We should also remove all residual references to compact profiles from TEST.groups.
18-04-2017