Add control file and suite for fingerprint MCU

The fingerprint team has some tests that need to run on special setup,
which is a Chromebook attached with a standalone fingerprint MCU board.
Because these tests need to be scheduled on only those setups, we need
a new suite definition.

These files will be associated with a suite_scheduler config
(http://crrev/i/3462030) and a Tast attr.

BUG=b:158580909
TEST=none

Change-Id: I4efa2eb3837450d3fa96b24745ec554f9479cf49
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/2593741
Reviewed-by: Keigo Oka <oka@chromium.org>
Reviewed-by: Dhanya Ganesh <dhanyaganesh@chromium.org>
Commit-Queue: Yicheng Li <yichengli@chromium.org>
Tested-by: Yicheng Li <yichengli@chromium.org>
diff --git a/server/site_tests/tast/control.fingerprint-mcu b/server/site_tests/tast/control.fingerprint-mcu
new file mode 100644
index 0000000..d181965
--- /dev/null
+++ b/server/site_tests/tast/control.fingerprint-mcu
@@ -0,0 +1,32 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = 'Chromium OS team'
+NAME = 'tast.fingerprint-mcu'
+TIME = 'SHORT'
+TEST_TYPE = 'Server'
+ATTRIBUTES = 'suite:fingerprint-mcu'
+MAX_RESULT_SIZE_KB = 1024 * 1024
+
+DOC = '''
+Run the Tast tests which run in suite:fingerprint-mcu.
+
+"group:fingerprint-mcu" indicates tests that run on standalone fingerprint MCU
+boards.
+
+Tast is an integration-testing framework analagous to the test-running portion
+of Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/ for
+more information.
+
+See http://go/tast-failures for information about investigating failures.
+'''
+
+def run(machine):
+    job.run_test('tast',
+                 host=hosts.create_host(machine),
+                 test_exprs=['("group:fingerprint-mcu")'],
+                 ignore_test_failures=True, max_run_sec=10800,
+                 command_args=args)
+
+parallel_simple(run, machines)
diff --git a/site_utils/attribute_allowlist.txt b/site_utils/attribute_allowlist.txt
index fab6fbc..5962a11 100644
--- a/site_utils/attribute_allowlist.txt
+++ b/site_utils/attribute_allowlist.txt
@@ -131,6 +131,7 @@
 suite:faft_wilco
 suite:files
 suite:fingerprint
+suite:fingerprint-mcu
 suite:graphics
 suite:graphics_browser
 suite:graphics_per-build
diff --git a/test_suites/control.fingerprint-mcu b/test_suites/control.fingerprint-mcu
new file mode 100644
index 0000000..e32fefe
--- /dev/null
+++ b/test_suites/control.fingerprint-mcu
@@ -0,0 +1,24 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = "yichengli@chromium.org"
+NAME = "fingerprint-mcu"
+PURPOSE = "Verify fingerprint MCU unittests pass on device."
+
+TIME = "SHORT"
+TEST_CATEGORY = "General"
+TEST_CLASS = "suite"
+TEST_TYPE = "Server"
+
+DOC = """ This suite runs fingerprint MCU unittests on board. """
+
+import common
+from autotest_lib.server.cros.dynamic_suite import dynamic_suite
+
+args_dict['add_experimental'] = True
+args_dict['max_runtime_mins'] = 60
+args_dict['name'] = NAME
+args_dict['job'] = job
+
+dynamic_suite.reimage_and_run(**args_dict)