From 309c9764c512d39ca404e34dd106ee2d8a3d9a76 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Fri, 25 Nov 2016 20:19:10 -0800 Subject: [PATCH] example-test: Add simple example pytest for documentation (and exclude it from running in pytest.ini) --- tests/topotests/example-test/test_example.py | 60 ++++++++++++++++++++ tests/topotests/pytest.ini | 3 + 2 files changed, 63 insertions(+) create mode 100755 tests/topotests/example-test/test_example.py create mode 100644 tests/topotests/pytest.ini diff --git a/tests/topotests/example-test/test_example.py b/tests/topotests/example-test/test_example.py new file mode 100755 index 0000000000..8e37ad11d4 --- /dev/null +++ b/tests/topotests/example-test/test_example.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python + +import subprocess +import sys +import os +import time + +import pytest + +fatal_error = "" + +def setup_module(module): + print ("setup_module module:%s" % module.__name__) + +def teardown_module(module): + print ("teardown_module module:%s" % module.__name__) + +def setup_function(function): + print ("setup_function function:%s" % function.__name__) + +def teardown_function(function): + print ("teardown_function function:%s" % function.__name__) + +def test_numbers_compare(): + a = 12 + print ("Dummy Output") + assert( a == 12 ) + +def test_fail_example(): + assert True, "Some Text with explaination in case of failure" + +def test_ls_exits_zero(): + "Tests for ls command on invalid file" + + global fatal_error + + proc = subprocess.Popen( + ["ls", "/some/nonexistant/file"], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) + stdout, stderr = proc.communicate() + + if (proc.returncode != 0): + # Mark this as a fatal error which skips some other tests on failure + fatal_error = "test_fail_example failed" + assert proc.returncode == 0, "Return Code is non-Zero:\n%s" % stderr + +def test_skipped_on_fatalerror(): + global fatal_error + + # Skip if previous fatal error condition is raised + if (fatal_error != ""): + pytest.skip(fatal_error) + + assert True, "Some Text with explaination in case of failure" + +if __name__ == '__main__': + retval = pytest.main(["-s"]) + sys.exit(retval) diff --git a/tests/topotests/pytest.ini b/tests/topotests/pytest.ini new file mode 100644 index 0000000000..a744b34aae --- /dev/null +++ b/tests/topotests/pytest.ini @@ -0,0 +1,3 @@ +# Skip pytests example directory +[pytest] +norecursedirs = .git example-test -- 2.39.5