Ejemplo n.º 1
0
def prepare_test_connection():
    logfile = os.path.join(os.path.dirname(__file__), 'kernel.txt')
    if not os.path.exists(logfile):
        raise OSError("Missing test support file.")
    child = pexpect.spawn('cat', [logfile])
    message_list = LinuxKernelMessages.get_kernel_prompts()
    return FakeConnection(child, message_list)
Ejemplo n.º 2
0
def prepare_test_connection():
    logfile = os.path.join(os.path.dirname(__file__), 'kernel.txt')
    if not os.path.exists(logfile):
        raise OSError("Missing test support file.")
    child = pexpect.spawn('cat', [logfile])
    message_list = LinuxKernelMessages.get_kernel_prompts()
    return FakeConnection(child, message_list)
Ejemplo n.º 3
0
 def run(self, prompt_list):
     if not self.existing_prompt:
         self.existing_prompt = prompt_list[:]
         prompt_list = LinuxKernelMessages.get_kernel_prompts()
     if isinstance(self.existing_prompt, list):
         prompt_list.extend(self.existing_prompt)
     else:
         prompt_list.append(self.existing_prompt)
     return prompt_list
Ejemplo n.º 4
0
 def run(self, prompt_list):
     if not self.existing_prompt:
         self.existing_prompt = prompt_list[:]
         prompt_list = LinuxKernelMessages.get_kernel_prompts()
     if isinstance(self.existing_prompt, list):
         prompt_list.extend(self.existing_prompt)
     else:
         prompt_list.append(self.existing_prompt)
     return prompt_list
Ejemplo n.º 5
0
 def test_kernel_1(self):
     logfile = os.path.join(os.path.dirname(__file__), 'kernel-1.txt')
     self.assertTrue(os.path.exists(logfile))
     child = pexpect.spawn('cat', [logfile])
     message_list = LinuxKernelMessages.get_kernel_prompts()
     connection = FakeConnection(child, message_list)
     results = LinuxKernelMessages.parse_failures(
         connection, max_end_time=self.max_end_time)
     self.assertEqual(len(results), 1)
     self.assertEqual(
         results[0], {
             'message': 'kernel-messages',
             'success': 'Freeing unused kernel memory'
         })
Ejemplo n.º 6
0
 def test_kernel_2(self):
     logfile = os.path.join(os.path.dirname(__file__), "kernel-2.txt")
     self.assertTrue(os.path.exists(logfile))
     child = pexpect.spawn("cat", [logfile])
     message_list = LinuxKernelMessages.get_kernel_prompts()
     self.assertIsNotNone(message_list)
     connection = FakeConnection(child, message_list)
     results = LinuxKernelMessages.parse_failures(connection)
     # traces as far as da227214a82491bf occur before Freeing init memory:
     self.assertEqual(len(list(results)), 9)
     message_list = LinuxKernelMessages.get_init_prompts()
     connection.prompt_str = message_list
     results = LinuxKernelMessages.parse_failures(connection)
     # 5 more traces appear during init
     self.assertEqual(len(list(results)), 5)
Ejemplo n.º 7
0
 def test_kernel_2(self):
     logfile = os.path.join(os.path.dirname(__file__), 'kernel-2.txt')
     self.assertTrue(os.path.exists(logfile))
     child = pexpect.spawn('cat', [logfile])
     message_list = LinuxKernelMessages.get_kernel_prompts()
     self.assertIsNotNone(message_list)
     connection = FakeConnection(child, message_list)
     results = LinuxKernelMessages.parse_failures(connection)
     # traces as far as da227214a82491bf occur before Freeing init memory:
     self.assertEqual(len(list(results)), 9)
     message_list = LinuxKernelMessages.get_init_prompts()
     connection.prompt_str = message_list
     results = LinuxKernelMessages.parse_failures(connection)
     # 5 more traces appear during init
     self.assertEqual(len(list(results)), 5)
