| Index: base/android/javatests/src/org/chromium/base/test/ScalableTimeout.java
|
| diff --git a/base/android/javatests/src/org/chromium/base/test/ScalableTimeout.java b/base/android/javatests/src/org/chromium/base/test/ScalableTimeout.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d502aaacbde2e6ee915da6c78635454260a17d09
|
| --- /dev/null
|
| +++ b/base/android/javatests/src/org/chromium/base/test/ScalableTimeout.java
|
| @@ -0,0 +1,28 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +package org.chromium.base.test;
|
| +
|
| +/**
|
| + * Utility class for scaling various timeouts by a common factor.
|
| + * For example, to run tests under Valgrind, you might want the following:
|
| + * adb shell "echo 20.0 > /data/local/tmp/chrome_timeout_scale"
|
| + */
|
| +public class ScalableTimeout {
|
| + private static Double sTimeoutScale = null;
|
| + private static final String PROPERTY_FILE = "/data/local/tmp/chrome_timeout_scale";
|
| +
|
| + public static long ScaleTimeout(long timeout) {
|
| + if (sTimeoutScale == null) {
|
| + try {
|
| + char[] data = TestFileUtil.readUtf8File(PROPERTY_FILE, 32);
|
| + sTimeoutScale = Double.parseDouble(new String(data));
|
| + } catch (Exception e) {
|
| + // NumberFormatException, FileNotFoundException, IOException
|
| + sTimeoutScale = 1.0;
|
| + }
|
| + }
|
| + return (long)(timeout * sTimeoutScale);
|
| + }
|
| +}
|
|
|