Exemplo n.º 1
0
 def test_read_sys_net_reraises_oserror(self):
     """read_sys_net raises OSError/IOError when file doesn't exist."""
     # Non-specific Exception because versions of python OSError vs IOError.
     with self.assertRaises(Exception) as context_manager:  # noqa: H202
         net.read_sys_net('dev', 'attr')
     error = context_manager.exception
     self.assertIn('No such file or directory', str(error))
Exemplo n.º 2
0
 def test_read_sys_net_reraises_oserror(self):
     """read_sys_net raises OSError/IOError when file doesn't exist."""
     # Non-specific Exception because versions of python OSError vs IOError.
     with self.assertRaises(Exception) as context_manager:  # noqa: H202
         net.read_sys_net('dev', 'attr')
     error = context_manager.exception
     self.assertIn('No such file or directory', str(error))
Exemplo n.º 3
0
 def test_read_sys_net_errors_on_translation_failures(self):
     """read_sys_net raises a KeyError and logs details on failure."""
     content = "you're welcome\n"
     write_file(os.path.join(self.sysdir, 'dev', 'attr'), content)
     with self.assertRaises(KeyError) as context_manager:
         net.read_sys_net('dev', 'attr', translate={})
     error = context_manager.exception
     self.assertEqual('"you\'re welcome"', str(error))
     self.assertIn(
         "Found unexpected (not translatable) value 'you're welcome' in "
         "'{0}dev/attr".format(self.sysdir), self.logs.getvalue())
Exemplo n.º 4
0
    def test_read_sys_net_handles_error_with_on_enoent(self):
        """read_sys_net handles OSError/IOError with on_enoent if provided."""
        handled_errors = []

        def on_enoent(e):
            handled_errors.append(e)

        net.read_sys_net('dev', 'attr', on_enoent=on_enoent)
        error = handled_errors[0]
        self.assertIsInstance(error, Exception)
        self.assertIn('No such file or directory', str(error))
Exemplo n.º 5
0
    def test_read_sys_net_handles_error_with_on_enoent(self):
        """read_sys_net handles OSError/IOError with on_enoent if provided."""
        handled_errors = []

        def on_enoent(e):
            handled_errors.append(e)

        net.read_sys_net('dev', 'attr', on_enoent=on_enoent)
        error = handled_errors[0]
        self.assertIsInstance(error, Exception)
        self.assertIn('No such file or directory', str(error))
Exemplo n.º 6
0
 def test_read_sys_net_errors_on_translation_failures(self):
     """read_sys_net raises a KeyError and logs details on failure."""
     content = "you're welcome\n"
     write_file(os.path.join(self.sysdir, 'dev', 'attr'), content)
     with self.assertRaises(KeyError) as context_manager:
         net.read_sys_net('dev', 'attr', translate={})
     error = context_manager.exception
     self.assertEqual('"you\'re welcome"', str(error))
     self.assertIn(
         "Found unexpected (not translatable) value 'you're welcome' in "
         "'{0}dev/attr".format(self.sysdir),
         self.logs.getvalue())
Exemplo n.º 7
0
    def test_read_sys_net_handles_handles_with_onkeyerror(self):
        """read_sys_net handles translation errors calling on_keyerror."""
        content = "you're welcome\n"
        write_file(os.path.join(self.sysdir, 'dev', 'attr'), content)
        handled_errors = []

        def on_keyerror(e):
            handled_errors.append(e)

        net.read_sys_net('dev', 'attr', translate={}, on_keyerror=on_keyerror)
        error = handled_errors[0]
        self.assertIsInstance(error, KeyError)
        self.assertEqual('"you\'re welcome"', str(error))
Exemplo n.º 8
0
    def test_read_sys_net_handles_handles_with_onkeyerror(self):
        """read_sys_net handles translation errors calling on_keyerror."""
        content = "you're welcome\n"
        write_file(os.path.join(self.sysdir, 'dev', 'attr'), content)
        handled_errors = []

        def on_keyerror(e):
            handled_errors.append(e)

        net.read_sys_net('dev', 'attr', translate={}, on_keyerror=on_keyerror)
        error = handled_errors[0]
        self.assertIsInstance(error, KeyError)
        self.assertEqual('"you\'re welcome"', str(error))
Exemplo n.º 9
0
 def test_read_sys_net_translates_content(self):
     """read_sys_net translates content when translate dict is provided."""
     content = "you're welcome\n"
     write_file(os.path.join(self.sysdir, 'dev', 'attr'), content)
     translate = {"you're welcome": 'de nada'}
     self.assertEqual('de nada',
                      net.read_sys_net('dev', 'attr', translate=translate))
Exemplo n.º 10
0
 def test_read_sys_net_translates_content(self):
     """read_sys_net translates content when translate dict is provided."""
     content = "you're welcome\n"
     write_file(os.path.join(self.sysdir, 'dev', 'attr'), content)
     translate = {"you're welcome": 'de nada'}
     self.assertEqual(
         'de nada',
         net.read_sys_net('dev', 'attr', translate=translate))
Exemplo n.º 11
0
    def __enter__(self):
        """linux kernel does autoconfiguration even when autoconf=0

        https://www.kernel.org/doc/html/latest/networking/ipv6.html
        """
        if net.read_sys_net(self.interface, "operstate") != "up":
            subp.subp(
                ["ip", "link", "set", "dev", self.interface, "up"],
                capture=False,
            )
Exemplo n.º 12
0
 def test_read_sys_net_strips_contents_of_sys_path(self):
     """read_sys_net strips whitespace from the contents of a sys file."""
     content = 'some stuff with trailing whitespace\t\r\n'
     write_file(os.path.join(self.sysdir, 'dev', 'attr'), content)
     self.assertEqual(content.strip(), net.read_sys_net('dev', 'attr'))
Exemplo n.º 13
0
 def test_read_sys_net_strips_contents_of_sys_path(self):
     """read_sys_net strips whitespace from the contents of a sys file."""
     content = 'some stuff with trailing whitespace\t\r\n'
     write_file(os.path.join(self.sysdir, 'dev', 'attr'), content)
     self.assertEqual(content.strip(), net.read_sys_net('dev', 'attr'))