Belle II Software development
AwesomeExamplesTest Class Reference
Inheritance diagram for AwesomeExamplesTest:

Public Member Functions

 test_examples (self)
 

Protected Member Functions

 _test_examples_dir (self, str path_to_glob)
 

Detailed Description

Test our awesome examples.

Definition at line 37 of file awesome_examples.py.

Member Function Documentation

◆ _test_examples_dir()

_test_examples_dir ( self,
str path_to_glob )
protected
Internal function to test a directory full of example scripts. Parameters: path_to_glob (str): the path to a directory to search for python scripts.

Definition at line 40 of file awesome_examples.py.

43 ):
44 """
45 Internal function to test a directory full of example scripts.
46
47 Parameters:
48 path_to_glob (str): the path to a directory to search for python
49 scripts.
50 """
51 # Do not run the test if we are in a light release.
52 if light_release():
53 return
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,
63 )
64 if result.returncode != 0:
65 # failure running example so let's print the output
66 # on stderr so it's not split from output of unittest
67 # done like this since we don't want to decode/encode utf8
68 sys.stdout.buffer.write(result.stdout)
69 self.assertEqual(result.returncode, 0)
70

◆ test_examples()

test_examples ( self)
Run the examples of the awesome package.

Definition at line 71 of file awesome_examples.py.

71 def test_examples(self):
72 """Run the examples of the awesome package. """
73
74 self._test_examples_dir(
75 path_to_glob='online_book/awesome/examples',
76 )
77
78

The documentation for this class was generated from the following file: