blob: f33cef4ea2f50f9214cb09d45be3755b4b0ad9d7 [file] [log] [blame]
package timeout
import (
"fmt"
"testing"
"time"
"github.com/stretchr/testify/require"
"go.skia.org/infra/go/testutils/unittest"
)
func TestTimeout(t *testing.T) {
unittest.LargeTest(t)
sleep := func(t time.Duration) func() error {
return func() error {
time.Sleep(t)
return nil
}
}
require.Equal(t, ErrTimedOut, Run(sleep(50*time.Millisecond), 10*time.Millisecond))
require.Equal(t, nil, Run(sleep(10*time.Millisecond), 50*time.Millisecond))
err := Run(func() error {
return fmt.Errorf("blah")
}, 100*time.Second)
require.NotNil(t, err)
require.Equal(t, "blah", err.Error())
}