# Copyright 2013 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. import chrome_helper import verifier class ProcessVerifier(verifier.Verifier): """Verifies that the running processes match the expectation dictionaries.""" def _VerifyExpectation(self, expectation_name, expectation, variable_expander): """Overridden from verifier.Verifier. This method will throw an AssertionError if process state doesn't match the |expectation|. Args: expectation_name: Path to the process being verified. It is expanded using Expand. expectation: A dictionary with the following key and value: 'running' a boolean indicating whether the process should be running. variable_expander: A VariableExpander object. """ # Create a list of paths of all running processes. running_process_paths = [path for (_, path) in chrome_helper.GetProcessIDAndPathPairs()] process_path = variable_expander.Expand(expectation_name) is_running = process_path in running_process_paths assert expectation['running'] == is_running, \ ('Process %s is running' % process_path) if is_running else \ ('Process %s is not running' % process_path)