Exemplo n.º 1
0
 def test_each_instruction_once_loops(self):
     code_nested_loop = pyc.compile_src(
         src=self.src_nested_loop,
         python_version=self.python_version,
         python_exe=next(utils.get_python_exes(self.python_version)),
         filename="<>")
     self.assertEqual(code_nested_loop.co_code, self.code_nested_loop)
     self.ctx.vm.run_program(self.src_nested_loop, "", maximum_depth=10)
Exemplo n.º 2
0
 def test_each_instruction_once_dead_code(self):
     code_deadcode = pyc.compile_src(
         src=self.src_deadcode,
         python_version=self.python_version,
         python_exe=next(utils.get_python_exes(self.python_version)),
         filename="<>")
     self.assertEqual(code_deadcode.co_code, self.code_deadcode)
     self.ctx.vm.run_program(self.src_deadcode, "", maximum_depth=10)
     self.assertCountEqual(self.ctx.vm.instructions_executed, [0, 1])
Exemplo n.º 3
0
 def testEachInstructionOnceLoops(self):
     code_nested_loop = pyc.compile_src(src=self.src_nested_loop,
                                        python_version=self.python_version,
                                        filename="<>")
     self.assertEqual(code_nested_loop.co_code, self.code_nested_loop)
     self.vm.run_program(self.src_nested_loop, run_builtins=False)
     # We expect all instructions, except 26, in the above to execute.
     self.assertItemsEqual(self.vm.instructions_executed,
                           set(range(32)) - {26})
Exemplo n.º 4
0
 def testEachInstructionOnceLoops(self):
   code_nested_loop = pyc.compile_src(src=self.src_nested_loop,
                                      python_version=self.python_version,
                                      filename="<>")
   self.assertEqual(code_nested_loop.co_code,
                    self.code_nested_loop)
   self.vm.run_program(self.src_nested_loop, run_builtins=False)
   # We expect all instructions, except 26, in the above to execute.
   self.assertItemsEqual(self.vm.instructions_executed,
                         set(range(32)) - {26})
Exemplo n.º 5
0
 def testEachInstructionOnceDeadCode(self):
     code_deadcode = pyc.compile_src(src=self.src_deadcode,
                                     python_version=self.python_version,
                                     filename="<>")
     self.assertEqual(code_deadcode.co_code, self.code_deadcode)
     try:
         self.vm.run_program(self.src_deadcode, run_builtins=False)
     except vm.VirtualMachineError:
         pass  # The code we test throws an exception. Ignore it.
     self.assertItemsEqual(self.vm.instructions_executed, range(7))
Exemplo n.º 6
0
 def testEachInstructionOnceLoops(self):
     code_nested_loop = pyc.compile_src(src=self.src_nested_loop,
                                        python_version=self.PYTHON_VERSION,
                                        python_exe=self.PYTHON_EXE,
                                        filename="<>")
     self.assertEqual(code_nested_loop.co_code, self.code_nested_loop)
     self.trace_vm.run_program(self.src_nested_loop, "", maximum_depth=10)
     # We expect all instructions, except 26, in the above to execute.
     self.assertItemsEqual(self.trace_vm.instructions_executed,
                           set(range(32)) - {26})
Exemplo n.º 7
0
 def test_each_instruction_once_loops(self):
     code_nested_loop = pyc.compile_src(src=self.src_nested_loop,
                                        python_version=self.python_version,
                                        python_exe=utils.get_python_exe(
                                            self.python_version),
                                        filename="<>")
     self.assertEqual(code_nested_loop.co_code, self.code_nested_loop)
     self.trace_vm.run_program(self.src_nested_loop, "", maximum_depth=10)
     # We expect all instructions, except 26, in the above to execute.
     six.assertCountEqual(self, self.trace_vm.instructions_executed,
                          set(range(32)) - {26})
Exemplo n.º 8
0
 def testEachInstructionOnceDeadCode(self):
   code_deadcode = pyc.compile_src(src=self.src_deadcode,
                                   python_version=self.python_version,
                                   filename="<>")
   self.assertEqual(code_deadcode.co_code,
                    self.code_deadcode)
   try:
     self.vm.run_program(self.src_deadcode, run_builtins=False)
   except vm.VirtualMachineError:
     pass  # The code we test throws an exception. Ignore it.
   self.assertItemsEqual(self.vm.instructions_executed, range(7))
Exemplo n.º 9
0
 def testEachInstructionOnceDeadCode(self):
     code_deadcode = pyc.compile_src(src=self.src_deadcode,
                                     python_version=self.PYTHON_VERSION,
                                     python_exe=self.PYTHON_EXE,
                                     filename="<>")
     self.assertEqual(code_deadcode.co_code, self.code_deadcode)
     try:
         self.trace_vm.run_program(self.src_deadcode, "", maximum_depth=10)
     except vm.VirtualMachineError:
         pass  # The code we test throws an exception. Ignore it.
     self.assertItemsEqual(self.trace_vm.instructions_executed,
                           [0, 1, 5, 6])
Exemplo n.º 10
0
 def test_each_instruction_once_dead_code(self):
     code_deadcode = pyc.compile_src(src=self.src_deadcode,
                                     python_version=self.python_version,
                                     python_exe=utils.get_python_exe(
                                         self.python_version),
                                     filename="<>")
     self.assertEqual(code_deadcode.co_code, self.code_deadcode)
     try:
         self.trace_vm.run_program(self.src_deadcode, "", maximum_depth=10)
     except vm.VirtualMachineError:
         pass  # The code we test throws an exception. Ignore it.
     six.assertCountEqual(self, self.trace_vm.instructions_executed,
                          [0, 1, 5, 6])
Exemplo n.º 11
0
 def _create(self, src, disable=()):
     self.num_lines = len(src.rstrip().splitlines())
     src = textwrap.dedent(src)
     src_tree = directors.parse_src(src, self.python_version)
     self._errorlog = errors.ErrorLog()
     if self.python_version < (3, 8):
         raw_code = pyc.compile_src(src, _TEST_FILENAME,
                                    self.python_version, None)
         code = blocks.process_code(raw_code, self.python_version)
     else:
         code = None
     self._director = directors.Director(src_tree, self._errorlog,
                                         _TEST_FILENAME, disable, code)