New submission from Jakub Kulik <jakub.ku...@oracle.com>:

There are several tests failing on the recently added Solaris buildbot worker. 
This Issue aims to fix/skip the to make Solaris green on buildbot.

################
## test_posix ##
################

Issues with the `os.sched_get_priority_min`; fix offered here: 
https://bugs.python.org/issue41839

#################
## test_shutil ##
#################

Issues with `sendfile` being disabled on Solaris (and test suite not being able 
to handle that); fix offered here: https://bugs.python.org/issue41843

#################
## test_locale ##
#################

Strxfrm does not work in the current implementation due to the difference in 
Solaris locale encoding (most of which was solved with 
https://bugs.python.org/issue43667).

Internally we have fixed this issue with:
https://github.com/oracle/solaris-userland/blob/master/components/python/python39/patches/24-strxfrm-fix.patch

But this idea was previously rejected in https://bugs.python.org/issue16258

Because of that, those tests are skipped on Solaris in the attached PR.

#############
## test_re ##
#############

On SPARC there are some weird matches in some regexes:
Traceback (most recent call last):
  File ".../build/Lib/test/test_re.py", line 1907, in test_locale_caching
    self.check_en_US_utf8()
  File ".../build/Lib/test/test_re.py", line 1924, in check_en_US_utf8
    self.assertIsNone(re.match(b'\xc5', b'\xe5', re.L|re.I))
AssertionError: <re.Match object; span=(0, 1), match=b'\xe5'> is not None

I have no idea why this is happening. I presume it is locale related, but I 
didn't find anything problematic yet.

The simplest way to reproduce this is (meaning that this probably isn't caching 
related):
```
import locale
import re

locale.setlocale(locale.LC_CTYPE, 'en_US.utf8')
print(re.match(b'\xc5', b'\xe5', re.L|re.I))
```

This returns:
<re.Match object; span=(0, 1), match=b'\xe5'> on Solaris and None on Linux.

I am happy to investigate it further; any pointers as for where to look would 
be appreciated as I am stuck a little bit.

#################
## test_socket ##
#################

There are two issues here. The first one is similar to what BSD, Darwin and AIX 
experience with testFDPass tests:
https://bugs.python.org/issue22397
https://bugs.python.org/issue12958
These tests are skipped on Solaris in the attached PR.

The other one is an incorrect assumption about CMSG_SPACE on SPARC Solaris; it 
grows slightly sooner when increasing length compared to other platforms I 
tested.

with toobig == 2147483632
length     socket.CMSG_SPACE output
2147483619 2147483632
2147483620 2147483632
2147483621 2147483640
2147483622 2147483640
2147483623 2147483640
2147483624 2147483640
2147483625 2147483640
2147483626 2147483640
2147483627 2147483640
2147483628 2147483640
2147483629  <- OverflowError

======================================================================
ERROR: testCMSG_SPACE (test.test_socket.CmsgMacroTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File 
"/builds/jkulik/testing/components/python/python39/Python-3.9.9/Lib/test/test_socket.py",
 line 3360, in testCMSG_SPACE
    ret = socket.CMSG_SPACE(n)
OverflowError: CMSG_SPACE() argument out of range

(on other platforms, increases generally happen with lengths divisible by 8, 
meaning that it gets all the way to 2147483631).

I am unsure how to fix this (currently, PR includes change we use internally 
but is likely not acceptable) as I don't know how to correctly guess the 
largest CMSG_SPACE on all platforms. Is it even necessary though (it can test 
OverflowError on other values than just the first failing one and can end 
slightly sooner)?

###############
## test_time ##
###############

This was recently fixed with: https://bugs.python.org/issue46099

----------
components: Tests
messages: 415493
nosy: kulikjak
priority: normal
severity: normal
status: open
title: Skip tests failing on Solaris worker
versions: Python 3.10, Python 3.11, Python 3.9

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue47058>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to