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]
