Adds a base tester recipe for engine_v2.

Adding a tester recipe is required to start implementing the
sharding functionality.

Change-Id: I99fbf46b86d39ec1606a2922cdf2fbcbbef92004
Bug: https://github.com/flutter/flutter/issues/81855
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/17462
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
Reviewed-by: Keyong Han <keyonghan@google.com>
diff --git a/recipes/engine_v2/tester.expected/basic_custom_vars.json b/recipes/engine_v2/tester.expected/basic_custom_vars.json
new file mode 100644
index 0000000..b6042b6
--- /dev/null
+++ b/recipes/engine_v2/tester.expected/basic_custom_vars.json
@@ -0,0 +1,5 @@
+[
+  {
+    "name": "$result"
+  }
+]
\ No newline at end of file
diff --git a/recipes/engine_v2/tester.py b/recipes/engine_v2/tester.py
new file mode 100644
index 0000000..e60418c
--- /dev/null
+++ b/recipes/engine_v2/tester.py
@@ -0,0 +1,38 @@
+# Copyright 2021 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.
+
+"""Flutter Engine tester recipe.
+
+This recipe is used to run tests using prebuilt artifacts.
+"""
+
+from contextlib import contextmanager
+
+from google.protobuf import struct_pb2
+from PB.recipes.flutter.engine import InputProperties
+from PB.recipes.flutter.engine import EnvProperties
+from PB.go.chromium.org.luci.buildbucket.proto import build as build_pb2
+
+DEPS = [
+    'recipe_engine/properties',
+]
+
+PROPERTIES = InputProperties
+ENV_PROPERTIES = EnvProperties
+
+
+def test(api, test_config):
+  """Runs an independent test task."""
+  pass
+
+def RunSteps(api, properties, env_properties):
+  # Test configuration is passed as build property. This is to standardize
+  # the use of BuildBucket and Led APIs in the orchestrator recipe which
+  # triggers the subbuilds.
+  test_config = api.properties.get('build')
+  test(api, test_config)
+
+
+def GenTests(api):
+  yield api.test('basic_custom_vars')