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)
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])
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})
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))
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})
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})
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])
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])
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)