def test_action_tracer_is_not_wrapper(self): command = action_tracer.ToolCommand( tokens=[ 'path/to/python3.x', 'path/to/not_a_wrapper.py', '--opt1', 'arg1' ]) self.assertFalse(action_tracer.is_known_wrapper(command))
def test_action_tracer_is_wrapper_extra_python_flag(self): command = action_tracer.ToolCommand( tokens=[ 'path/to/python3.x', '-S', 'path/to/action_tracer.py', '--', 'foo.sh', 'arg1', 'arg2' ]) self.assertTrue(action_tracer.is_known_wrapper(command))
def test_unwrap_one_of_many_level(self): tokens = [ 'wrapper', '--opt', 'foo', '--', 'bar.sh', 'arg', '--', 'inner.sh' ] command = action_tracer.ToolCommand(tokens=tokens) command2 = command.unwrap() self.assertEqual(command2.tokens, ['bar.sh', 'arg', '--', 'inner.sh']) command3 = command2.unwrap() self.assertEqual(command3.tokens, ['inner.sh'])
def test_action_tracer_is_wrapper_implicit_interpreter(self): command = action_tracer.ToolCommand( tokens=['path/to/action_tracer.py', '--', 'foo.sh', 'arg1', 'arg2']) self.assertTrue(action_tracer.is_known_wrapper(command))
def test_unwrap_one_level(self): tokens = ['wrapper', '--opt', 'foo', '--', 'bar.sh', 'arg'] command = action_tracer.ToolCommand(tokens=tokens) self.assertEqual(command.unwrap().tokens, ['bar.sh', 'arg'])
def test_unwrap_no_change(self): tokens = ['ln', '-f', '-s', 'foo', 'bar'] command = action_tracer.ToolCommand(tokens=tokens) self.assertEqual(command.unwrap().tokens, tokens)
def test_command_with_args(self): command = action_tracer.ToolCommand( tokens=['ln', '-f', '-s', 'foo', 'bar']) self.assertEqual(command.env_tokens, []) self.assertEqual(command.tool, 'ln') self.assertEqual(command.args, ['-f', '-s', 'foo', 'bar'])
def test_command_with_env(self): command = action_tracer.ToolCommand(tokens=['TMPDIR=/my/tmp', 'echo']) self.assertEqual(command.env_tokens, ['TMPDIR=/my/tmp']) self.assertEqual(command.tool, 'echo') self.assertEqual(command.args, [])
def test_command_no_args(self): command = action_tracer.ToolCommand(tokens=['echo']) self.assertEqual(command.env_tokens, []) self.assertEqual(command.tool, 'echo') self.assertEqual(command.args, [])
def test_empty_command(self): with self.assertRaises(IndexError): action_tracer.ToolCommand().tool