I took care of this. I also submitted a PR for a related bug I found at the
start of the week: https://github.com/apache/httpcomponents-client/pull/785

On Wed, Jan 14, 2026 at 12:36 PM Gary Gregory <[email protected]>
wrote:

>
>
> On Wed, Jan 14, 2026, 15:05 Ryan Schmitt <[email protected]> wrote:
>
>> The idea in this case is that speed and robustness reinforce each other.
>> If these tests are robust, they can run in parallel with the other tests
>> instead of being `@Isolated`. If they run in parallel, they can use longer
>> timeouts. (I have changes locally to parallelize the client tests, similar
>> to what I did with the core tests, but I haven't published them yet. The
>> client tests won't run reliably until I can get a new version of httpcore5
>> that has the loopback binding fixes.)
>>
>
> That all sounds pretty awesome.
>
> Gary
>
>
>> On Wed, Jan 14, 2026 at 9:47 AM Gary Gregory <[email protected]>
>> wrote:
>>
>>>
>>>
>>> On Wed, Jan 14, 2026, 12:33 Ryan Schmitt <[email protected]> wrote:
>>>
>>>> Maybe, I'll look into it. I've been rethinking the assertions in these
>>>> tests as part of my general push to make the test suite faster and more
>>>> robust.
>>>>
>>>
>>> I think robustness is much more important. For my money, the build is
>>> currently fast enough ;-)
>>>
>>> Gary
>>>
>>>>
>>>> On Tue, Jan 13, 2026 at 10:03 AM Oleg Kalnichevski <[email protected]>
>>>> wrote:
>>>>
>>>> > Hi Ryan
>>>> >
>>>> > Should we move this one to the `slow` group as well?
>>>> >
>>>> >
>>>> >
>>>> https://github.com/apache/httpcomponents-client/actions/runs/20966906846/job/60259719742
>>>> >
>>>> > ---
>>>> > Error:  Tests run: 10, Failures: 1, Errors: 0, Skipped: 0, Time
>>>> elapsed:
>>>> > 3.763 s <<< FAILURE! -- in
>>>> > org.apache.hc.client5.testing.sync.TestSocketTimeout$Uds
>>>> > Error:
>>>> >
>>>> org.apache.hc.client5.testing.sync.TestSocketTimeout$Uds.testReadTimeouts(String)[10]
>>>> >
>>>> > -- Time elapsed: 0.703 s <<< FAILURE!
>>>> > org.opentest4j.AssertionFailedError: Socket read timed out too late
>>>> (589
>>>> > out of 150 ms) ==> expected: <true> but was: <false>
>>>> >         at
>>>> >
>>>> >
>>>> org.apache.hc.client5.testing.sync.AbstractTestSocketTimeout.testReadTimeouts(TestSocketTimeout.java:115)
>>>> >         at java.base/java.lang.reflect.Method.invoke(Method.java:569)
>>>> >         at java.base/java.util.Optional.ifPresent(Optional.java:178)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>>>> >         at
>>>> >
>>>> >
>>>> java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
>>>> >         at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
>>>> >         at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
>>>> >         at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
>>>> >
>>>> >
>>>>
>>>

Reply via email to