Buggy code:
public class GrantRevokeTest extends BaseJDBCTestCase { public GrantRevokeTest ( String name ) { } public static final String [ ] users = new String [ ] { "TEST_DBO" , "U1" , "U2" , "U3" , "U4" } ; public static Test suite ( ) { } public static Test basesuite ( ) { } public void testSimpleGrant ( ) throws Exception { } public void testAllPrivileges ( ) throws Exception { } public void testColumnPrivileges ( ) throws Exception { grant ( "select(c1),update(c3,c2),references(c3,c1,c2)" , "s1" , "t1" , GrantRevokeTest . users [ 4 ] ) ; assertSelectPrivilege ( true , GrantRevokeTest . users [ 4 ] , "s1" , "t1" , new String [ ] { "c1" } ) ; assertSelectPrivilege ( false , GrantRevokeTest . users [ 4 ] , "s1" , "t1" , new String [ ] { "c2" } ) ; assertSelectPrivilege ( false , GrantRevokeTest . users [ 4 ] , "s1" , "t1" , new String [ ] { "c3" } ) ; assertSelectPrivilege ( false , GrantRevokeTest . users [ 4 ] , "s1" , "t1" , null ) ; assertUpdatePrivilege ( false , GrantRevokeTest . users [ 4 ] , "S1" , "T1" , new String [ ] { "C1" } ) ; <START_BUG> assertUpdatePrivilege ( false , GrantRevokeTest . users [ 4 ] , "S1" , "T1" , new String [ ] { "C2" , "C3" } ) ; <END_BUG> assertReferencesPrivilege ( true , GrantRevokeTest . users [ 4 ] , "s1" , "t1" , new String [ ] { "c1" , "c2" , "c3" } ) ; revoke ( "select(c1),update(c3,c2),references(c3,c1,c2)" , "s1" , "t1" , GrantRevokeTest . users [ 4 ] ) ; } public void testFunctionWithSameProcedureName ( ) throws Exception { } public void testGrantOnProcedure ( ) throws Exception { } public void testPublicTablePrivileges ( ) throws Exception { } public void testPublicRoutinePrivileges ( ) throws Exception { } public void testGrantRollbackAndCommit ( ) throws SQLException { } public void testGrantDatabaseMetaDataMethods ( ) throws Exception { } public void testRevokeWithNoPermissions ( ) throws Exception { } public void testRevokeSingleTableSingleUser ( ) throws Exception { } public void testRevokeMultiplePermissionsMultipleUsers ( ) throws SQLException { } public void testRevokeExecutePrivileges ( ) throws Exception { } public void testRevokeWithPublicPrivilege ( ) throws Exception { } public void testRevokeExecuteWithPublicPrivilege ( ) throws Exception { } public void testRevokeRollbackAndCommit ( ) throws Exception { } public void testInvalidGrantAction ( ) throws Exception { } public void testInvalidReservedWordAction ( ) throws Exception { } public void testGrantOnNonexistantColumn ( ) throws Exception { } public void testGrantOnNonexistantSchema ( ) throws Exception { } public void testGrantOnNonexistantTable ( ) throws Exception { } public void testGrantOnFunctionWithBadSchema ( ) throws Exception { } public void testGrantOnNonexistantFunction ( ) throws Exception { } public void testGrantOnNonexistantFunctionForProcedure ( ) throws Exception { } public void testGrantOnProcedureWithBadSchema ( ) throws Exception { } public void testGrantOnNonexistantProcedure ( ) throws Exception { } public void testGrantOnNonexistantProcedureForFunction ( ) throws Exception { } public void testGrantExecuteOnTable ( ) throws Exception { } public void testGrantSelectOnRoutine ( ) throws Exception { } public void testGrantExecuteWithRestrict ( ) throws Exception { } public void testGrantRevokeWithoutRestrict ( ) throws Exception { } public void testGrantRevokeSelectWithRestrict ( ) throws Exception { } public void testGrantDeleteWithColumnList ( ) throws Exception { } public void testGrantTriggerWithColumnList ( ) throws Exception { } public void testOtherUserCannotRevokeOwnerPrivileges ( ) throws SQLException { } void grant ( String perm , String schema , String table , String user ) throws SQLException { } void grant ( String grantor , String perm , String schema , String table , String user ) throws SQLException { } void grant ( String perm , String schema , String table , String [ ] users ) throws SQLException { } void grant ( Connection c , String perm , String schema , String table , String user ) throws SQLException { } void revoke ( String perm , String schema , String table , String user ) throws SQLException { } void revoke ( String revoker , String perm , String schema , String table , String user ) throws SQLException { } void revoke ( String perm , String schema , String table , String [ ] users ) throws SQLException { } void revoke ( Connection c , String perm , String schema , String table , String user ) throws SQLException { } public static int s1F1 ( ) { } public static int s2F1a ( ) { } public static int s2F2 ( ) { } public static void s1F1P ( ) { } public static void s1P1 ( ) { } public void assertAllPrivileges ( boolean hasPrivilege , String user , String schema , String table , String [ ] columns ) throws SQLException { } public void assertSelectPrivilege ( boolean hasPrivilege , String user , String schema , String table , String [ ] columns ) throws SQLException { } public void assertDeletePrivilege ( boolean hasPrivilege , String user , String schema , String table ) throws SQLException { } public void assertInsertPrivilege ( boolean hasPrivilege , String user , String schema , String table , String [ ] columns ) throws SQLException { } public void assertUpdatePrivilege ( boolean hasPrivilege , String user , String schema , String table , String [ ] columns ) throws SQLException { } public void assertReferencesPrivilege ( boolean hasPrivilege , String user , String schema , String table , String [ ] columns ) throws SQLException { } public void assertTriggerPrivilege ( boolean hasPrivilege , String user , String schema , String table ) throws SQLException { } public void assertFunctionPrivilege ( boolean hasPrivilege , String user , String schema , String function , boolean forProcedure ) throws SQLException { } public void assertProcedurePrivilege ( boolean hasPrivilege , String user , String schema , String procedure ) throws SQLException { }

Fix:
assertUpdatePrivilege ( true , GrantRevokeTest . users [ 4 ] , "S1" , "T1" , new String [ ] { "C2" , "C3" } ) ;