View | Details | Raw Unified | Return to bug 62637
Collapse All | Expand All

(-)a/src/core/org/apache/jmeter/timers/TimerService.java (-1 / +1 lines)
Lines 65-71 public class TimerService { Link Here
65
    public long adjustDelay(final long initialDelay, long endTime) {
65
    public long adjustDelay(final long initialDelay, long endTime) {
66
        if (endTime > 0) {
66
        if (endTime > 0) {
67
            long now = System.currentTimeMillis();
67
            long now = System.currentTimeMillis();
68
            if(now + initialDelay > endTime) {
68
            if (initialDelay > endTime - now) {
69
                return endTime - now;
69
                return endTime - now;
70
            }
70
            }
71
        }
71
        }
(-)a/test/src/org/apache/jmeter/timers/TimerServiceTest.java (-1 / +37 lines)
Line 0 Link Here
0
- 
1
/*
2
 * Licensed to the Apache Software Foundation (ASF) under one or more
3
 * contributor license agreements.  See the NOTICE file distributed with
4
 * this work for additional information regarding copyright ownership.
5
 * The ASF licenses this file to You under the Apache License, Version 2.0
6
 * (the "License"); you may not use this file except in compliance with
7
 * the License.  You may obtain a copy of the License at
8
 *
9
 *   http://www.apache.org/licenses/LICENSE-2.0
10
 *
11
 * Unless required by applicable law or agreed to in writing, software
12
 * distributed under the License is distributed on an "AS IS" BASIS,
13
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
 * See the License for the specific language governing permissions and
15
 * limitations under the License.
16
 *
17
 */
18
19
package org.apache.jmeter.timers;
20
21
import org.hamcrest.CoreMatchers;
22
import org.junit.Assert;
23
import org.junit.Test;
24
25
public class TimerServiceTest {
26
27
    TimerService sut = TimerService.getInstance();
28
29
    @Test
30
    public void testBigInitialDelay() {
31
        long now = System.currentTimeMillis();
32
        long adjustedDelay = sut.adjustDelay(Long.MAX_VALUE, now + 1000L);
33
        // As #adjustDelay uses System#currentTimeMillis we can't be sure, that the value is exact 1000L
34
        Assert.assertThat(Math.abs(adjustedDelay - 1000L) < 150L, CoreMatchers.is(true));
35
    }
36
37
}

Return to bug 62637