Lines Matching full:suite
20 from autotest_lib.server.cros.dynamic_suite.suite import Suite
25 """CrOS dynamic test suite generation and execution module.
34 dynamic suite across all reimaged devices.
36 The public API for defining a suite includes one method: reimage_and_run().
37 A suite control file can be written by importing this module and making
54 "SUITE=" clause, schedule jobs to reimage |num| or less devices in the
60 atest suite create -b <board> -i <build/name> <suite>
62 atest suite create -b x86-mario -i x86-mario/R20-2203.0.0 bvt
67 A Suite instance represents a single test suite, defined by some predicate
68 run over all known control files. The simplest example is creating a Suite
71 create_suite_job() takes the parameters needed to define a suite run (board,
72 build to test, machine pool, and which suite to run), ensures important
73 preconditions are met, finds the appropraite suite control file, and then
85 RPC pulls the control file for the suite to be run from the dev server and
86 uses it to create the suite job with the autotest frontend.
99 +-------------+ suite control file +--------------------------+
102 Suite Job (hostless)
120 on it. In the case of a dynamic_suite, many tests in the suite may have
122 they specify, along with any suite dependencies that were specified, and the
126 A Suite instance uses the labels specified in the suite dependencies to
129 run a suite in the background _after_ it has completed all the things
130 necessary for reimaging. Before running a suite, reimage_and_run() calls out
135 0) At instantiation time, find all appropriate control files for this suite
142 | |---------------------->| [Suite Job] |
145 1) Now that the Suite instance exists, it schedules jobs for every control
148 build they were testing and which suite they were for.
153 | [Suite Job] |----------->| Host 2 |
160 'suite': suite_name}
184 | |<--------------------------| [Suite Job] |
188 2) As jobs finish, we record their success or failure in the status of the suite
189 job. We also record a 'job keyval' in the suite job for each test, noting
191 3) Once all jobs are complete, status is recorded for the suite job, and the
192 job_repo_url host attribute is removed from all hosts used by the suite.
203 This class contains the info that defines a suite run.
209 @var devserver: An instance of the devserver to use with this suite.
210 @var name: a value of the SUITE control file variable to search for.
212 currently running suite job.
224 @param suite_dependencies: A string with a comma separated list of suite
230 included in suite. If argument is absent, suite
231 behavior will default to creating a suite of based
232 on the SUITE field of control files.
236 """Verify the value of build and builds passed in to create a suite.
289 @param name: a value of the SUITE control file variable to search for.
291 currently running suite job.
311 @param file_bugs: File bugs when tests in this suite fail.
314 this suite fail.
317 this suite will run.
319 this suite run.
326 @param suite_dependencies: A list of strings of suite level
333 filing options for failures in this suite.
339 included in suite. If argument is absent, suite
340 behavior will default to creating a suite of based
341 on the SUITE field of control files.
342 @param wait_for_results: Set to False to run the suite job without
347 @param max_retries: Maximum retry limit at suite level.
350 happening in the suite can't exceed _max_retries.
354 @param run_prod_code: If true, the suite will run the test code that
406 self.test_source_build = Suite.get_test_source_build(
454 provided build, and then run the indicated test suite on them.
461 @param name: a value of the SUITE control file variable to search for.
463 currently running suite job.
480 @param suite_dependencies: A string with a comma separated list of suite
487 included in suite. If argument is absent, suite
488 behavior will default to creating a suite of based
489 on the SUITE field of control files.
493 @param max_retries: Maximum retry limit at suite level.
496 happening in the suite can't exceed _max_retries.
537 predicate = Suite.name_in_tag_predicate(suite_spec.name)
555 should be included in the suite.
575 suite = Suite.create_from_predicates(
591 suite.schedule(spec.job.record_entry, spec.add_experimental)
593 if suite.wait_for_results:
594 logging.debug('Waiting on suite.')
595 suite.wait(spec.job.record_entry, spec.bug_template)
596 logging.debug('Finished waiting on suite. '
599 logging.info('wait_for_results is set to False, suite job will exit '