Add suite "security_weekly"

This creates the "security_weekly" suite, for long-running security
tests. The first test in this category is the 100-reboot security_kASLR
test.

BUG=chromium:230131
TEST=`./site_utils/suite_scheduler/suite_scheduler.py --sanity`

Change-Id: Ib58fd51642858d13263f594f84c1125f572847c6
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/63764
Reviewed-by: Alex Miller <milleral@chromium.org>
diff --git a/server/site_tests/security_kASLR/control b/server/site_tests/security_kASLR/control
index 3eb60e9..13716a9 100644
--- a/server/site_tests/security_kASLR/control
+++ b/server/site_tests/security_kASLR/control
@@ -8,6 +8,7 @@
 TEST_CATEGORY = "Functional"
 TEST_CLASS = "security"
 TEST_TYPE = "server"
+SUITE = "security_weekly"
 
 DOC = """
 This test reboots the host many times to check kASLR entropy.
diff --git a/suite_scheduler.ini b/suite_scheduler.ini
index 3afef01..8c833f0 100644
--- a/suite_scheduler.ini
+++ b/suite_scheduler.ini
@@ -291,3 +291,9 @@
 branch_specs: >=R30
 pool:falco
 num: 3
+
+[SecurityWeekly]
+run_on: weekly
+suite: security_weekly
+branch_specs: >=R30
+pool: suites
diff --git a/test_suites/control.security_weekly b/test_suites/control.security_weekly
new file mode 100755
index 0000000..5d2b4fe
--- /dev/null
+++ b/test_suites/control.security_weekly
@@ -0,0 +1,36 @@
+# Copyright (c) 2013 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 = "security_weekly"
+PURPOSE = "Test long-running security related functionality each week."
+CRITERIA = "All tests with SUITE=security_weekly must pass."
+
+TIME = "LONG"
+TEST_CATEGORY = "Functional"
+TEST_CLASS = "suite"
+TEST_TYPE = "Server"
+
+DOC = """
+This is the long-running Security Test suite.  It should consist of tests that validate
+security related functionality and take long enough to run that they cannot
+be added to the regular 'security' suit.
+
+@param build: The name of the image to test.
+              Ex: x86-mario-release/R17-1412.33.0-a1-b29
+@param board: The board to test on.  Ex: x86-mario
+@param pool: The pool of machines to utilize for scheduling. If pool=None
+             board is used.
+@param check_hosts: require appropriate live hosts to exist in the lab.
+@param SKIP_IMAGE: (optional) If present and True, don't re-image devices.
+"""
+
+import common
+from autotest_lib.server.cros.dynamic_suite import dynamic_suite
+
+dynamic_suite.reimage_and_run(
+    build=build, board=board, name='security_weekly', job=job, pool=pool,
+    check_hosts=check_hosts, add_experimental=True, num=num,
+    file_bugs=file_bugs, skip_reimage=dynamic_suite.skip_reimage(globals()),
+    devserver_url=devserver_url)