summaryrefslogtreecommitdiffstats
path: root/testing/mozharness/examples/verbose_script.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/mozharness/examples/verbose_script.py')
-rwxr-xr-xtesting/mozharness/examples/verbose_script.py70
1 files changed, 70 insertions, 0 deletions
diff --git a/testing/mozharness/examples/verbose_script.py b/testing/mozharness/examples/verbose_script.py
new file mode 100755
index 0000000000..f30ed8f5d5
--- /dev/null
+++ b/testing/mozharness/examples/verbose_script.py
@@ -0,0 +1,70 @@
+#!/usr/bin/env python
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+"""verbose_script.py
+
+Contrast to silent_script.py.
+"""
+
+import os
+import sys
+
+sys.path.insert(1, os.path.dirname(sys.path[0]))
+
+# from mozharness.base.errors import TarErrorList, SSHErrorList
+from mozharness.base.script import BaseScript
+
+
+# VerboseExample {{{1
+class VerboseExample(BaseScript):
+ def __init__(self, require_config_file=False):
+ super(VerboseExample, self).__init__(
+ all_actions=[
+ "verbosity",
+ ],
+ require_config_file=require_config_file,
+ config={"tarball_name": "bar.tar.bz2"},
+ )
+
+ def verbosity(self):
+ tarball_name = self.config["tarball_name"]
+ self.download_file(
+ "http://people.mozilla.org/~asasaki/foo.tar.bz2", file_name=tarball_name
+ )
+ # the error_list adds more error checking.
+ # the halt_on_failure will kill the script at this point if
+ # unsuccessful. Be aware if you need to do any cleanup before you
+ # actually fatal(), though. If so, you may want to either use an
+ # |if self.run_command(...):| construct, or define a self._post_fatal()
+ # for a generic end-of-fatal-run method.
+ self.run_command(
+ ["tar", "xjvf", tarball_name],
+ # error_list=TarErrorList,
+ # halt_on_failure=True,
+ # fatal_exit_code=3,
+ )
+ self.rmtree("x/ship2")
+ self.rmtree(tarball_name)
+ self.run_command(
+ ["tar", "cjvf", tarball_name, "x"],
+ # error_list=TarErrorList,
+ # halt_on_failure=True,
+ # fatal_exit_code=3,
+ )
+ self.rmtree("x")
+ if self.run_command(
+ ["scp", tarball_name, "people.mozilla.org:public_html/foo2.tar.bz2"],
+ # error_list=SSHErrorList,
+ ):
+ self.error(
+ "There's been a problem with the scp. We're going to proceed anyway."
+ )
+ self.rmtree(tarball_name)
+
+
+# __main__ {{{1
+if __name__ == "__main__":
+ verbose_example = VerboseExample()
+ verbose_example.run_and_exit()