MCPcopy Index your code
hub / github.com/python/cpython / test_makedev

Method test_makedev

Lib/test/test_os/test_posix.py:782–827  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

780
781 @unittest.skipUnless(hasattr(posix, 'makedev'), 'test needs posix.makedev()')
782 def test_makedev(self):
783 st = posix.stat(os_helper.TESTFN)
784 dev = st.st_dev
785 self.assertIsInstance(dev, int)
786 self.assertGreaterEqual(dev, 0)
787
788 major = posix.major(dev)
789 self.assertIsInstance(major, int)
790 self.assertGreaterEqual(major, 0)
791 self.assertEqual(posix.major(dev), major)
792 self.assertRaises(TypeError, posix.major, float(dev))
793 self.assertRaises(TypeError, posix.major)
794 for x in -2, 2**64, -2**63-1:
795 self.assertRaises((ValueError, OverflowError), posix.major, x)
796
797 minor = posix.minor(dev)
798 self.assertIsInstance(minor, int)
799 self.assertGreaterEqual(minor, 0)
800 self.assertEqual(posix.minor(dev), minor)
801 self.assertRaises(TypeError, posix.minor, float(dev))
802 self.assertRaises(TypeError, posix.minor)
803 for x in -2, 2**64, -2**63-1:
804 self.assertRaises((ValueError, OverflowError), posix.minor, x)
805
806 self.assertEqual(posix.makedev(major, minor), dev)
807 self.assertRaises(TypeError, posix.makedev, float(major), minor)
808 self.assertRaises(TypeError, posix.makedev, major, float(minor))
809 self.assertRaises(TypeError, posix.makedev, major)
810 self.assertRaises(TypeError, posix.makedev)
811 for x in -2, 2**32, 2**64, -2**63-1:
812 self.assertRaises((ValueError, OverflowError), posix.makedev, x, minor)
813 self.assertRaises((ValueError, OverflowError), posix.makedev, major, x)
814
815 # The following tests are needed to test functions accepting or
816 # returning the special value NODEV (if it is defined). major(), minor()
817 # and makefile() are the only easily reproducible examples, but that
818 # behavior is platform specific -- on some platforms their code has
819 # a special case for NODEV, on others this is just an implementation
820 # artifact.
821 if (hasattr(posix, 'NODEV') and
822 sys.platform.startswith(('linux', 'macos', 'freebsd', 'dragonfly',
823 'sunos'))):
824 NODEV = posix.NODEV
825 self.assertEqual(posix.major(NODEV), NODEV)
826 self.assertEqual(posix.minor(NODEV), NODEV)
827 self.assertEqual(posix.makedev(NODEV, NODEV), NODEV)
828
829 def test_nodev(self):
830 # NODEV is not a part of Posix, but is defined on many systems.

Callers

nothing calls this directly

Calls 9

assertIsInstanceMethod · 0.80
assertGreaterEqualMethod · 0.80
majorMethod · 0.80
minorMethod · 0.80
makedevMethod · 0.80
statMethod · 0.45
assertEqualMethod · 0.45
assertRaisesMethod · 0.45
startswithMethod · 0.45

Tested by

no test coverage detected