Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(536)

Unified Diff: chrome/test/mini_installer/verifier_visitor.py

Issue 2747023002: Cleanup machine based on the state in configuration file for mini installer test.
Patch Set: refactor to use visitor pattern Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/mini_installer/verifier_runner.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/mini_installer/verifier_visitor.py
diff --git a/chrome/test/mini_installer/verifier_visitor.py b/chrome/test/mini_installer/verifier_visitor.py
new file mode 100644
index 0000000000000000000000000000000000000000..b89487b96ea5f92f04063b24b244bdb6a5ec9183
--- /dev/null
+++ b/chrome/test/mini_installer/verifier_visitor.py
@@ -0,0 +1,59 @@
+# Copyright 2017 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.
+
+class VerifierVisitor(object):
+
+ def VisitFile(self, entry):
+ """ Verifies that the current files match the expectation dictionaries.
+
+ Throw AssertionError if |is_file_exists| doesn't match
+ |should_file_exist|.
+ """
+ error_message = ""
+ if entry.is_file_existed:
+ error_message = 'File %s exists' % entry.file_path
+ else:
+ error_message = 'File %s is missing' % entry.file_path
+ assert entry.should_file_exist == entry.is_file_existed, error_message
+
+ def VisitProcess(self, entry):
+ """ Verifies that the running processes is launched or shutdown as
+ expectation.
+ """
+ error_message = ""
+ if entry.is_running:
+ error_message = 'Process %s is running' % entry.process_path
+ else:
+ error_message = 'Process %s is not running' % entry.process_path
+ assert entry.should_process_run == entry.is_running, error_message
+
+ def VisitRegistryKey(self, entry):
+ """Verifies that the current registry key matches the specified criteria."""
+ if entry.should_key_exist == 'forbidden':
+ assert entry.key_handle is None, 'Registry key %s exists' % entry.key
+ elif entry.should_key_exist == 'required':
+ assert entry.key_handle is not None, ('Registry key %s is missing'
+ ) % entry.key
+
+
+ def VisitRegistryValue(self, entry):
+ """Verifies that the current registry value matches the specified criteria.
+ """
+ error_message = ""
+ if entry.expected_type == None:
+ error_message = ('Value %s of registry key %s exists '
+ 'with value %s') % (entry.value, entry.key,
+ entry.value_data)
+ elif entry.value_type == None:
+ error_message = 'Value %s of registry key %s is missing' % (entry.value,
+ entry.key)
+ else:
+ error_message = 'Value %s of registry key %s has unexpected type %s' % (
+ entry.value, entry.key, entry.expected_type)
+ assert entry.expected_type == entry.value_type, error_message
+ assert entry.expected_data == entry.value_data, (
+ 'Value %s of registry key %s has unexpected data.\n'
+ ' Expected: %s\n'
+ ' Actual: %s') % (entry.value, entry.key, entry.expected_data,
+ entry.value_data)
« no previous file with comments | « chrome/test/mini_installer/verifier_runner.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698