This is an automated email from the ASF dual-hosted git repository.

bereng pushed a commit to branch cassandra-4.1
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 21553a5199cc8c12ec520f66eadbaa9447d1fa78
Merge: 8ef34fd2b6 27b5a017ea
Author: Bereng <[email protected]>
AuthorDate: Wed May 18 08:30:45 2022 +0200

    Merge branch 'cassandra-4.0' into cassandra-4.1

 .../{KeywordTest.java => KeywordTestBase.java}     | 36 ++++++++++-------
 .../apache/cassandra/cql3/KeywordTestSplit1.java   | 45 ++++++++++++++++++++++
 .../apache/cassandra/cql3/KeywordTestSplit2.java   | 45 ++++++++++++++++++++++
 3 files changed, 112 insertions(+), 14 deletions(-)

diff --cc test/unit/org/apache/cassandra/cql3/KeywordTestBase.java
index 720bc6ae3e,48512d0751..fdf798e64c
--- a/test/unit/org/apache/cassandra/cql3/KeywordTestBase.java
+++ b/test/unit/org/apache/cassandra/cql3/KeywordTestBase.java
@@@ -27,20 -31,24 +31,24 @@@ import org.junit.Test
  
  import org.apache.cassandra.exceptions.SyntaxException;
  
- @RunWith(Parameterized.class)
- public class KeywordTest extends CQLTester
+ /**
+  * This class tests all keywords which took a long time. Hence it was split 
into multiple
+  * KeywordTestSplitN to prevent CI timing out. If timeouts reappear split it 
further
+  */
+ public class KeywordTestBase extends CQLTester
  {
-     @Parameterized.Parameters(name = "keyword {0} isReserved {1}")
-     public static Collection<Object[]> keywords() {
-         return Arrays.stream(CqlParser.tokenNames)
-                      .filter(k -> k.startsWith("K_"))
-                      .map(k -> {
-                          String keyword = k.substring(2);
-                          return new Object[]{ keyword, 
ReservedKeywords.isReserved(keyword) };
-                      })
-                      .collect(Collectors.toSet());
+     public static List<Object[]> keywords = 
Arrays.stream(CqlParser.tokenNames)
+                                                   .filter(k -> 
k.startsWith("K_"))
+                                                   .map(k -> {
+                                                       String keyword = 
k.substring(2);
+                                                       return new Object[] { 
keyword,ReservedKeywords.isReserved(keyword) };
+                                                   })
+                                                   
.collect(Collectors.toList());
 -    
++
+     public static Collection<Object[]> getKeywordsForSplit(int split, int 
totalSplits)
+     {
+         return Sets.newHashSet(Lists.partition(KeywordTestBase.keywords, 
KeywordTestBase.keywords.size() / totalSplits)
+                                     .get(split - 1));
      }
  
      String keyword;
diff --cc test/unit/org/apache/cassandra/cql3/KeywordTestSplit1.java
index 0000000000,802285afa8..9e871b1097
mode 000000,100644..100644
--- a/test/unit/org/apache/cassandra/cql3/KeywordTestSplit1.java
+++ b/test/unit/org/apache/cassandra/cql3/KeywordTestSplit1.java
@@@ -1,0 -1,45 +1,45 @@@
+ /*
+  * Licensed to the Apache Software Foundation (ASF) under one
+  * or more contributor license agreements.  See the NOTICE file
+  * distributed with this work for additional information
+  * regarding copyright ownership.  The ASF licenses this file
+  * to you under the Apache License, Version 2.0 (the
+  * "License"); you may not use this file except in compliance
+  * with the License.  You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software
+  * distributed under the License is distributed on an "AS IS" BASIS,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  * See the License for the specific language governing permissions and
+  * limitations under the License.
+  */
+ 
+ package org.apache.cassandra.cql3;
+ 
+ import java.util.Collection;
+ 
+ import org.junit.runner.RunWith;
+ import org.junit.runners.Parameterized;
+ 
+ /**
+  * This base class tests all keywords which took a long time. Hence it was 
split into multiple
+  * KeywordTestSplitN to prevent CI timing out. If timeouts reappear split it 
further
+  */
+ @RunWith(Parameterized.class)
+ public class KeywordTestSplit1 extends KeywordTestBase
+ {
+     static int SPLIT = 1;
+     static int TOTAL_SPLITS = 2;
 -    
++
+     @Parameterized.Parameters(name = "keyword {0} isReserved {1}")
+     public static Collection<Object[]> keywords() {
+         return KeywordTestBase.getKeywordsForSplit(SPLIT, TOTAL_SPLITS);
+     }
 -    
++
+     public KeywordTestSplit1(String keyword, boolean isReserved)
+     {
+         super(keyword, isReserved);
+     }
+ }
diff --cc test/unit/org/apache/cassandra/cql3/KeywordTestSplit2.java
index 0000000000,2da989a5c2..edfafec920
mode 000000,100644..100644
--- a/test/unit/org/apache/cassandra/cql3/KeywordTestSplit2.java
+++ b/test/unit/org/apache/cassandra/cql3/KeywordTestSplit2.java
@@@ -1,0 -1,45 +1,45 @@@
+ /*
+  * Licensed to the Apache Software Foundation (ASF) under one
+  * or more contributor license agreements.  See the NOTICE file
+  * distributed with this work for additional information
+  * regarding copyright ownership.  The ASF licenses this file
+  * to you under the Apache License, Version 2.0 (the
+  * "License"); you may not use this file except in compliance
+  * with the License.  You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software
+  * distributed under the License is distributed on an "AS IS" BASIS,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  * See the License for the specific language governing permissions and
+  * limitations under the License.
+  */
+ 
+ package org.apache.cassandra.cql3;
+ 
+ import java.util.Collection;
+ 
+ import org.junit.runner.RunWith;
+ import org.junit.runners.Parameterized;
+ 
+ /**
+  * This base class tests all keywords which took a long time. Hence it was 
split into multiple
+  * KeywordTestSplitN to prevent CI timing out. If timeouts reappear split it 
further
+  */
+ @RunWith(Parameterized.class)
+ public class KeywordTestSplit2 extends KeywordTestBase
+ {
+     static int SPLIT = 2;
+     static int TOTAL_SPLITS = 2;
 -    
++
+     @Parameterized.Parameters(name = "keyword {0} isReserved {1}")
+     public static Collection<Object[]> keywords() {
+         return KeywordTestBase.getKeywordsForSplit(SPLIT, TOTAL_SPLITS);
+     }
 -    
++
+     public KeywordTestSplit2(String keyword, boolean isReserved)
+     {
+         super(keyword, isReserved);
+     }
+ }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to