Skip to content

Commit

Permalink
Further refactor into smaller tests
Browse files Browse the repository at this point in the history
This allows the test runs to complete more quickly on machines with
large numbers of threads. Some of these tests were still executing for
significant proportions of the overall test time after the other tests
had finished. More, shorter tests allows increased parallelism for a
greater proportion of the test run.
  • Loading branch information
markt-asf committed Jan 31, 2025
1 parent 59a2ce2 commit 78060eb
Show file tree
Hide file tree
Showing 68 changed files with 3,324 additions and 260 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
* of an entire test run.
*/
@RunWith(Parameterized.class)
public class TestHttpServletDoHeadValidWrite0 extends HttpServletDoHeadBaseTest {
public class TestHttpServletDoHeadInvalidWrite0ValidWrite0 extends HttpServletDoHeadBaseTest {

@Parameterized.Parameters(name = "{index}: {0} {1} {2} {3} {4} {5} {6} {7} {8}")
public static Collection<Object[]> parameters() {
Expand All @@ -39,13 +39,11 @@ public static Collection<Object[]> parameters() {
for (Boolean l : booleans) {
for (Integer buf : BUFFERS) {
for (Boolean w : booleans) {
for (Integer c1 : COUNTS) {
for (ResetType rt : ResetType.values()) {
for (Boolean f : booleans) {
parameterSets.add(new Object[] {
base[0], base[1],
l, buf, w, c1, rt, Integer.valueOf(0), f });
}
for (ResetType rt : ResetType.values()) {
for (Boolean f : booleans) {
parameterSets.add(new Object[] {
base[0], base[1],
l, buf, w, Integer.valueOf(0), rt, Integer.valueOf(0), f });
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
* of an entire test run.
*/
@RunWith(Parameterized.class)
public class TestHttpServletDoHeadValidWrite1 extends HttpServletDoHeadBaseTest {
public class TestHttpServletDoHeadInvalidWrite0ValidWrite1 extends HttpServletDoHeadBaseTest {

@Parameterized.Parameters(name = "{index}: {0} {1} {2} {3} {4} {5} {6} {7} {8}")
public static Collection<Object[]> parameters() {
Expand All @@ -39,13 +39,11 @@ public static Collection<Object[]> parameters() {
for (Boolean l : booleans) {
for (Integer buf : BUFFERS) {
for (Boolean w : booleans) {
for (Integer c1 : COUNTS) {
for (ResetType rt : ResetType.values()) {
for (Boolean f : booleans) {
parameterSets.add(new Object[] {
base[0], base[1],
l, buf, w, c1, rt, Integer.valueOf(1), f });
}
for (ResetType rt : ResetType.values()) {
for (Boolean f : booleans) {
parameterSets.add(new Object[] {
base[0], base[1],
l, buf, w, Integer.valueOf(0), rt, Integer.valueOf(1), f });
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
* of an entire test run.
*/
@RunWith(Parameterized.class)
public class TestHttpServletDoHeadValidWrite511 extends HttpServletDoHeadBaseTest {
public class TestHttpServletDoHeadInvalidWrite0ValidWrite1023 extends HttpServletDoHeadBaseTest {

@Parameterized.Parameters(name = "{index}: {0} {1} {2} {3} {4} {5} {6} {7} {8}")
public static Collection<Object[]> parameters() {
Expand All @@ -39,13 +39,11 @@ public static Collection<Object[]> parameters() {
for (Boolean l : booleans) {
for (Integer buf : BUFFERS) {
for (Boolean w : booleans) {
for (Integer c1 : COUNTS) {
for (ResetType rt : ResetType.values()) {
for (Boolean f : booleans) {
parameterSets.add(new Object[] {
base[0], base[1],
l, buf, w, c1, rt, Integer.valueOf(511), f });
}
for (ResetType rt : ResetType.values()) {
for (Boolean f : booleans) {
parameterSets.add(new Object[] {
base[0], base[1],
l, buf, w, Integer.valueOf(0), rt, Integer.valueOf(1023), f });
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
* of an entire test run.
*/
@RunWith(Parameterized.class)
public class TestHttpServletDoHeadValidWrite512 extends HttpServletDoHeadBaseTest {
public class TestHttpServletDoHeadInvalidWrite0ValidWrite1024 extends HttpServletDoHeadBaseTest {

@Parameterized.Parameters(name = "{index}: {0} {1} {2} {3} {4} {5} {6} {7} {8}")
public static Collection<Object[]> parameters() {
Expand All @@ -39,13 +39,11 @@ public static Collection<Object[]> parameters() {
for (Boolean l : booleans) {
for (Integer buf : BUFFERS) {
for (Boolean w : booleans) {
for (Integer c1 : COUNTS) {
for (ResetType rt : ResetType.values()) {
for (Boolean f : booleans) {
parameterSets.add(new Object[] {
base[0], base[1],
l, buf, w, c1, rt, Integer.valueOf(512), f });
}
for (ResetType rt : ResetType.values()) {
for (Boolean f : booleans) {
parameterSets.add(new Object[] {
base[0], base[1],
l, buf, w, Integer.valueOf(0), rt, Integer.valueOf(1024), f });
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*
* 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 jakarta.servlet.http;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;

/*
* Split into multiple tests as a single test takes so long it impacts the time
* of an entire test run.
*/
@RunWith(Parameterized.class)
public class TestHttpServletDoHeadInvalidWrite0ValidWrite1025 extends HttpServletDoHeadBaseTest {

@Parameterized.Parameters(name = "{index}: {0} {1} {2} {3} {4} {5} {6} {7} {8}")
public static Collection<Object[]> parameters() {
Collection<Object[]> baseData = data();

List<Object[]> parameterSets = new ArrayList<>();
for (Object[] base : baseData) {
for (Boolean l : booleans) {
for (Integer buf : BUFFERS) {
for (Boolean w : booleans) {
for (ResetType rt : ResetType.values()) {
for (Boolean f : booleans) {
parameterSets.add(new Object[] {
base[0], base[1],
l, buf, w, Integer.valueOf(0), rt, Integer.valueOf(1025), f });
}
}
}
}
}
}
return parameterSets;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*
* 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 jakarta.servlet.http;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;

/*
* Split into multiple tests as a single test takes so long it impacts the time
* of an entire test run.
*/
@RunWith(Parameterized.class)
public class TestHttpServletDoHeadInvalidWrite0ValidWrite511 extends HttpServletDoHeadBaseTest {

@Parameterized.Parameters(name = "{index}: {0} {1} {2} {3} {4} {5} {6} {7} {8}")
public static Collection<Object[]> parameters() {
Collection<Object[]> baseData = data();

List<Object[]> parameterSets = new ArrayList<>();
for (Object[] base : baseData) {
for (Boolean l : booleans) {
for (Integer buf : BUFFERS) {
for (Boolean w : booleans) {
for (ResetType rt : ResetType.values()) {
for (Boolean f : booleans) {
parameterSets.add(new Object[] {
base[0], base[1],
l, buf, w, Integer.valueOf(0), rt, Integer.valueOf(511), f });
}
}
}
}
}
}
return parameterSets;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*
* 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 jakarta.servlet.http;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;

/*
* Split into multiple tests as a single test takes so long it impacts the time
* of an entire test run.
*/
@RunWith(Parameterized.class)
public class TestHttpServletDoHeadInvalidWrite0ValidWrite512 extends HttpServletDoHeadBaseTest {

@Parameterized.Parameters(name = "{index}: {0} {1} {2} {3} {4} {5} {6} {7} {8}")
public static Collection<Object[]> parameters() {
Collection<Object[]> baseData = data();

List<Object[]> parameterSets = new ArrayList<>();
for (Object[] base : baseData) {
for (Boolean l : booleans) {
for (Integer buf : BUFFERS) {
for (Boolean w : booleans) {
for (ResetType rt : ResetType.values()) {
for (Boolean f : booleans) {
parameterSets.add(new Object[] {
base[0], base[1],
l, buf, w, Integer.valueOf(0), rt, Integer.valueOf(512), f });
}
}
}
}
}
}
return parameterSets;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*
* 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 jakarta.servlet.http;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;

/*
* Split into multiple tests as a single test takes so long it impacts the time
* of an entire test run.
*/
@RunWith(Parameterized.class)
public class TestHttpServletDoHeadInvalidWrite0ValidWrite513 extends HttpServletDoHeadBaseTest {

@Parameterized.Parameters(name = "{index}: {0} {1} {2} {3} {4} {5} {6} {7} {8}")
public static Collection<Object[]> parameters() {
Collection<Object[]> baseData = data();

List<Object[]> parameterSets = new ArrayList<>();
for (Object[] base : baseData) {
for (Boolean l : booleans) {
for (Integer buf : BUFFERS) {
for (Boolean w : booleans) {
for (ResetType rt : ResetType.values()) {
for (Boolean f : booleans) {
parameterSets.add(new Object[] {
base[0], base[1],
l, buf, w, Integer.valueOf(0), rt, Integer.valueOf(513), f });
}
}
}
}
}
}
return parameterSets;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*
* 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 jakarta.servlet.http;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;

/*
* Split into multiple tests as a single test takes so long it impacts the time
* of an entire test run.
*/
@RunWith(Parameterized.class)
public class TestHttpServletDoHeadInvalidWrite1023ValidWrite0 extends HttpServletDoHeadBaseTest {

@Parameterized.Parameters(name = "{index}: {0} {1} {2} {3} {4} {5} {6} {7} {8}")
public static Collection<Object[]> parameters() {
Collection<Object[]> baseData = data();

List<Object[]> parameterSets = new ArrayList<>();
for (Object[] base : baseData) {
for (Boolean l : booleans) {
for (Integer buf : BUFFERS) {
for (Boolean w : booleans) {
for (ResetType rt : ResetType.values()) {
for (Boolean f : booleans) {
parameterSets.add(new Object[] {
base[0], base[1],
l, buf, w, Integer.valueOf(1023), rt, Integer.valueOf(0), f });
}
}
}
}
}
}
return parameterSets;
}
}
Loading

0 comments on commit 78060eb

Please sign in to comment.