[perf] Add test timeout

Change-Id: Ia9f966b40665ef45b4a54bc1c9d46be9a8da3edf
diff --git a/README.recipes.md b/README.recipes.md
index d4c3f7d..8477e6e 100644
--- a/README.recipes.md
+++ b/README.recipes.md
@@ -1539,7 +1539,7 @@
 * Tests are always run (this recipe is not used to verify builds).
 * Test results are uploaded to the catapult dashboard after execution.
 
-— **def [RunSteps](/recipes/fuchsia_perf.py#132)(api, project, manifest, remote, target, build_type, packages, variant, gn_args, ninja_targets, test_pool, catapult_url, device_type, pave, dashboard_masters_name, dashboard_bots_name, upload_to_dashboard, benchmarks_package, boards, products):**
+— **def [RunSteps](/recipes/fuchsia_perf.py#137)(api, project, manifest, remote, target, build_type, packages, variant, gn_args, ninja_targets, test_pool, catapult_url, device_type, pave, dashboard_masters_name, dashboard_bots_name, upload_to_dashboard, benchmarks_package, boards, products, test_timeout_secs):**
 ### *recipes* / [fuchsia\_roller](/recipes/fuchsia_roller.py)
 
 [DEPS](/recipes/fuchsia_roller.py#14): [auto\_roller](#recipe_modules-auto_roller), [gitiles](#recipe_modules-gitiles), [jiri](#recipe_modules-jiri), [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/json][recipe_engine/recipe_modules/json], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/step][recipe_engine/recipe_modules/step]
diff --git a/recipes/fuchsia_perf.py b/recipes/fuchsia_perf.py
index fe5e229..eb82f3d 100644
--- a/recipes/fuchsia_perf.py
+++ b/recipes/fuchsia_perf.py
@@ -126,13 +126,18 @@
             help=
             'Whether to upload benchmark results. Make sure you set this to false when testing',
             default=True),
+    'test_timeout_secs':
+        Property(
+            kind=int,
+            help='How long to wait until timing out on tests',
+            default=40 * 60),
 }
 
 
 def RunSteps(api, project, manifest, remote, target, build_type, packages,
              variant, gn_args, ninja_targets, test_pool, catapult_url,
              device_type, pave, dashboard_masters_name, dashboard_bots_name,
-             upload_to_dashboard, benchmarks_package, boards, products):
+             upload_to_dashboard, benchmarks_package, boards, products, test_timeout_secs):
   api.catapult.ensure_catapult()
 
   api.fuchsia.checkout(
@@ -181,6 +186,7 @@
   test_results = api.fuchsia.test(
       build=build,
       test_pool=test_pool,
+      timeout_secs=test_timeout_secs,
       pave=pave,
       test_cmds=test_cmds,
       device_type=device_type,