????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.148.243.252 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/Python-3.6.3/Lib/test/ |
Upload File : |
import os import unittest from test import support spwd = support.import_module('spwd') @unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() == 0, 'root privileges required') class TestSpwdRoot(unittest.TestCase): def test_getspall(self): entries = spwd.getspall() self.assertIsInstance(entries, list) for entry in entries: self.assertIsInstance(entry, spwd.struct_spwd) def test_getspnam(self): entries = spwd.getspall() if not entries: self.skipTest('empty shadow password database') random_name = entries[0].sp_namp entry = spwd.getspnam(random_name) self.assertIsInstance(entry, spwd.struct_spwd) self.assertEqual(entry.sp_namp, random_name) self.assertEqual(entry.sp_namp, entry[0]) self.assertEqual(entry.sp_namp, entry.sp_nam) self.assertIsInstance(entry.sp_pwdp, str) self.assertEqual(entry.sp_pwdp, entry[1]) self.assertEqual(entry.sp_pwdp, entry.sp_pwd) self.assertIsInstance(entry.sp_lstchg, int) self.assertEqual(entry.sp_lstchg, entry[2]) self.assertIsInstance(entry.sp_min, int) self.assertEqual(entry.sp_min, entry[3]) self.assertIsInstance(entry.sp_max, int) self.assertEqual(entry.sp_max, entry[4]) self.assertIsInstance(entry.sp_warn, int) self.assertEqual(entry.sp_warn, entry[5]) self.assertIsInstance(entry.sp_inact, int) self.assertEqual(entry.sp_inact, entry[6]) self.assertIsInstance(entry.sp_expire, int) self.assertEqual(entry.sp_expire, entry[7]) self.assertIsInstance(entry.sp_flag, int) self.assertEqual(entry.sp_flag, entry[8]) with self.assertRaises(KeyError) as cx: spwd.getspnam('invalid user name') self.assertEqual(str(cx.exception), "'getspnam(): name not found'") self.assertRaises(TypeError, spwd.getspnam) self.assertRaises(TypeError, spwd.getspnam, 0) self.assertRaises(TypeError, spwd.getspnam, random_name, 0) try: bytes_name = os.fsencode(random_name) except UnicodeEncodeError: pass else: self.assertRaises(TypeError, spwd.getspnam, bytes_name) @unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() != 0, 'non-root user required') class TestSpwdNonRoot(unittest.TestCase): def test_getspnam_exception(self): name = 'bin' try: with self.assertRaises(PermissionError) as cm: spwd.getspnam(name) except KeyError as exc: self.skipTest("spwd entry %r doesn't exist: %s" % (name, exc)) else: self.assertEqual(str(cm.exception), '[Errno 13] Permission denied') if __name__ == "__main__": unittest.main()