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