Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 16b2e4f

Browse files
Issue #23842: Added tests for os.major(), os.minor() and os.makedev().
1 parent cdbe299 commit 16b2e4f

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

Lib/test/test_posix.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,36 @@ def test_mknod(self):
443443
else:
444444
self.assertTrue(stat.S_ISFIFO(posix.stat(support.TESTFN).st_mode))
445445

446+
@unittest.skipUnless(hasattr(posix, 'stat'), 'test needs posix.stat()')
447+
@unittest.skipUnless(hasattr(posix, 'makedev'), 'test needs posix.makedev()')
448+
def test_makedev(self):
449+
st = posix.stat(support.TESTFN)
450+
dev = st.st_dev
451+
self.assertIsInstance(dev, int)
452+
self.assertGreaterEqual(dev, 0)
453+
454+
major = posix.major(dev)
455+
self.assertIsInstance(major, int)
456+
self.assertGreaterEqual(major, 0)
457+
self.assertEqual(posix.major(dev), major)
458+
self.assertRaises(TypeError, posix.major, float(dev))
459+
self.assertRaises(TypeError, posix.major)
460+
self.assertRaises((ValueError, OverflowError), posix.major, -1)
461+
462+
minor = posix.minor(dev)
463+
self.assertIsInstance(minor, int)
464+
self.assertGreaterEqual(minor, 0)
465+
self.assertEqual(posix.minor(dev), minor)
466+
self.assertRaises(TypeError, posix.minor, float(dev))
467+
self.assertRaises(TypeError, posix.minor)
468+
self.assertRaises((ValueError, OverflowError), posix.minor, -1)
469+
470+
self.assertEqual(posix.makedev(major, minor), dev)
471+
self.assertRaises(TypeError, posix.makedev, float(major), minor)
472+
self.assertRaises(TypeError, posix.makedev, major, float(minor))
473+
self.assertRaises(TypeError, posix.makedev, major)
474+
self.assertRaises(TypeError, posix.makedev)
475+
446476
def _test_all_chown_common(self, chown_func, first_param, stat_func):
447477
"""Common code for chown, fchown and lchown tests."""
448478
def check_stat(uid, gid):

0 commit comments

Comments
 (0)