Skip to content

Commit

Permalink
bpo-31904: Fix fifo test cases for VxWorks (pythonGH-20254)
Browse files Browse the repository at this point in the history
  • Loading branch information
pxinwr authored Dec 1, 2020
1 parent cc061d0 commit b2d0c66
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 6 deletions.
13 changes: 9 additions & 4 deletions Lib/test/test_posix.py
Original file line number Diff line number Diff line change
Expand Up @@ -642,12 +642,17 @@ def test_stat(self):

@unittest.skipUnless(hasattr(posix, 'mkfifo'), "don't have mkfifo()")
def test_mkfifo(self):
os_helper.unlink(os_helper.TESTFN)
if sys.platform == "vxworks":
fifo_path = os.path.join("/fifos/", os_helper.TESTFN)
else:
fifo_path = os_helper.TESTFN
os_helper.unlink(fifo_path)
self.addCleanup(os_helper.unlink, fifo_path)
try:
posix.mkfifo(os_helper.TESTFN, stat.S_IRUSR | stat.S_IWUSR)
posix.mkfifo(fifo_path, stat.S_IRUSR | stat.S_IWUSR)
except PermissionError as e:
self.skipTest('posix.mkfifo(): %s' % e)
self.assertTrue(stat.S_ISFIFO(posix.stat(os_helper.TESTFN).st_mode))
self.assertTrue(stat.S_ISFIFO(posix.stat(fifo_path).st_mode))

@unittest.skipUnless(hasattr(posix, 'mknod') and hasattr(stat, 'S_IFIFO'),
"don't have mknod()/S_IFIFO")
Expand Down Expand Up @@ -1929,7 +1934,7 @@ def test_posix_spawnp(self):
class TestPosixWeaklinking(unittest.TestCase):
# These test cases verify that weak linking support on macOS works
# as expected. These cases only test new behaviour introduced by weak linking,
# regular behaviour is tested by the normal test cases.
# regular behaviour is tested by the normal test cases.
#
# See the section on Weak Linking in Mac/README.txt for more information.
def setUp(self):
Expand Down
10 changes: 8 additions & 2 deletions Lib/test/test_stat.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import os
import socket
import sys
from test.support import os_helper
from test.support import socket_helper
from test.support.import_helper import import_fresh_module
from test.support.os_helper import TESTFN
Expand Down Expand Up @@ -173,11 +174,16 @@ def test_link(self):

@unittest.skipUnless(hasattr(os, 'mkfifo'), 'os.mkfifo not available')
def test_fifo(self):
if sys.platform == "vxworks":
fifo_path = os.path.join("/fifos/", TESTFN)
else:
fifo_path = TESTFN
self.addCleanup(os_helper.unlink, fifo_path)
try:
os.mkfifo(TESTFN, 0o700)
os.mkfifo(fifo_path, 0o700)
except PermissionError as e:
self.skipTest('os.mkfifo(): %s' % e)
st_mode, modestr = self.get_mode()
st_mode, modestr = self.get_mode(fifo_path)
self.assertEqual(modestr, 'prwx------')
self.assertS_IS("FIFO", st_mode)

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix fifo test cases for VxWorks RTOS.

0 comments on commit b2d0c66

Please sign in to comment.