[autotest] Create a dynamic bvt suite control file

Adds the dynamic_suite module, uses it to create a dynamic bvt suite.

BUG=chromium-os:21953
TEST=./server/autoserv test_suites/control.dummy
TEST=./server/autoserv test_suites/control.bvt

Change-Id: Ib6713a5f382665c3e51e54a8c290cb1d1669e258
Reviewed-on: https://gerrit.chromium.org/gerrit/10454
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Commit-Ready: Chris Masone <cmasone@chromium.org>
diff --git a/test_suites/control.bvt b/test_suites/control.bvt
new file mode 100755
index 0000000..385b470
--- /dev/null
+++ b/test_suites/control.bvt
@@ -0,0 +1,38 @@
+# Copyright (c) 2011 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 = "Chrome OS Team"
+NAME = "bvt"
+PURPOSE = "Test basic, required functionality."
+CRITERIA = "All tests with SUITE=bvt must pass."
+
+TIME = "SHORT"
+TEST_CATEGORY = "General"
+TEST_CLASS = "suite"
+TEST_TYPE = "Server"
+
+DOC = """
+This is the Build Verification Test suite.  It should consist of SHORT tests
+that validate critical functionality -- ability to acquire connectivity, perform
+crash reporting, get updates, and allow a user to log in, among other things..
+"""
+
+import common
+from autotest_lib.server.cros import dynamic_suite
+
+
+# These params should be injected by the thing scheduling the job
+image_url = 'http://172.22.50.205:8080/update/x86-mario-r17/R17-1388.0.0-a1-b1323'
+image_name ='x86-mario-r17/R17-1388.0.0-a1-b1323'
+board = 'netbook_MARIO_MP'
+
+# This is pretty much just here for testing.
+SKIP_IMAGE = True
+
+suite_tag = 'bvt'
+reimager = dynamic_suite.Reimager(job.autodir)
+
+if SKIP_IMAGE or reimager.attempt(image_url, image_name, 4, board, job.record):
+    bvt = dynamic_suite.Suite.create_from_name(suite_tag, job.autodir)
+    bvt.run_and_wait(image_name, job.record, add_experimental=True)