Ejemplo n.º 8
0
 def test_kernel_txt(self):
     """
     The same logfile passes kernel boot and fails
     to find init - so the panic needs to be caught by InitMessages
     """
     logfile = os.path.join(os.path.dirname(__file__), 'kernel-panic.txt')
     self.assertTrue(os.path.exists(logfile))
     child = pexpect.spawn('cat', [logfile])
     message_list = LinuxKernelMessages.get_kernel_prompts()
     self.assertIsNotNone(message_list)
     self.assertIn(LinuxKernelMessages.MESSAGE_CHOICES[0][1], message_list)
     self.assertIn(LinuxKernelMessages.MESSAGE_CHOICES[1][1], message_list)
     self.assertIn(LinuxKernelMessages.MESSAGE_CHOICES[2][1], message_list)
     self.assertIn(LinuxKernelMessages.MESSAGE_CHOICES[3][1], message_list)
     self.assertIn(LinuxKernelMessages.MESSAGE_CHOICES[4][1], message_list)
     self.assertIn(LinuxKernelMessages.MESSAGE_CHOICES[5][1], message_list)
     connection = FakeConnection(child, message_list)
     result = LinuxKernelMessages.parse_failures(
         connection, max_end_time=self.max_end_time)
     self.assertEqual(len(result), 2)
     self.assertIn('success', result[0])
     self.assertIn('panic', result[1])
     self.assertEqual(result[0]['success'], KERNEL_FREE_UNUSED_MSG)
     self.assertEqual(result[1]['panic'], KERNEL_PANIC_MSG)
     self.assertEqual(len(result), 2)
     self.assertIn('panic', result[1])
     self.assertIn('message', result[1])
     self.assertTrue('Attempted to kill init' in str(result[1]['message']))
     self.assertTrue('(unwind_backtrace) from' in str(result[1]['message']))
     message_list = LinuxKernelMessages.get_init_prompts()
     child = pexpect.spawn('cat', [logfile])
     connection = FakeConnection(child, message_list)
     results = LinuxKernelMessages.parse_failures(
         connection, max_end_time=self.max_end_time)
     self.assertEqual(len(results), 1)
     self.assertIn('panic', result[1])
     self.assertIn('message', result[1])
     self.assertTrue('Attempted to kill init' in str(result[1]['message']))
     self.assertTrue('(unwind_backtrace) from' in str(result[1]['message']))
Ejemplo n.º 9
0
 def test_kernel_2(self):
     logfile = os.path.join(os.path.dirname(__file__), 'kernel-2.txt')
     self.assertTrue(os.path.exists(logfile))
     child = pexpect.spawn('cat', [logfile])
     message_list = LinuxKernelMessages.get_kernel_prompts()
     self.assertIsNotNone(message_list)
     self.assertIn(LinuxKernelMessages.MESSAGE_CHOICES[0][1], message_list)
     self.assertIn(LinuxKernelMessages.MESSAGE_CHOICES[1][1], message_list)
     self.assertIn(LinuxKernelMessages.MESSAGE_CHOICES[2][1], message_list)
     self.assertIn(LinuxKernelMessages.MESSAGE_CHOICES[3][1], message_list)
     self.assertIn(LinuxKernelMessages.MESSAGE_CHOICES[4][1], message_list)
     self.assertIn(LinuxKernelMessages.MESSAGE_CHOICES[5][1], message_list)
     connection = FakeConnection(child, message_list)
     results = LinuxKernelMessages.parse_failures(
         connection, max_end_time=self.max_end_time)
     self.assertEqual(len(list(results)), 14)
     message_list = LinuxKernelMessages.get_init_prompts()
     child = pexpect.spawn('cat', [logfile])
     connection = FakeConnection(child, message_list)
     results = LinuxKernelMessages.parse_failures(
         connection, max_end_time=self.max_end_time)
     self.assertEqual(len(list(results)), 13)
Ejemplo n.º 10
0
 def test_kernel_txt(self):
     """
     The same logfile passes kernel boot and fails
     to find init - so the panic needs to be caught by InitMessages
     """
     logfile = os.path.join(os.path.dirname(__file__), "kernel.txt")
     self.assertTrue(os.path.exists(logfile))
     child = pexpect.spawn("cat", [logfile])
     message_list = LinuxKernelMessages.get_kernel_prompts()
     self.assertIsNotNone(message_list)
     connection = FakeConnection(child, message_list)
     result = LinuxKernelMessages.parse_failures(connection)
     self.assertIn("success", result[0])
     self.assertEqual(result[0]["success"], KERNEL_FREE_UNUSED_MSG)
     message_list = LinuxKernelMessages.get_init_prompts()
     self.assertIn(KERNEL_PANIC_MSG, message_list)
     self.assertNotIn(KERNEL_FREE_UNUSED_MSG, message_list)
     connection.prompt_str = message_list
     result = LinuxKernelMessages.parse_failures(connection)
     self.assertEqual(len(result), 1)
     self.assertIn("panic", result[0])
     self.assertIn("message", result[0])
     self.assertTrue("Attempted to kill init" in str(result[0]["message"]))
     self.assertTrue("(unwind_backtrace) from" in str(result[0]["message"]))