13 Test all the examples of the awesome package.
14 Proudly based on analysis/test/examples.py.
25 from basf2
import find_file
26 from b2test_utils
import clean_working_directory
29 def light_release() -> bool:
30 """ Returns true if we're in a light release """
33 except ModuleNotFoundError:
39 """ Test our awesome examples. """
46 Internal function to test a directory full of example scripts.
49 path_to_glob (str): the path to a directory to search for python
55 working_dir = find_file(path_to_glob)
56 examples = sorted(glob.glob(f
'{working_dir}/*.py'))
57 for example
in examples:
58 filename = os.path.basename(example)
59 with self.subTest(msg=filename):
60 result = subprocess.run(
61 [
"basf2",
"-n1", example],
62 stdout=subprocess.PIPE,
63 stderr=subprocess.STDOUT,
65 if result.returncode != 0:
69 sys.stdout.buffer.write(result.stdout)
70 self.assertEqual(result.returncode, 0)
73 """Run the examples of the awesome package. """
76 path_to_glob=
'online_book/awesome/examples',
80 if __name__ ==
"__main__":
81 with clean_working_directory():
def _test_examples_dir(self, str path_to_glob)