code: def test_exceptions_propagate(self):
      # Make sure that exceptions raised thanks to issues with writing
      # bytecode.
      # http://bugs.python.org/issue17244
      mode = os.stat(self.directory)
      os.chmod(self.directory, stat.S_IREAD)
      try:
          with self.assertRaises(IOError):
              py_compile.compile(self.source_path, self.pyc_path)
      finally:
          os.chmod(self.directory, mode.st_mode)
  
imports: import functools
  import importlib.util
  import os
  import py_compile
  import shutil
  import stat
  import subprocess
  import sys
  import tempfile
  import unittest
  from test import support
  from test.support import os_helper, script_helper
label_desc: Use image node_id 9 for calling the PyCompileTestsBase obj's underlying member method code with example usage: obj.test_exceptions_propagate() without return types