class_docstr: Example runner.
  
  A single runner can run multiple script commands.
  A runner creates a temporary directory and files in the respective example
  directory are copied there.
  All the runs are executed within the temporary directory as the current
  directory.
class_docstr_tok: ["Example","runner",".","A","single","runner","can","run","multiple","script","commands",".","A","runner","creates","a","temporary","directory","and","files","in","the","respective","example","directory","are","copied","there",".","All","the","runs","are","executed","within","the","temporary","directory","as","the","current","directory","."]
code: def __exit__(self, typ, value, traceback):
      for c in reversed(self.contexts):
          c.__exit__(typ, value, traceback)
      self.contexts = None
  
imports: import contextlib
  import os
  import re
  import shutil
  import subprocess
  import sys
  import tempfile
label_desc: Use image node_id 3 for calling the ExampleRunner obj's underlying member method code with example usage: obj.__exit__(typ, value, traceback) without return types