summaryrefslogtreecommitdiffstats
path: root/tests/distaf/tests_d/examples/test_passfail.py
diff options
context:
space:
mode:
authorM S Vishwanath Bhat <msvbhat@gmail.com>2016-03-30 17:05:05 +0530
committerJeff Darcy <jdarcy@redhat.com>2016-04-07 08:08:32 -0700
commit0fa83a3310274845fa9b445d1aed124e9fb43410 (patch)
tree090787d7b5435fe36817760b7e5cb66499c420a8 /tests/distaf/tests_d/examples/test_passfail.py
parent6602376e3e9e6d9f4f695475569322b61ccc2411 (diff)
Adding distaf tests directory structure to tests dir
Since it was decided to have distaf test cases and related libraries inside of glusterfs.git, this patch has the basic skeleton directory structure and few of the libs. Please note that, this patch by itself will not enable to run any distaf tests right away. The distaf package needs to be installed from the github.com/gluster/distaf. Once that package is installed, it will put all the libs into respective standard location and only then the tests in this patch can be executed. The plan to have distaf_libs packaged or installable using setup.py This will enable tests to assume that all the libs are present in the standard location. Change-Id: I925ac0ad7e9cf6164c4380319a1f786b5241c74a Signed-off-by: M S Vishwanath Bhat <msvbhat@gmail.com> Reviewed-on: http://review.gluster.org/13853 Smoke: Gluster Build System <jenkins@build.gluster.com> Tested-by: Raghavendra Talur <rtalur@redhat.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Raghavendra Talur <rtalur@redhat.com>
Diffstat (limited to 'tests/distaf/tests_d/examples/test_passfail.py')
-rw-r--r--tests/distaf/tests_d/examples/test_passfail.py97
1 files changed, 97 insertions, 0 deletions
diff --git a/tests/distaf/tests_d/examples/test_passfail.py b/tests/distaf/tests_d/examples/test_passfail.py
new file mode 100644
index 00000000000..3b14c117190
--- /dev/null
+++ b/tests/distaf/tests_d/examples/test_passfail.py
@@ -0,0 +1,97 @@
+# This file is part of DiSTAF
+# Copyright (C) 2015-2016 Red Hat, Inc. <http://www.redhat.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+
+from distaf.util import tc, testcase
+from distaf.gluster_base_class import GlusterBaseClass
+
+
+@testcase("this_should_pass")
+class GoingToPass(GlusterBaseClass):
+ """ Testing connectivity and framework pass
+ This is an example of a basic distaf test with mixed comment and config
+ Any necessary description doc string text goes here and can include any
+ plain text normally found in a docstring.
+ Distaf specific config yaml can be included using the yaml standard
+ document triple-dash separator below.
+ ---
+ runs_on_volumes: [ distributed ]
+ runs_on_protocol: [ glusterfs ]
+ reuse_setup: False
+ tags:
+ - tag1
+ - tag2
+ - tag3
+ """
+ def setup(self):
+ return True
+
+ def run(self):
+ config = self.config_data
+ tc.logger.info("Testing connection and command exec")
+ tc.logger.debug("Tag 1 is %s" % config["tags"][0])
+ ret, _, _ = tc.run(self.nodes[0], "hostname")
+ if ret != 0:
+ tc.logger.error("hostname command failed")
+ return False
+ else:
+ return True
+
+ def setup(self):
+ return True
+
+ def cleanup(self):
+ return True
+
+ def teardown(self):
+ return True
+
+
+@testcase("this_should_fail")
+class GoingToFail(GlusterBaseClass):
+ """ Testing connectivity and fail
+ ---
+ runs_on_volumes: [ distributed ]
+ runs_on_protocol: [ glusterfs, cifs ]
+ reuse_setup: False
+ tags:
+ - tag1
+ - tag2
+ - tag3
+ """
+ def setup(self):
+ return True
+
+ def run(self):
+ config = self.config_data
+ tc.logger.info("Testing fail output")
+ tc.logger.debug("Tag 1 is %s" % config["tags"][0])
+ ret, _, _ = tc.run(self.nodes[0], "false")
+ if ret != 0:
+ tc.logger.error("false command failed")
+ return False
+ else:
+ return True
+
+ def setup(self):
+ return True
+
+ def cleanup(self):
+ return True
+
+ def teardown(self):
+ return True