Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test_embed fails if Python is built with LTO and LLVM clang on macOS #110313

Closed
debohman opened this issue Oct 3, 2023 · 57 comments
Closed

test_embed fails if Python is built with LTO and LLVM clang on macOS #110313

debohman opened this issue Oct 3, 2023 · 57 comments
Labels
type-bug An unexpected behavior, bug, or error

Comments

@debohman
Copy link
Contributor

debohman commented Oct 3, 2023

Bug report

Bug description:

# Next, run the profile task to generate the profile information.
LLVM_PROFILE_FILE="code-%p.profclangr"  ./python.exe -m test --pgo --timeout=
Raised RLIMIT_NOFILE: 256 -> 1024
0:00:00 load avg: 3.49 Run 44 tests sequentially
0:00:00 load avg: 3.49 [ 1/44] test_array
0:00:01 load avg: 3.49 [ 2/44] test_base64
0:00:01 load avg: 3.49 [ 3/44] test_binascii -- test_base64 failed (env changed)
0:00:01 load avg: 3.49 [ 4/44] test_binop
0:00:01 load avg: 3.49 [ 5/44] test_bisect
0:00:01 load avg: 3.49 [ 6/44] test_bytes
0:00:05 load avg: 3.37 [ 7/44] test_bz2 -- test_bytes failed (env changed)
0:00:07 load avg: 3.37 [ 8/44] test_cmath
0:00:07 load avg: 3.34 [ 9/44] test_codecs
0:00:09 load avg: 3.34 [10/44] test_collections
0:00:10 load avg: 3.34 [11/44] test_complex
0:00:10 load avg: 3.34 [12/44] test_dataclasses
0:00:11 load avg: 3.34 [13/44] test_datetime
0:00:16 load avg: 3.39 [14/44] test_decimal
-------------------------------------------------------- NOTICE --------------------------------------------------------
test_decimal may generate "malloc can't allocate region"
warnings on macOS systems. This behavior is known. Do not
report a bug unless tests are also failing.
See https://github.com/python/cpython/issues/85100
------------------------------------------------------------------------------------------------------------------------
./Modules/_decimal/libmpdec/context.c:57: warning: mpd_setminalloc: ignoring request to set MPD_MINALLOC a second time

python.exe(67804,0x7fffa28f43c0) malloc: *** mach_vm_map(size=842105263157895168) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
python.exe(67804,0x7fffa28f43c0) malloc: *** mach_vm_map(size=842105263157895168) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
python.exe(67804,0x7fffa28f43c0) malloc: *** mach_vm_map(size=421052631578947584) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
python.exe(67804,0x7fffa28f43c0) malloc: *** mach_vm_map(size=421052631578947584) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
0:00:22 load avg: 3.28 [15/44] test_difflib
0:00:23 load avg: 3.10 [16/44] test_embed
test test_embed failed
0:00:28 load avg: 3.17 [17/44] test_float -- test_embed failed (41 failures)
0:00:28 load avg: 3.17 [18/44] test_fstring
0:00:31 load avg: 3.17 [19/44] test_functools
./Modules/_decimal/libmpdec/context.c:57: warning: mpd_setminalloc: ignoring request to set MPD_MINALLOC a second time

0:00:31 load avg: 3.17 [20/44] test_generators
0:00:32 load avg: 3.17 [21/44] test_hashlib
0:00:33 load avg: 3.08 [22/44] test_heapq
0:00:34 load avg: 3.08 [23/44] test_int
0:00:34 load avg: 3.08 [24/44] test_itertools
0:00:38 load avg: 2.99 [25/44] test_json
0:00:41 load avg: 2.99 [26/44] test_long -- test_json failed (env changed)
0:00:44 load avg: 2.83 [27/44] test_lzma
0:00:45 load avg: 2.83 [28/44] test_math
0:00:48 load avg: 2.84 [29/44] test_memoryview
0:00:49 load avg: 2.84 [30/44] test_operator
0:00:49 load avg: 2.84 [31/44] test_ordered_dict
0:00:51 load avg: 2.84 [32/44] test_patma
0:00:51 load avg: 2.84 [33/44] test_pickle
0:00:58 load avg: 2.63 [34/44] test_pprint
0:00:58 load avg: 2.63 [35/44] test_re
0:01:00 load avg: 2.63 [36/44] test_set -- test_re failed (env changed)
0:01:05 load avg: 2.50 [37/44] test_sqlite3
0:01:06 load avg: 2.50 [38/44] test_statistics -- test_sqlite3 failed (env changed)
0:01:08 load avg: 2.38 [39/44] test_str
0:01:11 load avg: 2.38 [40/44] test_struct -- test_str failed (env changed)
0:01:12 load avg: 2.38 [41/44] test_tabnanny -- test_struct failed (env changed)
0:01:13 load avg: 2.51 [42/44] test_time -- test_tabnanny failed (env changed)
0:01:15 load avg: 2.51 [43/44] test_xml_etree
0:01:16 load avg: 2.51 [44/44] test_xml_etree_c

Total duration: 1 min 18 sec
Total tests: run=8,985 failures=41 skipped=192
Total test files: run=44/44 failed=1 env_changed=8
Result: FAILURE
make: *** [Makefile:800: profile-run-stamp] Error 2

This is on macOS 10.12.6, building with LLVM / Clang 17.0.1. The system otherwise has Python 3.11.6 installed.

CPython versions tested on:

CPython main branch

Operating systems tested on:

macOS

Linked PRs

@debohman debohman added the type-bug An unexpected behavior, bug, or error label Oct 3, 2023
@debohman
Copy link
Contributor Author

debohman commented Oct 3, 2023

% git describe
v3.12.0b1-1940-g77e9aae3837

@debohman
Copy link
Contributor Author

debohman commented Oct 3, 2023

Building Python 3.12.0 on the same system with the same toolchain results in the following:

0:00:24 load avg: 3.35 [16/44] test_embed
0:00:32 load avg: 3.17 [17/44] test_float -- test_embed failed (env changed)

I assume that this is not a fatal error?

@mdboom
Copy link
Contributor

mdboom commented Oct 9, 2023

We are running into this bug on the CPython benchmarking infrastructure, too. git bisect says the first bad commit is 6ab6040.

@vstinner
Copy link
Member

vstinner commented Oct 9, 2023

Does test_decimal fail if you run it alone? How did you built Python?

@debohman
Copy link
Contributor Author

debohman commented Oct 9, 2023

Here is the result of running test_embed by hand:

% python.exe Lib/test/test_embed.py
.....................--- ['/tera/tera/debo/Projects/Python/main/Programs/_testembed', 'test_repeated_init_exec', 'import dis\nimport importlib._bootstrap\nimport opcode\nimport test.test_dis\n\ndef is_specialized(f):\n    for instruction in dis.get_instructions(f, adaptive=True):\n        opname = instruction.opname\n        if (\n            opname in opcode._specialized_opmap\n            # Exclude superinstructions:\n            and "__" not in opname\n        ):\n            return True\n    return False\n\nfunc = importlib._bootstrap._handle_fromlist\n\n# "copy" the code to un-specialize it:\nfunc.__code__ = func.__code__.replace()\n\nassert not is_specialized(func), "specialized instructions found"\n\nfor i in range(test.test_dis.ADAPTIVE_WARMUP_DELAY):\n    func(importlib._bootstrap, ["x"], lambda *args: None)\n\nassert is_specialized(func), "no specialized instructions found"\n\nprint("Tests passed")\n'] failed ---
stdout:

stderr:
--- Loop #1 ---
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tera/tera/debo/Projects/Python/main/Lib/dis.py", line 8, in <module>
    from opcode import *
  File "/tera/tera/debo/Projects/Python/main/Lib/opcode.py", line 12, in <module>
    import _opcode
ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so, 2): Symbol not found: _PyExc_ValueError
  Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so
  Expected in: flat namespace
 in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so

------
F...--- ['/tera/tera/debo/Projects/Python/main/Programs/_testembed', 'test_repeated_init_exec', "print('\\N{digit nine}')"] failed ---
stdout:

stderr:
--- Loop #1 ---
  File "<string>", line 1
    print('\N{digit nine}')
          ^^^^^^^^^^^^^^^^
SyntaxError: (unicode error) \N escapes not supported (can't load unicodedata module)

------
F.s.FFFFFFFFFFFFF--- ['/tera/tera/debo/Projects/Python/main/Programs/_testembed', 'test_init_main'] failed ---
stdout:

stderr:
Run Python code before _Py_InitializeMain
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
  Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
  Expected in: flat namespace
 in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so

------
FFFFsFFFs--- ['/tera/tera/debo/Projects/Python/main/Programs/_testembed', 'test_init_run_main'] failed ---
stdout:

stderr:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
  Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
  Expected in: flat namespace
 in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so

------
FFFFFFFFFFFFFFFFFF--- ['/tera/tera/debo/Projects/Python/main/Programs/_testembed', 'test_frozenmain'] failed ---
stdout:

stderr:
Traceback (most recent call last):
  File "test_frozenmain.py", line 5, in <module>
ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
  Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
  Expected in: flat namespace
 in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so

------
Fs.....
======================================================================
FAIL: test_specialized_static_code_gets_unspecialized_at_Py_FINALIZE (__main__.EmbeddingTests.test_specialized_static_code_gets_unspecialized_at_Py_FINALIZE)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 384, in test_specialized_static_code_gets_unspecialized_at_Py_FINALIZE
    out, err = run("test_repeated_init_exec", code)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 113, in run_embedded_interpreter
    self.assertEqual(p.returncode, returncode,
AssertionError: 1 != 0 : bad returncode 1, stderr is '--- Loop #1 ---\nTraceback (most recent call last):\n  File "<string>", line 1, in <module>\n  File "/tera/tera/debo/Projects/Python/main/Lib/dis.py", line 8, in <module>\n    from opcode import *\n  File "/tera/tera/debo/Projects/Python/main/Lib/opcode.py", line 12, in <module>\n    import _opcode\nImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so, 2): Symbol not found: _PyExc_ValueError\n  Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so\n  Expected in: flat namespace\n in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so\n'

======================================================================
FAIL: test_ucnhash_capi_reset (__main__.EmbeddingTests.test_ucnhash_capi_reset)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 390, in test_ucnhash_capi_reset
    out, err = self.run_embedded_interpreter("test_repeated_init_exec", code)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 113, in run_embedded_interpreter
    self.assertEqual(p.returncode, returncode,
AssertionError: 1 != 0 : bad returncode 1, stderr is '--- Loop #1 ---\n  File "<string>", line 1\n    print(\'\\N{digit nine}\')\n          ^^^^^^^^^^^^^^^^\nSyntaxError: (unicode error) \\N escapes not supported (can\'t load unicodedata module)\n'

======================================================================
FAIL: test_init_compat_config (__main__.InitConfigTests.test_init_compat_config)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 814, in test_init_compat_config
    self.check_all_configs("test_init_compat_config", api=API_COMPAT)
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_compat_env (__main__.InitConfigTests.test_init_compat_env)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs
    configs = json.loads(out)
              ^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 936, in test_init_compat_env
    self.check_all_configs("test_init_compat_env", config, preconfig,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs
    self.fail(f"fail to decode stdout: {out!r}")
AssertionError: fail to decode stdout: ''

======================================================================
FAIL: test_init_default_config (__main__.InitConfigTests.test_init_default_config)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 808, in test_init_default_config
    self.check_all_configs("test_init_initialize_config", api=API_COMPAT)
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_dev_mode (__main__.InitConfigTests.test_init_dev_mode)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 999, in test_init_dev_mode
    self.check_all_configs("test_init_dev_mode", config, preconfig,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_dont_configure_locale (__main__.InitConfigTests.test_init_dont_configure_locale)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1086, in test_init_dont_configure_locale
    self.check_all_configs("test_init_dont_configure_locale", {}, preconfig,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_dont_parse_argv (__main__.InitConfigTests.test_init_dont_parse_argv)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1176, in test_init_dont_parse_argv
    self.check_all_configs("test_init_dont_parse_argv", config, pre_config,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_env_dev_mode (__main__.InitConfigTests.test_init_env_dev_mode)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 979, in test_init_env_dev_mode
    self.check_all_configs("test_init_env_dev_mode", config, preconfig,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_env_dev_mode_alloc (__main__.InitConfigTests.test_init_env_dev_mode_alloc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 987, in test_init_env_dev_mode_alloc
    self.check_all_configs("test_init_env_dev_mode_alloc", config, preconfig,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_from_config (__main__.InitConfigTests.test_init_from_config)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs
    configs = json.loads(out)
              ^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 902, in test_init_from_config
    self.check_all_configs("test_init_from_config", config, preconfig,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs
    self.fail(f"fail to decode stdout: {out!r}")
AssertionError: fail to decode stdout: ''

======================================================================
FAIL: test_init_global_config (__main__.InitConfigTests.test_init_global_config)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs
    configs = json.loads(out)
              ^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 836, in test_init_global_config
    self.check_all_configs("test_init_global_config", config, preconfig,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs
    self.fail(f"fail to decode stdout: {out!r}")
AssertionError: fail to decode stdout: ''

======================================================================
FAIL: test_init_is_python_build_with_home (__main__.InitConfigTests.test_init_is_python_build_with_home)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1371, in test_init_is_python_build_with_home
    self.check_all_configs("test_init_is_python_build", config,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_isolated_config (__main__.InitConfigTests.test_init_isolated_config)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1072, in test_init_isolated_config
    self.check_all_configs("test_init_isolated_config", api=API_ISOLATED)
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_isolated_flag (__main__.InitConfigTests.test_init_isolated_flag)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1046, in test_init_isolated_flag
    self.check_all_configs("test_init_isolated_flag", config, api=API_PYTHON)
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_main (__main__.InitConfigTests.test_init_main)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1151, in test_init_main
    self.check_all_configs("test_init_main", config,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 791, in check_all_configs
    out, err = self.run_embedded_interpreter(testname,
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 113, in run_embedded_interpreter
    self.assertEqual(p.returncode, returncode,
AssertionError: 1 != 0 : bad returncode 1, stderr is 'Run Python code before _Py_InitializeMain\nTraceback (most recent call last):\n  File "<string>", line 1, in <module>\nImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type\n  Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so\n  Expected in: flat namespace\n in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so\n'

======================================================================
FAIL: test_init_main_interpreter_settings (__main__.InitConfigTests.test_init_main_interpreter_settings)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1684, in test_init_main_interpreter_settings
    self.assertEqual(err, '')
AssertionError: 'Traceback (most recent call last):\n  Fil[486 chars]so\n' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_parse_argv (__main__.InitConfigTests.test_init_parse_argv)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1164, in test_init_parse_argv
    self.check_all_configs("test_init_parse_argv", config, api=API_PYTHON)
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_pybuilddir (__main__.InitConfigTests.test_init_pybuilddir)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs
    configs = json.loads(out)
              ^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1430, in test_init_pybuilddir
    self.check_all_configs("test_init_compat_config", config,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs
    self.fail(f"fail to decode stdout: {out!r}")
AssertionError: fail to decode stdout: ''

======================================================================
FAIL: test_init_python_config (__main__.InitConfigTests.test_init_python_config)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1078, in test_init_python_config
    self.check_all_configs("test_init_python_config", api=API_PYTHON)
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_python_env (__main__.InitConfigTests.test_init_python_env)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs
    configs = json.loads(out)
              ^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 971, in test_init_python_env
    self.check_all_configs("test_init_python_env", config, preconfig,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs
    self.fail(f"fail to decode stdout: {out!r}")
AssertionError: fail to decode stdout: ''

======================================================================
FAIL: test_init_pyvenv_cfg (__main__.InitConfigTests.test_init_pyvenv_cfg)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs
    configs = json.loads(out)
              ^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1534, in test_init_pyvenv_cfg
    self.check_all_configs("test_init_compat_config", config,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs
    self.fail(f"fail to decode stdout: {out!r}")
AssertionError: fail to decode stdout: ''

======================================================================
FAIL: test_init_run_main (__main__.InitConfigTests.test_init_run_main)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1135, in test_init_run_main
    self.check_all_configs("test_init_run_main", config, api=API_PYTHON)
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 791, in check_all_configs
    out, err = self.run_embedded_interpreter(testname,
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 113, in run_embedded_interpreter
    self.assertEqual(p.returncode, returncode,
AssertionError: 1 != 0 : bad returncode 1, stderr is 'Traceback (most recent call last):\n  File "<string>", line 1, in <module>\nImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type\n  Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so\n  Expected in: flat namespace\n in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so\n'

======================================================================
FAIL: test_init_set_config (__main__.InitConfigTests.test_init_set_config)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1637, in test_init_set_config
    self.check_all_configs("test_init_set_config", config,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_setpath (__main__.InitConfigTests.test_init_setpath)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs
    configs = json.loads(out)
              ^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1213, in test_init_setpath
    self.check_all_configs("test_init_setpath", config,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs
    self.fail(f"fail to decode stdout: {out!r}")
AssertionError: fail to decode stdout: ''

======================================================================
FAIL: test_init_setpath_config (__main__.InitConfigTests.test_init_setpath_config)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 798, in check_all_configs
    configs = json.loads(out)
              ^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1239, in test_init_setpath_config
    self.check_all_configs("test_init_setpath_config", config,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 800, in check_all_configs
    self.fail(f"fail to decode stdout: {out!r}")
AssertionError: fail to decode stdout: ''

======================================================================
FAIL: test_init_setpythonhome (__main__.InitConfigTests.test_init_setpythonhome)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1327, in test_init_setpythonhome
    self.check_all_configs("test_init_setpythonhome", config,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_sys_add (__main__.InitConfigTests.test_init_sys_add)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1122, in test_init_sys_add
    self.check_all_configs("test_init_sys_add", config, api=API_PYTHON)
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_use_frozen_modules (__main__.InitConfigTests.test_init_use_frozen_modules) ['']
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1665, in test_init_use_frozen_modules
    self.check_all_configs("test_init_use_frozen_modules", config,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_use_frozen_modules (__main__.InitConfigTests.test_init_use_frozen_modules) ['=']
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1665, in test_init_use_frozen_modules
    self.check_all_configs("test_init_use_frozen_modules", config,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_use_frozen_modules (__main__.InitConfigTests.test_init_use_frozen_modules) ['=on']
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1665, in test_init_use_frozen_modules
    self.check_all_configs("test_init_use_frozen_modules", config,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_use_frozen_modules (__main__.InitConfigTests.test_init_use_frozen_modules) ['=off']
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1665, in test_init_use_frozen_modules
    self.check_all_configs("test_init_use_frozen_modules", config,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_init_warnoptions (__main__.InitConfigTests.test_init_warnoptions)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1628, in test_init_warnoptions
    self.check_all_configs("test_init_warnoptions", config, preconfig,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_preinit_compat_config (__main__.InitConfigTests.test_preinit_compat_config)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 811, in test_preinit_compat_config
    self.check_all_configs("test_preinit_compat_config", api=API_COMPAT)
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_preinit_dont_parse_argv (__main__.InitConfigTests.test_preinit_dont_parse_argv)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1036, in test_preinit_dont_parse_argv
    self.check_all_configs("test_preinit_dont_parse_argv", config, preconfig,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_preinit_isolated1 (__main__.InitConfigTests.test_preinit_isolated1)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1056, in test_preinit_isolated1
    self.check_all_configs("test_preinit_isolated1", config, api=API_COMPAT)
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_preinit_isolated2 (__main__.InitConfigTests.test_preinit_isolated2)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1066, in test_preinit_isolated2
    self.check_all_configs("test_preinit_isolated2", config, api=API_COMPAT)
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_preinit_isolated_config (__main__.InitConfigTests.test_preinit_isolated_config)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1069, in test_preinit_isolated_config
    self.check_all_configs("test_preinit_isolated_config", api=API_ISOLATED)
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_preinit_parse_argv (__main__.InitConfigTests.test_preinit_parse_argv)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1018, in test_preinit_parse_argv
    self.check_all_configs("test_preinit_parse_argv", config, preconfig,
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_preinit_python_config (__main__.InitConfigTests.test_preinit_python_config)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1075, in test_preinit_python_config
    self.check_all_configs("test_preinit_python_config", api=API_PYTHON)
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 796, in check_all_configs
    self.assertEqual(err.rstrip(), stderr)
AssertionError: 'Traceback (most recent call last):\n  Fil[484 chars]n.so' != ''
- Traceback (most recent call last):
-   File "<string>", line 1, in <module>
- ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
-   Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
-   Expected in: flat namespace
-  in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so


======================================================================
FAIL: test_frozenmain (__main__.MiscTests.test_frozenmain)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 1778, in test_frozenmain
    out, err = self.run_embedded_interpreter("test_frozenmain", env=env)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tera/tera/debo/Projects/Python/main/Lib/test/test_embed.py", line 113, in run_embedded_interpreter
    self.assertEqual(p.returncode, returncode,
AssertionError: 1 != 0 : bad returncode 1, stderr is 'Traceback (most recent call last):\n  File "test_frozenmain.py", line 5, in <module>\nImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type\n  Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so\n  Expected in: flat namespace\n in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so\n'

----------------------------------------------------------------------
Ran 69 tests in 4.401s

FAILED (failures=41, skipped=4)

@debohman
Copy link
Contributor Author

debohman commented Oct 9, 2023

And test_decimal:

% python.exe Lib/test/test_decimal.py 
-------------------------------------------------------- NOTICE --------------------------------------------------------
test_decimal may generate "malloc can't allocate region"
warnings on macOS systems. This behavior is known. Do not
report a bug unless tests are also failing.
See https://github.com/python/cpython/issues/85100
------------------------------------------------------------------------------------------------------------------------
test_addition (__main__.CArithmeticOperatorsTest.test_addition) ... ok
test_copy_sign (__main__.CArithmeticOperatorsTest.test_copy_sign) ... ok
test_division (__main__.CArithmeticOperatorsTest.test_division) ... ok
test_floor_div_module (__main__.CArithmeticOperatorsTest.test_floor_div_module) ... ok
test_floor_division (__main__.CArithmeticOperatorsTest.test_floor_division) ... ok
test_module (__main__.CArithmeticOperatorsTest.test_module) ... ok
test_multiplication (__main__.CArithmeticOperatorsTest.test_multiplication) ... ok
test_nan_comparisons (__main__.CArithmeticOperatorsTest.test_nan_comparisons) ... ok
test_powering (__main__.CArithmeticOperatorsTest.test_powering) ... ok
test_subtraction (__main__.CArithmeticOperatorsTest.test_subtraction) ... ok
test_unary_operators (__main__.CArithmeticOperatorsTest.test_unary_operators) ... ok
test__clamp (__main__.CContextAPItests.test__clamp) ... ok
test_abs (__main__.CContextAPItests.test_abs) ... ok
test_add (__main__.CContextAPItests.test_add) ... ok
test_compare (__main__.CContextAPItests.test_compare) ... ok
test_compare_signal (__main__.CContextAPItests.test_compare_signal) ... ok
test_compare_total (__main__.CContextAPItests.test_compare_total) ... ok
test_compare_total_mag (__main__.CContextAPItests.test_compare_total_mag) ... ok
test_copy (__main__.CContextAPItests.test_copy) ... ok
test_copy_abs (__main__.CContextAPItests.test_copy_abs) ... ok
test_copy_decimal (__main__.CContextAPItests.test_copy_decimal) ... ok
test_copy_negate (__main__.CContextAPItests.test_copy_negate) ... ok
test_copy_sign (__main__.CContextAPItests.test_copy_sign) ... ok
test_divide (__main__.CContextAPItests.test_divide) ... ok
test_divide_int (__main__.CContextAPItests.test_divide_int) ... ok
test_divmod (__main__.CContextAPItests.test_divmod) ... ok
test_equality_with_other_types (__main__.CContextAPItests.test_equality_with_other_types) ... ok
test_exp (__main__.CContextAPItests.test_exp) ... ok
test_fma (__main__.CContextAPItests.test_fma) ... ok
test_is_finite (__main__.CContextAPItests.test_is_finite) ... ok
test_is_infinite (__main__.CContextAPItests.test_is_infinite) ... ok
test_is_nan (__main__.CContextAPItests.test_is_nan) ... ok
test_is_normal (__main__.CContextAPItests.test_is_normal) ... ok
test_is_qnan (__main__.CContextAPItests.test_is_qnan) ... ok
test_is_signed (__main__.CContextAPItests.test_is_signed) ... ok
test_is_snan (__main__.CContextAPItests.test_is_snan) ... ok
test_is_subnormal (__main__.CContextAPItests.test_is_subnormal) ... ok
test_is_zero (__main__.CContextAPItests.test_is_zero) ... ok
test_ln (__main__.CContextAPItests.test_ln) ... ok
test_log10 (__main__.CContextAPItests.test_log10) ... ok
test_logb (__main__.CContextAPItests.test_logb) ... ok
test_logical_and (__main__.CContextAPItests.test_logical_and) ... ok
test_logical_invert (__main__.CContextAPItests.test_logical_invert) ... ok
test_logical_or (__main__.CContextAPItests.test_logical_or) ... ok
test_logical_xor (__main__.CContextAPItests.test_logical_xor) ... ok
test_max (__main__.CContextAPItests.test_max) ... ok
test_max_mag (__main__.CContextAPItests.test_max_mag) ... ok
test_min (__main__.CContextAPItests.test_min) ... ok
test_min_mag (__main__.CContextAPItests.test_min_mag) ... ok
test_minus (__main__.CContextAPItests.test_minus) ... ok
test_multiply (__main__.CContextAPItests.test_multiply) ... ok
test_next_minus (__main__.CContextAPItests.test_next_minus) ... ok
test_next_plus (__main__.CContextAPItests.test_next_plus) ... ok
test_next_toward (__main__.CContextAPItests.test_next_toward) ... ok
test_none_args (__main__.CContextAPItests.test_none_args) ... ok
test_normalize (__main__.CContextAPItests.test_normalize) ... ok
test_number_class (__main__.CContextAPItests.test_number_class) ... ok
test_pickle (__main__.CContextAPItests.test_pickle) ... ok
test_plus (__main__.CContextAPItests.test_plus) ... ok
test_power (__main__.CContextAPItests.test_power) ... ok
test_quantize (__main__.CContextAPItests.test_quantize) ... ok
test_remainder (__main__.CContextAPItests.test_remainder) ... ok
test_remainder_near (__main__.CContextAPItests.test_remainder_near) ... ok
test_rotate (__main__.CContextAPItests.test_rotate) ... ok
test_same_quantum (__main__.CContextAPItests.test_same_quantum) ... ok
test_scaleb (__main__.CContextAPItests.test_scaleb) ... ok
test_shift (__main__.CContextAPItests.test_shift) ... ok
test_sqrt (__main__.CContextAPItests.test_sqrt) ... ok
test_subtract (__main__.CContextAPItests.test_subtract) ... ok
test_to_eng_string (__main__.CContextAPItests.test_to_eng_string) ... ok
test_to_integral_exact (__main__.CContextAPItests.test_to_integral_exact) ... ok
test_to_integral_value (__main__.CContextAPItests.test_to_integral_value) ... ok
test_to_sci_string (__main__.CContextAPItests.test_to_sci_string) ... ok
test_flag_comparisons (__main__.CContextFlags.test_flag_comparisons) ... ok
test_flags_irrelevant (__main__.CContextFlags.test_flags_irrelevant) ... ok
test_float_comparison (__main__.CContextFlags.test_float_comparison) ... ok
test_float_operation (__main__.CContextFlags.test_float_operation) ... ok
test_float_operation_default (__main__.CContextFlags.test_float_operation_default) ... ok
test_invalid_context (__main__.CContextInputValidation.test_invalid_context) ... ok
test_context_subclassing (__main__.CContextSubclassing.test_context_subclassing) ... ok
test_local_context_kwargs_does_not_overwrite_existing_argument (__main__.CContextWithStatement.test_local_context_kwargs_does_not_overwrite_existing_argument) ... ok
test_localcontext (__main__.CContextWithStatement.test_localcontext) ... ok
test_localcontext_kwargs (__main__.CContextWithStatement.test_localcontext_kwargs) ... ok
test_localcontextarg (__main__.CContextWithStatement.test_localcontextarg) ... ok
test_nested_with_statements (__main__.CContextWithStatement.test_nested_with_statements) ... ok
test_with_statements_gc1 (__main__.CContextWithStatement.test_with_statements_gc1) ... ok
test_with_statements_gc2 (__main__.CContextWithStatement.test_with_statements_gc2) ... ok
test_with_statements_gc3 (__main__.CContextWithStatement.test_with_statements_gc3) ... ok
test_adjusted (__main__.CCoverage.test_adjusted) ... ok
test_canonical (__main__.CCoverage.test_canonical) ... ok
test_context_repr (__main__.CCoverage.test_context_repr) ... ok
test_copy (__main__.CCoverage.test_copy) ... ok
test_create_decimal (__main__.CCoverage.test_create_decimal) ... ok
test_divmod (__main__.CCoverage.test_divmod) ... ok
test_implicit_context (__main__.CCoverage.test_implicit_context) ... ok
test_int (__main__.CCoverage.test_int) ... ok
test_power (__main__.CCoverage.test_power) ... ok
test_quantize (__main__.CCoverage.test_quantize) ... ok
test_radix (__main__.CCoverage.test_radix) ... ok
test_rop (__main__.CCoverage.test_rop) ... ok
test_round (__main__.CCoverage.test_round) ... ok
test_explicit_context_create_decimal (__main__.CExplicitConstructionTest.test_explicit_context_create_decimal) ... ok
test_explicit_context_create_from_float (__main__.CExplicitConstructionTest.test_explicit_context_create_from_float) ... ok
test_explicit_empty (__main__.CExplicitConstructionTest.test_explicit_empty) ... ok
test_explicit_from_Decimal (__main__.CExplicitConstructionTest.test_explicit_from_Decimal) ... ok
test_explicit_from_None (__main__.CExplicitConstructionTest.test_explicit_from_None) ... ok
test_explicit_from_bool (__main__.CExplicitConstructionTest.test_explicit_from_bool) ... ok
test_explicit_from_float (__main__.CExplicitConstructionTest.test_explicit_from_float) ... ok
test_explicit_from_int (__main__.CExplicitConstructionTest.test_explicit_from_int) ... ok
test_explicit_from_list (__main__.CExplicitConstructionTest.test_explicit_from_list) ... ok
test_explicit_from_string (__main__.CExplicitConstructionTest.test_explicit_from_string) ... ok
test_explicit_from_tuples (__main__.CExplicitConstructionTest.test_explicit_from_tuples) ... ok
test_unicode_digits (__main__.CExplicitConstructionTest.test_unicode_digits) ... ok
test_decimal_from_float_argument_type (__main__.CFormatTest.test_decimal_from_float_argument_type) ... ok
test_deprecated_N_format (__main__.CFormatTest.test_deprecated_N_format) ... ok
test_formatting (__main__.CFormatTest.test_formatting) ... ok
test_n_format (__main__.CFormatTest.test_n_format) ... ok
test_negative_zero_bad_format (__main__.CFormatTest.test_negative_zero_bad_format) ... ok
test_negative_zero_format_directed_rounding (__main__.CFormatTest.test_negative_zero_format_directed_rounding) ... ok
test_wide_char_separator_decimal_point (__main__.CFormatTest.test_wide_char_separator_decimal_point) ... skipped "inappropriate decimal point separator ('.' not '\\u066b')"
test_c_context (__main__.CFunctionality.test_c_context) ... skipped 'test requires build with -DEXTRA_FUNCTIONALITY'
test_c_ieee_context (__main__.CFunctionality.test_c_ieee_context) ... skipped 'test requires build with -DEXTRA_FUNCTIONALITY'
test_constants (__main__.CFunctionality.test_constants) ... skipped 'test requires build with -DEXTRA_FUNCTIONALITY'
test_implicit_from_Decimal (__main__.CImplicitConstructionTest.test_implicit_from_Decimal) ... ok
test_implicit_from_None (__main__.CImplicitConstructionTest.test_implicit_from_None) ... ok
test_implicit_from_float (__main__.CImplicitConstructionTest.test_implicit_from_float) ... ok
test_implicit_from_int (__main__.CImplicitConstructionTest.test_implicit_from_int) ... ok
test_implicit_from_string (__main__.CImplicitConstructionTest.test_implicit_from_string) ... ok
test_rop (__main__.CImplicitConstructionTest.test_rop) ... ok
test_abc (__main__.CPythonAPItests.test_abc) ... ok
test_complex (__main__.CPythonAPItests.test_complex) ... ok
test_create_decimal_from_float (__main__.CPythonAPItests.test_create_decimal_from_float) ... ok
test_exception_hierarchy (__main__.CPythonAPItests.test_exception_hierarchy) ... ok
test_from_float (__main__.CPythonAPItests.test_from_float) ... ok
test_int (__main__.CPythonAPItests.test_int) ... ok
test_named_parameters (__main__.CPythonAPItests.test_named_parameters) ... ok
test_pickle (__main__.CPythonAPItests.test_pickle) ... ok
test_quantize (__main__.CPythonAPItests.test_quantize) ... ok
test_small_ints (__main__.CPythonAPItests.test_small_ints) ... ok
test_trunc (__main__.CPythonAPItests.test_trunc) ... ok
test_context_templates (__main__.CSpecialContexts.test_context_templates) ... ok
test_default_context (__main__.CSpecialContexts.test_default_context) ... ok
test_threading (__main__.CThreadingTest.test_threading) ... ok
test_as_integer_ratio (__main__.CUsabilityTest.test_as_integer_ratio) ... ok
test_as_nonzero (__main__.CUsabilityTest.test_as_nonzero) ... ok
test_as_tuple (__main__.CUsabilityTest.test_as_tuple) ... ok
test_comparison_operators (__main__.CUsabilityTest.test_comparison_operators) ... ok
test_conversions_from_int (__main__.CUsabilityTest.test_conversions_from_int) ... ok
test_copy_and_deepcopy_methods (__main__.CUsabilityTest.test_copy_and_deepcopy_methods) ... ok
test_decimal_complex_comparison (__main__.CUsabilityTest.test_decimal_complex_comparison) ... ok
test_decimal_float_comparison (__main__.CUsabilityTest.test_decimal_float_comparison) ... ok
test_decimal_fraction_comparison (__main__.CUsabilityTest.test_decimal_fraction_comparison) ... ok
test_eval_round_trip (__main__.CUsabilityTest.test_eval_round_trip) ... ok
test_hash_method (__main__.CUsabilityTest.test_hash_method) ... ok
test_hash_method_nan (__main__.CUsabilityTest.test_hash_method_nan) ... ok
test_implicit_context (__main__.CUsabilityTest.test_implicit_context) ... ok
test_min_and_max_methods (__main__.CUsabilityTest.test_min_and_max_methods) ... ok
test_nan_to_float (__main__.CUsabilityTest.test_nan_to_float) ... ok
test_none_args (__main__.CUsabilityTest.test_none_args) ... ok
test_snan_to_float (__main__.CUsabilityTest.test_snan_to_float) ... ok
test_subclassing (__main__.CUsabilityTest.test_subclassing) ... ok
test_tonum_methods (__main__.CUsabilityTest.test_tonum_methods) ... ok
test_tostring_methods (__main__.CUsabilityTest.test_tostring_methods) ... ok
test_bignum (__main__.CWhitebox.test_bignum) ... ok
test_c_context_errors (__main__.CWhitebox.test_c_context_errors) ... ok
test_c_context_errors_extra (__main__.CWhitebox.test_c_context_errors_extra) ... skipped 'test requires build with -DEXTRA_FUNCTIONALITY'
test_c_context_repr (__main__.CWhitebox.test_c_context_repr) ... ok
test_c_context_templates (__main__.CWhitebox.test_c_context_templates) ... skipped 'test requires build with -DEXTRA_FUNCTIONALITY'
test_c_disallow_instantiation (__main__.CWhitebox.test_c_disallow_instantiation) ... ok
test_c_format (__main__.CWhitebox.test_c_format) ... ok
test_c_funcs (__main__.CWhitebox.test_c_funcs) ... ok
test_c_immutable_types (__main__.CWhitebox.test_c_immutable_types) ... ok
test_c_input_restriction (__main__.CWhitebox.test_c_input_restriction) ... ok
test_c_integral (__main__.CWhitebox.test_c_integral) ... ok
test_c_round (__main__.CWhitebox.test_c_round) ... ok
test_c_signal_dict (__main__.CWhitebox.test_c_signal_dict) ... skipped 'test requires build with -DEXTRA_FUNCTIONALITY'
test_c_signaldict_segfault (__main__.CWhitebox.test_c_signaldict_segfault) ... ok
test_c_valid_context (__main__.CWhitebox.test_c_valid_context) ... ok
test_c_valid_context_extra (__main__.CWhitebox.test_c_valid_context_extra) ... skipped 'test requires build with -DEXTRA_FUNCTIONALITY'
test_exact_conversion (__main__.CWhitebox.test_exact_conversion) ... ok
test_from_tuple (__main__.CWhitebox.test_from_tuple) ... ok
test_internal_use_of_overridden_methods (__main__.CWhitebox.test_internal_use_of_overridden_methods) ... ok
test_invalid_construction (__main__.CWhitebox.test_invalid_construction) ... ok
test_invalid_override (__main__.CWhitebox.test_invalid_override) ... ok
test_maxcontext_exact_arith (__main__.CWhitebox.test_maxcontext_exact_arith) ... python.exe(39806,0x7fffa28f43c0) malloc: *** mach_vm_map(size=842105263157895168) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
python.exe(39806,0x7fffa28f43c0) malloc: *** mach_vm_map(size=842105263157895168) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
python.exe(39806,0x7fffa28f43c0) malloc: *** mach_vm_map(size=421052631578947584) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
python.exe(39806,0x7fffa28f43c0) malloc: *** mach_vm_map(size=421052631578947584) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
ok
test_rounding_strings_interned (__main__.CWhitebox.test_rounding_strings_interned) ... ok
test_sizeof (__main__.CWhitebox.test_sizeof) ... ok
test_va_args_exceptions (__main__.CWhitebox.test_va_args_exceptions) ... ok
test_context_attributes (__main__.CheckAttributes.test_context_attributes) ... ok
test_decimal_attributes (__main__.CheckAttributes.test_decimal_attributes) ... ok
test_module_attributes (__main__.CheckAttributes.test_module_attributes) ... ok
test_addition (__main__.PyArithmeticOperatorsTest.test_addition) ... ok
test_copy_sign (__main__.PyArithmeticOperatorsTest.test_copy_sign) ... ok
test_division (__main__.PyArithmeticOperatorsTest.test_division) ... ok
test_floor_div_module (__main__.PyArithmeticOperatorsTest.test_floor_div_module) ... ok
test_floor_division (__main__.PyArithmeticOperatorsTest.test_floor_division) ... ok
test_module (__main__.PyArithmeticOperatorsTest.test_module) ... ok
test_multiplication (__main__.PyArithmeticOperatorsTest.test_multiplication) ... ok
test_nan_comparisons (__main__.PyArithmeticOperatorsTest.test_nan_comparisons) ... ok
test_powering (__main__.PyArithmeticOperatorsTest.test_powering) ... ok
test_subtraction (__main__.PyArithmeticOperatorsTest.test_subtraction) ... ok
test_unary_operators (__main__.PyArithmeticOperatorsTest.test_unary_operators) ... ok
test__clamp (__main__.PyContextAPItests.test__clamp) ... ok
test_abs (__main__.PyContextAPItests.test_abs) ... ok
test_add (__main__.PyContextAPItests.test_add) ... ok
test_compare (__main__.PyContextAPItests.test_compare) ... ok
test_compare_signal (__main__.PyContextAPItests.test_compare_signal) ... ok
test_compare_total (__main__.PyContextAPItests.test_compare_total) ... ok
test_compare_total_mag (__main__.PyContextAPItests.test_compare_total_mag) ... ok
test_copy (__main__.PyContextAPItests.test_copy) ... ok
test_copy_abs (__main__.PyContextAPItests.test_copy_abs) ... ok
test_copy_decimal (__main__.PyContextAPItests.test_copy_decimal) ... ok
test_copy_negate (__main__.PyContextAPItests.test_copy_negate) ... ok
test_copy_sign (__main__.PyContextAPItests.test_copy_sign) ... ok
test_divide (__main__.PyContextAPItests.test_divide) ... ok
test_divide_int (__main__.PyContextAPItests.test_divide_int) ... ok
test_divmod (__main__.PyContextAPItests.test_divmod) ... ok
test_equality_with_other_types (__main__.PyContextAPItests.test_equality_with_other_types) ... ok
test_exp (__main__.PyContextAPItests.test_exp) ... ok
test_fma (__main__.PyContextAPItests.test_fma) ... ok
test_is_finite (__main__.PyContextAPItests.test_is_finite) ... ok
test_is_infinite (__main__.PyContextAPItests.test_is_infinite) ... ok
test_is_nan (__main__.PyContextAPItests.test_is_nan) ... ok
test_is_normal (__main__.PyContextAPItests.test_is_normal) ... ok
test_is_qnan (__main__.PyContextAPItests.test_is_qnan) ... ok
test_is_signed (__main__.PyContextAPItests.test_is_signed) ... ok
test_is_snan (__main__.PyContextAPItests.test_is_snan) ... ok
test_is_subnormal (__main__.PyContextAPItests.test_is_subnormal) ... ok
test_is_zero (__main__.PyContextAPItests.test_is_zero) ... ok
test_ln (__main__.PyContextAPItests.test_ln) ... ok
test_log10 (__main__.PyContextAPItests.test_log10) ... ok
test_logb (__main__.PyContextAPItests.test_logb) ... ok
test_logical_and (__main__.PyContextAPItests.test_logical_and) ... ok
test_logical_invert (__main__.PyContextAPItests.test_logical_invert) ... ok
test_logical_or (__main__.PyContextAPItests.test_logical_or) ... ok
test_logical_xor (__main__.PyContextAPItests.test_logical_xor) ... ok
test_max (__main__.PyContextAPItests.test_max) ... ok
test_max_mag (__main__.PyContextAPItests.test_max_mag) ... ok
test_min (__main__.PyContextAPItests.test_min) ... ok
test_min_mag (__main__.PyContextAPItests.test_min_mag) ... ok
test_minus (__main__.PyContextAPItests.test_minus) ... ok
test_multiply (__main__.PyContextAPItests.test_multiply) ... ok
test_next_minus (__main__.PyContextAPItests.test_next_minus) ... ok
test_next_plus (__main__.PyContextAPItests.test_next_plus) ... ok
test_next_toward (__main__.PyContextAPItests.test_next_toward) ... ok
test_none_args (__main__.PyContextAPItests.test_none_args) ... ok
test_normalize (__main__.PyContextAPItests.test_normalize) ... ok
test_number_class (__main__.PyContextAPItests.test_number_class) ... ok
test_pickle (__main__.PyContextAPItests.test_pickle) ... ok
test_plus (__main__.PyContextAPItests.test_plus) ... ok
test_power (__main__.PyContextAPItests.test_power) ... ok
test_quantize (__main__.PyContextAPItests.test_quantize) ... ok
test_remainder (__main__.PyContextAPItests.test_remainder) ... ok
test_remainder_near (__main__.PyContextAPItests.test_remainder_near) ... ok
test_rotate (__main__.PyContextAPItests.test_rotate) ... ok
test_same_quantum (__main__.PyContextAPItests.test_same_quantum) ... ok
test_scaleb (__main__.PyContextAPItests.test_scaleb) ... ok
test_shift (__main__.PyContextAPItests.test_shift) ... ok
test_sqrt (__main__.PyContextAPItests.test_sqrt) ... ok
test_subtract (__main__.PyContextAPItests.test_subtract) ... ok
test_to_eng_string (__main__.PyContextAPItests.test_to_eng_string) ... ok
test_to_integral_exact (__main__.PyContextAPItests.test_to_integral_exact) ... ok
test_to_integral_value (__main__.PyContextAPItests.test_to_integral_value) ... ok
test_to_sci_string (__main__.PyContextAPItests.test_to_sci_string) ... ok
test_flag_comparisons (__main__.PyContextFlags.test_flag_comparisons) ... ok
test_flags_irrelevant (__main__.PyContextFlags.test_flags_irrelevant) ... ok
test_float_comparison (__main__.PyContextFlags.test_float_comparison) ... ok
test_float_operation (__main__.PyContextFlags.test_float_operation) ... ok
test_float_operation_default (__main__.PyContextFlags.test_float_operation_default) ... ok
test_invalid_context (__main__.PyContextInputValidation.test_invalid_context) ... ok
test_context_subclassing (__main__.PyContextSubclassing.test_context_subclassing) ... ok
test_local_context_kwargs_does_not_overwrite_existing_argument (__main__.PyContextWithStatement.test_local_context_kwargs_does_not_overwrite_existing_argument) ... ok
test_localcontext (__main__.PyContextWithStatement.test_localcontext) ... ok
test_localcontext_kwargs (__main__.PyContextWithStatement.test_localcontext_kwargs) ... ok
test_localcontextarg (__main__.PyContextWithStatement.test_localcontextarg) ... ok
test_nested_with_statements (__main__.PyContextWithStatement.test_nested_with_statements) ... ok
test_with_statements_gc1 (__main__.PyContextWithStatement.test_with_statements_gc1) ... ok
test_with_statements_gc2 (__main__.PyContextWithStatement.test_with_statements_gc2) ... ok
test_with_statements_gc3 (__main__.PyContextWithStatement.test_with_statements_gc3) ... ok
test_adjusted (__main__.PyCoverage.test_adjusted) ... ok
test_canonical (__main__.PyCoverage.test_canonical) ... ok
test_context_repr (__main__.PyCoverage.test_context_repr) ... ok
test_copy (__main__.PyCoverage.test_copy) ... ok
test_create_decimal (__main__.PyCoverage.test_create_decimal) ... ok
test_divmod (__main__.PyCoverage.test_divmod) ... ok
test_implicit_context (__main__.PyCoverage.test_implicit_context) ... ok
test_int (__main__.PyCoverage.test_int) ... ok
test_power (__main__.PyCoverage.test_power) ... ok
test_quantize (__main__.PyCoverage.test_quantize) ... ok
test_radix (__main__.PyCoverage.test_radix) ... ok
test_rop (__main__.PyCoverage.test_rop) ... ok
test_round (__main__.PyCoverage.test_round) ... ok
test_explicit_context_create_decimal (__main__.PyExplicitConstructionTest.test_explicit_context_create_decimal) ... ok
test_explicit_context_create_from_float (__main__.PyExplicitConstructionTest.test_explicit_context_create_from_float) ... ok
test_explicit_empty (__main__.PyExplicitConstructionTest.test_explicit_empty) ... ok
test_explicit_from_Decimal (__main__.PyExplicitConstructionTest.test_explicit_from_Decimal) ... ok
test_explicit_from_None (__main__.PyExplicitConstructionTest.test_explicit_from_None) ... ok
test_explicit_from_bool (__main__.PyExplicitConstructionTest.test_explicit_from_bool) ... ok
test_explicit_from_float (__main__.PyExplicitConstructionTest.test_explicit_from_float) ... ok
test_explicit_from_int (__main__.PyExplicitConstructionTest.test_explicit_from_int) ... ok
test_explicit_from_list (__main__.PyExplicitConstructionTest.test_explicit_from_list) ... ok
test_explicit_from_string (__main__.PyExplicitConstructionTest.test_explicit_from_string) ... ok
test_explicit_from_tuples (__main__.PyExplicitConstructionTest.test_explicit_from_tuples) ... ok
test_unicode_digits (__main__.PyExplicitConstructionTest.test_unicode_digits) ... ok
test_decimal_from_float_argument_type (__main__.PyFormatTest.test_decimal_from_float_argument_type) ... ok
test_deprecated_N_format (__main__.PyFormatTest.test_deprecated_N_format) ... ok
test_formatting (__main__.PyFormatTest.test_formatting) ... ok
test_n_format (__main__.PyFormatTest.test_n_format) ... ok
test_negative_zero_bad_format (__main__.PyFormatTest.test_negative_zero_bad_format) ... ok
test_negative_zero_format_directed_rounding (__main__.PyFormatTest.test_negative_zero_format_directed_rounding) ... ok
test_wide_char_separator_decimal_point (__main__.PyFormatTest.test_wide_char_separator_decimal_point) ... skipped "inappropriate decimal point separator ('.' not '\\u066b')"
test_py_alternate_formatting (__main__.PyFunctionality.test_py_alternate_formatting) ... ok
test_implicit_from_Decimal (__main__.PyImplicitConstructionTest.test_implicit_from_Decimal) ... ok
test_implicit_from_None (__main__.PyImplicitConstructionTest.test_implicit_from_None) ... ok
test_implicit_from_float (__main__.PyImplicitConstructionTest.test_implicit_from_float) ... ok
test_implicit_from_int (__main__.PyImplicitConstructionTest.test_implicit_from_int) ... ok
test_implicit_from_string (__main__.PyImplicitConstructionTest.test_implicit_from_string) ... ok
test_rop (__main__.PyImplicitConstructionTest.test_rop) ... ok
test_abc (__main__.PyPythonAPItests.test_abc) ... ok
test_complex (__main__.PyPythonAPItests.test_complex) ... ok
test_create_decimal_from_float (__main__.PyPythonAPItests.test_create_decimal_from_float) ... ok
test_exception_hierarchy (__main__.PyPythonAPItests.test_exception_hierarchy) ... ok
test_from_float (__main__.PyPythonAPItests.test_from_float) ... ok
test_int (__main__.PyPythonAPItests.test_int) ... ok
test_named_parameters (__main__.PyPythonAPItests.test_named_parameters) ... ok
test_pickle (__main__.PyPythonAPItests.test_pickle) ... ok
test_quantize (__main__.PyPythonAPItests.test_quantize) ... ok
test_small_ints (__main__.PyPythonAPItests.test_small_ints) ... ok
test_trunc (__main__.PyPythonAPItests.test_trunc) ... ok
test_context_templates (__main__.PySpecialContexts.test_context_templates) ... ok
test_default_context (__main__.PySpecialContexts.test_default_context) ... ok
test_threading (__main__.PyThreadingTest.test_threading) ... ok
test_as_integer_ratio (__main__.PyUsabilityTest.test_as_integer_ratio) ... ok
test_as_nonzero (__main__.PyUsabilityTest.test_as_nonzero) ... ok
test_as_tuple (__main__.PyUsabilityTest.test_as_tuple) ... ok
test_comparison_operators (__main__.PyUsabilityTest.test_comparison_operators) ... ok
test_conversions_from_int (__main__.PyUsabilityTest.test_conversions_from_int) ... ok
test_copy_and_deepcopy_methods (__main__.PyUsabilityTest.test_copy_and_deepcopy_methods) ... ok
test_decimal_complex_comparison (__main__.PyUsabilityTest.test_decimal_complex_comparison) ... ok
test_decimal_float_comparison (__main__.PyUsabilityTest.test_decimal_float_comparison) ... ok
test_decimal_fraction_comparison (__main__.PyUsabilityTest.test_decimal_fraction_comparison) ... ok
test_eval_round_trip (__main__.PyUsabilityTest.test_eval_round_trip) ... ok
test_hash_method (__main__.PyUsabilityTest.test_hash_method) ... ok
test_hash_method_nan (__main__.PyUsabilityTest.test_hash_method_nan) ... ok
test_implicit_context (__main__.PyUsabilityTest.test_implicit_context) ... ok
test_min_and_max_methods (__main__.PyUsabilityTest.test_min_and_max_methods) ... ok
test_nan_to_float (__main__.PyUsabilityTest.test_nan_to_float) ... ok
test_none_args (__main__.PyUsabilityTest.test_none_args) ... ok
test_snan_to_float (__main__.PyUsabilityTest.test_snan_to_float) ... ok
test_subclassing (__main__.PyUsabilityTest.test_subclassing) ... ok
test_tonum_methods (__main__.PyUsabilityTest.test_tonum_methods) ... ok
test_tostring_methods (__main__.PyUsabilityTest.test_tostring_methods) ... ok
test_py__round (__main__.PyWhitebox.test_py__round) ... ok
test_py_decimal_id (__main__.PyWhitebox.test_py_decimal_id) ... ok
test_py_exact_power (__main__.PyWhitebox.test_py_exact_power) ... ok
test_py_immutability_operations (__main__.PyWhitebox.test_py_immutability_operations) ... ok
test_py_rescale (__main__.PyWhitebox.test_py_rescale) ... ok
test_inspect_module (__main__.SignatureTest.test_inspect_module) ... ok
test_inspect_types (__main__.SignatureTest.test_inspect_types) ... ok
test_abs (__main__.CIBMTestCases.test_abs) ... ok
test_add (__main__.CIBMTestCases.test_add) ... ok
test_and (__main__.CIBMTestCases.test_and) ... ok
test_base (__main__.CIBMTestCases.test_base) ... ok
test_clamp (__main__.CIBMTestCases.test_clamp) ... ok
test_class (__main__.CIBMTestCases.test_class) ... ok
test_compare (__main__.CIBMTestCases.test_compare) ... ok
test_comparetotal (__main__.CIBMTestCases.test_comparetotal) ... ok
test_comparetotmag (__main__.CIBMTestCases.test_comparetotmag) ... ok
test_copy (__main__.CIBMTestCases.test_copy) ... ok
test_copyabs (__main__.CIBMTestCases.test_copyabs) ... ok
test_copynegate (__main__.CIBMTestCases.test_copynegate) ... ok
test_copysign (__main__.CIBMTestCases.test_copysign) ... ok
test_ddAbs (__main__.CIBMTestCases.test_ddAbs) ... ok
test_ddAdd (__main__.CIBMTestCases.test_ddAdd) ... ok
test_ddAnd (__main__.CIBMTestCases.test_ddAnd) ... ok
test_ddBase (__main__.CIBMTestCases.test_ddBase) ... ok
test_ddCanonical (__main__.CIBMTestCases.test_ddCanonical) ... ok
test_ddClass (__main__.CIBMTestCases.test_ddClass) ... ok
test_ddCompare (__main__.CIBMTestCases.test_ddCompare) ... ok
test_ddCompareSig (__main__.CIBMTestCases.test_ddCompareSig) ... ok
test_ddCompareTotal (__main__.CIBMTestCases.test_ddCompareTotal) ... ok
test_ddCompareTotalMag (__main__.CIBMTestCases.test_ddCompareTotalMag) ... ok
test_ddCopy (__main__.CIBMTestCases.test_ddCopy) ... ok
test_ddCopyAbs (__main__.CIBMTestCases.test_ddCopyAbs) ... ok
test_ddCopyNegate (__main__.CIBMTestCases.test_ddCopyNegate) ... ok
test_ddCopySign (__main__.CIBMTestCases.test_ddCopySign) ... ok
test_ddDivide (__main__.CIBMTestCases.test_ddDivide) ... ok
test_ddDivideInt (__main__.CIBMTestCases.test_ddDivideInt) ... ok
test_ddEncode (__main__.CIBMTestCases.test_ddEncode) ... ok
test_ddFMA (__main__.CIBMTestCases.test_ddFMA) ... ok
test_ddInvert (__main__.CIBMTestCases.test_ddInvert) ... ok
test_ddLogB (__main__.CIBMTestCases.test_ddLogB) ... ok
test_ddMax (__main__.CIBMTestCases.test_ddMax) ... ok
test_ddMaxMag (__main__.CIBMTestCases.test_ddMaxMag) ... ok
test_ddMin (__main__.CIBMTestCases.test_ddMin) ... ok
test_ddMinMag (__main__.CIBMTestCases.test_ddMinMag) ... ok
test_ddMinus (__main__.CIBMTestCases.test_ddMinus) ... ok
test_ddMultiply (__main__.CIBMTestCases.test_ddMultiply) ... ok
test_ddNextMinus (__main__.CIBMTestCases.test_ddNextMinus) ... ok
test_ddNextPlus (__main__.CIBMTestCases.test_ddNextPlus) ... ok
test_ddNextToward (__main__.CIBMTestCases.test_ddNextToward) ... ok
test_ddOr (__main__.CIBMTestCases.test_ddOr) ... ok
test_ddPlus (__main__.CIBMTestCases.test_ddPlus) ... ok
test_ddQuantize (__main__.CIBMTestCases.test_ddQuantize) ... ok
test_ddReduce (__main__.CIBMTestCases.test_ddReduce) ... ok
test_ddRemainder (__main__.CIBMTestCases.test_ddRemainder) ... ok
test_ddRemainderNear (__main__.CIBMTestCases.test_ddRemainderNear) ... ok
test_ddRotate (__main__.CIBMTestCases.test_ddRotate) ... ok
test_ddSameQuantum (__main__.CIBMTestCases.test_ddSameQuantum) ... ok
test_ddScaleB (__main__.CIBMTestCases.test_ddScaleB) ... ok
test_ddShift (__main__.CIBMTestCases.test_ddShift) ... ok
test_ddSubtract (__main__.CIBMTestCases.test_ddSubtract) ... ok
test_ddToIntegral (__main__.CIBMTestCases.test_ddToIntegral) ... ok
test_ddXor (__main__.CIBMTestCases.test_ddXor) ... ok
test_decDouble (__main__.CIBMTestCases.test_decDouble) ... ok
test_decQuad (__main__.CIBMTestCases.test_decQuad) ... ok
test_decSingle (__main__.CIBMTestCases.test_decSingle) ... ok
test_divide (__main__.CIBMTestCases.test_divide) ... ok
test_divideint (__main__.CIBMTestCases.test_divideint) ... ok
test_dqAbs (__main__.CIBMTestCases.test_dqAbs) ... ok
test_dqAdd (__main__.CIBMTestCases.test_dqAdd) ... ok
test_dqAnd (__main__.CIBMTestCases.test_dqAnd) ... ok
test_dqBase (__main__.CIBMTestCases.test_dqBase) ... ok
test_dqCanonical (__main__.CIBMTestCases.test_dqCanonical) ... ok
test_dqClass (__main__.CIBMTestCases.test_dqClass) ... ok
test_dqCompare (__main__.CIBMTestCases.test_dqCompare) ... ok
test_dqCompareSig (__main__.CIBMTestCases.test_dqCompareSig) ... ok
test_dqCompareTotal (__main__.CIBMTestCases.test_dqCompareTotal) ... ok
test_dqCompareTotalMag (__main__.CIBMTestCases.test_dqCompareTotalMag) ... ok
test_dqCopy (__main__.CIBMTestCases.test_dqCopy) ... ok
test_dqCopyAbs (__main__.CIBMTestCases.test_dqCopyAbs) ... ok
test_dqCopyNegate (__main__.CIBMTestCases.test_dqCopyNegate) ... ok
test_dqCopySign (__main__.CIBMTestCases.test_dqCopySign) ... ok
test_dqDivide (__main__.CIBMTestCases.test_dqDivide) ... ok
test_dqDivideInt (__main__.CIBMTestCases.test_dqDivideInt) ... ok
test_dqEncode (__main__.CIBMTestCases.test_dqEncode) ... ok
test_dqFMA (__main__.CIBMTestCases.test_dqFMA) ... ok
test_dqInvert (__main__.CIBMTestCases.test_dqInvert) ... ok
test_dqLogB (__main__.CIBMTestCases.test_dqLogB) ... ok
test_dqMax (__main__.CIBMTestCases.test_dqMax) ... ok
test_dqMaxMag (__main__.CIBMTestCases.test_dqMaxMag) ... ok
test_dqMin (__main__.CIBMTestCases.test_dqMin) ... ok
test_dqMinMag (__main__.CIBMTestCases.test_dqMinMag) ... ok
test_dqMinus (__main__.CIBMTestCases.test_dqMinus) ... ok
test_dqMultiply (__main__.CIBMTestCases.test_dqMultiply) ... ok
test_dqNextMinus (__main__.CIBMTestCases.test_dqNextMinus) ... ok
test_dqNextPlus (__main__.CIBMTestCases.test_dqNextPlus) ... ok
test_dqNextToward (__main__.CIBMTestCases.test_dqNextToward) ... ok
test_dqOr (__main__.CIBMTestCases.test_dqOr) ... ok
test_dqPlus (__main__.CIBMTestCases.test_dqPlus) ... ok
test_dqQuantize (__main__.CIBMTestCases.test_dqQuantize) ... ok
test_dqReduce (__main__.CIBMTestCases.test_dqReduce) ... ok
test_dqRemainder (__main__.CIBMTestCases.test_dqRemainder) ... ok
test_dqRemainderNear (__main__.CIBMTestCases.test_dqRemainderNear) ... ok
test_dqRotate (__main__.CIBMTestCases.test_dqRotate) ... ok
test_dqSameQuantum (__main__.CIBMTestCases.test_dqSameQuantum) ... ok
test_dqScaleB (__main__.CIBMTestCases.test_dqScaleB) ... ok
test_dqShift (__main__.CIBMTestCases.test_dqShift) ... ok
test_dqSubtract (__main__.CIBMTestCases.test_dqSubtract) ... ok
test_dqToIntegral (__main__.CIBMTestCases.test_dqToIntegral) ... ok
test_dqXor (__main__.CIBMTestCases.test_dqXor) ... ok
test_dsBase (__main__.CIBMTestCases.test_dsBase) ... ok
test_dsEncode (__main__.CIBMTestCases.test_dsEncode) ... ok
test_exp (__main__.CIBMTestCases.test_exp) ... ok
test_extra (__main__.CIBMTestCases.test_extra) ... ok
test_fma (__main__.CIBMTestCases.test_fma) ... ok
test_inexact (__main__.CIBMTestCases.test_inexact) ... ok
test_invert (__main__.CIBMTestCases.test_invert) ... ok
test_ln (__main__.CIBMTestCases.test_ln) ... ok
test_log10 (__main__.CIBMTestCases.test_log10) ... ok
test_logb (__main__.CIBMTestCases.test_logb) ... ok
test_max (__main__.CIBMTestCases.test_max) ... ok
test_maxmag (__main__.CIBMTestCases.test_maxmag) ... ok
test_min (__main__.CIBMTestCases.test_min) ... ok
test_minmag (__main__.CIBMTestCases.test_minmag) ... ok
test_minus (__main__.CIBMTestCases.test_minus) ... ok
test_multiply (__main__.CIBMTestCases.test_multiply) ... ok
test_nextminus (__main__.CIBMTestCases.test_nextminus) ... ok
test_nextplus (__main__.CIBMTestCases.test_nextplus) ... ok
test_nexttoward (__main__.CIBMTestCases.test_nexttoward) ... ok
test_or (__main__.CIBMTestCases.test_or) ... ok
test_plus (__main__.CIBMTestCases.test_plus) ... ok
test_power (__main__.CIBMTestCases.test_power) ... ok
test_powersqrt (__main__.CIBMTestCases.test_powersqrt) ... ok
test_quantize (__main__.CIBMTestCases.test_quantize) ... ok
test_randomBound32 (__main__.CIBMTestCases.test_randomBound32) ... ok
test_randoms (__main__.CIBMTestCases.test_randoms) ... ok
test_reduce (__main__.CIBMTestCases.test_reduce) ... ok
test_remainder (__main__.CIBMTestCases.test_remainder) ... ok
test_remainderNear (__main__.CIBMTestCases.test_remainderNear) ... ok
test_rescale (__main__.CIBMTestCases.test_rescale) ... ok
test_rotate (__main__.CIBMTestCases.test_rotate) ... ok
test_rounding (__main__.CIBMTestCases.test_rounding) ... ok
test_samequantum (__main__.CIBMTestCases.test_samequantum) ... ok
test_scaleb (__main__.CIBMTestCases.test_scaleb) ... ok
test_shift (__main__.CIBMTestCases.test_shift) ... ok
test_squareroot (__main__.CIBMTestCases.test_squareroot) ... ok
test_subtract (__main__.CIBMTestCases.test_subtract) ... ok
test_testall (__main__.CIBMTestCases.test_testall) ... ok
test_tointegral (__main__.CIBMTestCases.test_tointegral) ... ok
test_tointegralx (__main__.CIBMTestCases.test_tointegralx) ... ok
test_xor (__main__.CIBMTestCases.test_xor) ... ok
test_abs (__main__.PyIBMTestCases.test_abs) ... ok
test_add (__main__.PyIBMTestCases.test_add) ... ok
test_and (__main__.PyIBMTestCases.test_and) ... ok
test_base (__main__.PyIBMTestCases.test_base) ... ok
test_clamp (__main__.PyIBMTestCases.test_clamp) ... ok
test_class (__main__.PyIBMTestCases.test_class) ... ok
test_compare (__main__.PyIBMTestCases.test_compare) ... ok
test_comparetotal (__main__.PyIBMTestCases.test_comparetotal) ... ok
test_comparetotmag (__main__.PyIBMTestCases.test_comparetotmag) ... ok
test_copy (__main__.PyIBMTestCases.test_copy) ... ok
test_copyabs (__main__.PyIBMTestCases.test_copyabs) ... ok
test_copynegate (__main__.PyIBMTestCases.test_copynegate) ... ok
test_copysign (__main__.PyIBMTestCases.test_copysign) ... ok
test_ddAbs (__main__.PyIBMTestCases.test_ddAbs) ... ok
test_ddAdd (__main__.PyIBMTestCases.test_ddAdd) ... ok
test_ddAnd (__main__.PyIBMTestCases.test_ddAnd) ... ok
test_ddBase (__main__.PyIBMTestCases.test_ddBase) ... ok
test_ddCanonical (__main__.PyIBMTestCases.test_ddCanonical) ... ok
test_ddClass (__main__.PyIBMTestCases.test_ddClass) ... ok
test_ddCompare (__main__.PyIBMTestCases.test_ddCompare) ... ok
test_ddCompareSig (__main__.PyIBMTestCases.test_ddCompareSig) ... ok
test_ddCompareTotal (__main__.PyIBMTestCases.test_ddCompareTotal) ... ok
test_ddCompareTotalMag (__main__.PyIBMTestCases.test_ddCompareTotalMag) ... ok
test_ddCopy (__main__.PyIBMTestCases.test_ddCopy) ... ok
test_ddCopyAbs (__main__.PyIBMTestCases.test_ddCopyAbs) ... ok
test_ddCopyNegate (__main__.PyIBMTestCases.test_ddCopyNegate) ... ok
test_ddCopySign (__main__.PyIBMTestCases.test_ddCopySign) ... ok
test_ddDivide (__main__.PyIBMTestCases.test_ddDivide) ... ok
test_ddDivideInt (__main__.PyIBMTestCases.test_ddDivideInt) ... ok
test_ddEncode (__main__.PyIBMTestCases.test_ddEncode) ... ok
test_ddFMA (__main__.PyIBMTestCases.test_ddFMA) ... ok
test_ddInvert (__main__.PyIBMTestCases.test_ddInvert) ... ok
test_ddLogB (__main__.PyIBMTestCases.test_ddLogB) ... ok
test_ddMax (__main__.PyIBMTestCases.test_ddMax) ... ok
test_ddMaxMag (__main__.PyIBMTestCases.test_ddMaxMag) ... ok
test_ddMin (__main__.PyIBMTestCases.test_ddMin) ... ok
test_ddMinMag (__main__.PyIBMTestCases.test_ddMinMag) ... ok
test_ddMinus (__main__.PyIBMTestCases.test_ddMinus) ... ok
test_ddMultiply (__main__.PyIBMTestCases.test_ddMultiply) ... ok
test_ddNextMinus (__main__.PyIBMTestCases.test_ddNextMinus) ... ok
test_ddNextPlus (__main__.PyIBMTestCases.test_ddNextPlus) ... ok
test_ddNextToward (__main__.PyIBMTestCases.test_ddNextToward) ... ok
test_ddOr (__main__.PyIBMTestCases.test_ddOr) ... ok
test_ddPlus (__main__.PyIBMTestCases.test_ddPlus) ... ok
test_ddQuantize (__main__.PyIBMTestCases.test_ddQuantize) ... ok
test_ddReduce (__main__.PyIBMTestCases.test_ddReduce) ... ok
test_ddRemainder (__main__.PyIBMTestCases.test_ddRemainder) ... ok
test_ddRemainderNear (__main__.PyIBMTestCases.test_ddRemainderNear) ... ok
test_ddRotate (__main__.PyIBMTestCases.test_ddRotate) ... ok
test_ddSameQuantum (__main__.PyIBMTestCases.test_ddSameQuantum) ... ok
test_ddScaleB (__main__.PyIBMTestCases.test_ddScaleB) ... ok
test_ddShift (__main__.PyIBMTestCases.test_ddShift) ... ok
test_ddSubtract (__main__.PyIBMTestCases.test_ddSubtract) ... ok
test_ddToIntegral (__main__.PyIBMTestCases.test_ddToIntegral) ... ok
test_ddXor (__main__.PyIBMTestCases.test_ddXor) ... ok
test_decDouble (__main__.PyIBMTestCases.test_decDouble) ... ok
test_decQuad (__main__.PyIBMTestCases.test_decQuad) ... ok
test_decSingle (__main__.PyIBMTestCases.test_decSingle) ... ok
test_divide (__main__.PyIBMTestCases.test_divide) ... ok
test_divideint (__main__.PyIBMTestCases.test_divideint) ... ok
test_dqAbs (__main__.PyIBMTestCases.test_dqAbs) ... ok
test_dqAdd (__main__.PyIBMTestCases.test_dqAdd) ... ok
test_dqAnd (__main__.PyIBMTestCases.test_dqAnd) ... ok
test_dqBase (__main__.PyIBMTestCases.test_dqBase) ... ok
test_dqCanonical (__main__.PyIBMTestCases.test_dqCanonical) ... ok
test_dqClass (__main__.PyIBMTestCases.test_dqClass) ... ok
test_dqCompare (__main__.PyIBMTestCases.test_dqCompare) ... ok
test_dqCompareSig (__main__.PyIBMTestCases.test_dqCompareSig) ... ok
test_dqCompareTotal (__main__.PyIBMTestCases.test_dqCompareTotal) ... ok
test_dqCompareTotalMag (__main__.PyIBMTestCases.test_dqCompareTotalMag) ... ok
test_dqCopy (__main__.PyIBMTestCases.test_dqCopy) ... ok
test_dqCopyAbs (__main__.PyIBMTestCases.test_dqCopyAbs) ... ok
test_dqCopyNegate (__main__.PyIBMTestCases.test_dqCopyNegate) ... ok
test_dqCopySign (__main__.PyIBMTestCases.test_dqCopySign) ... ok
test_dqDivide (__main__.PyIBMTestCases.test_dqDivide) ... ok
test_dqDivideInt (__main__.PyIBMTestCases.test_dqDivideInt) ... ok
test_dqEncode (__main__.PyIBMTestCases.test_dqEncode) ... ok
test_dqFMA (__main__.PyIBMTestCases.test_dqFMA) ... ok
test_dqInvert (__main__.PyIBMTestCases.test_dqInvert) ... ok
test_dqLogB (__main__.PyIBMTestCases.test_dqLogB) ... ok
test_dqMax (__main__.PyIBMTestCases.test_dqMax) ... ok
test_dqMaxMag (__main__.PyIBMTestCases.test_dqMaxMag) ... ok
test_dqMin (__main__.PyIBMTestCases.test_dqMin) ... ok
test_dqMinMag (__main__.PyIBMTestCases.test_dqMinMag) ... ok
test_dqMinus (__main__.PyIBMTestCases.test_dqMinus) ... ok
test_dqMultiply (__main__.PyIBMTestCases.test_dqMultiply) ... ok
test_dqNextMinus (__main__.PyIBMTestCases.test_dqNextMinus) ... ok
test_dqNextPlus (__main__.PyIBMTestCases.test_dqNextPlus) ... ok
test_dqNextToward (__main__.PyIBMTestCases.test_dqNextToward) ... ok
test_dqOr (__main__.PyIBMTestCases.test_dqOr) ... ok
test_dqPlus (__main__.PyIBMTestCases.test_dqPlus) ... ok
test_dqQuantize (__main__.PyIBMTestCases.test_dqQuantize) ... ok
test_dqReduce (__main__.PyIBMTestCases.test_dqReduce) ... ok
test_dqRemainder (__main__.PyIBMTestCases.test_dqRemainder) ... ok
test_dqRemainderNear (__main__.PyIBMTestCases.test_dqRemainderNear) ... ok
test_dqRotate (__main__.PyIBMTestCases.test_dqRotate) ... ok
test_dqSameQuantum (__main__.PyIBMTestCases.test_dqSameQuantum) ... ok
test_dqScaleB (__main__.PyIBMTestCases.test_dqScaleB) ... ok
test_dqShift (__main__.PyIBMTestCases.test_dqShift) ... ok
test_dqSubtract (__main__.PyIBMTestCases.test_dqSubtract) ... ok
test_dqToIntegral (__main__.PyIBMTestCases.test_dqToIntegral) ... ok
test_dqXor (__main__.PyIBMTestCases.test_dqXor) ... ok
test_dsBase (__main__.PyIBMTestCases.test_dsBase) ... ok
test_dsEncode (__main__.PyIBMTestCases.test_dsEncode) ... ok
test_exp (__main__.PyIBMTestCases.test_exp) ... ok
test_extra (__main__.PyIBMTestCases.test_extra) ... ok
test_fma (__main__.PyIBMTestCases.test_fma) ... ok
test_inexact (__main__.PyIBMTestCases.test_inexact) ... ok
test_invert (__main__.PyIBMTestCases.test_invert) ... ok
test_ln (__main__.PyIBMTestCases.test_ln) ... ok
test_log10 (__main__.PyIBMTestCases.test_log10) ... ok
test_logb (__main__.PyIBMTestCases.test_logb) ... ok
test_max (__main__.PyIBMTestCases.test_max) ... ok
test_maxmag (__main__.PyIBMTestCases.test_maxmag) ... ok
test_min (__main__.PyIBMTestCases.test_min) ... ok
test_minmag (__main__.PyIBMTestCases.test_minmag) ... ok
test_minus (__main__.PyIBMTestCases.test_minus) ... ok
test_multiply (__main__.PyIBMTestCases.test_multiply) ... ok
test_nextminus (__main__.PyIBMTestCases.test_nextminus) ... ok
test_nextplus (__main__.PyIBMTestCases.test_nextplus) ... ok
test_nexttoward (__main__.PyIBMTestCases.test_nexttoward) ... ok
test_or (__main__.PyIBMTestCases.test_or) ... ok
test_plus (__main__.PyIBMTestCases.test_plus) ... ok
test_power (__main__.PyIBMTestCases.test_power) ... ok
test_powersqrt (__main__.PyIBMTestCases.test_powersqrt) ... ok
test_quantize (__main__.PyIBMTestCases.test_quantize) ... ok
test_randomBound32 (__main__.PyIBMTestCases.test_randomBound32) ... ok
test_randoms (__main__.PyIBMTestCases.test_randoms) ... ok
test_reduce (__main__.PyIBMTestCases.test_reduce) ... ok
test_remainder (__main__.PyIBMTestCases.test_remainder) ... ok
test_remainderNear (__main__.PyIBMTestCases.test_remainderNear) ... ok
test_rescale (__main__.PyIBMTestCases.test_rescale) ... ok
test_rotate (__main__.PyIBMTestCases.test_rotate) ... ok
test_rounding (__main__.PyIBMTestCases.test_rounding) ... ok
test_samequantum (__main__.PyIBMTestCases.test_samequantum) ... ok
test_scaleb (__main__.PyIBMTestCases.test_scaleb) ... ok
test_shift (__main__.PyIBMTestCases.test_shift) ... ok
test_squareroot (__main__.PyIBMTestCases.test_squareroot) ... ok
test_subtract (__main__.PyIBMTestCases.test_subtract) ... ok
test_testall (__main__.PyIBMTestCases.test_testall) ... ok
test_tointegral (__main__.PyIBMTestCases.test_tointegral) ... ok
test_tointegralx (__main__.PyIBMTestCases.test_tointegralx) ... ok
test_xor (__main__.PyIBMTestCases.test_xor) ... ok
Context (decimal)
Doctest: decimal.Context ... ok
compare_total (decimal.Decimal)
Doctest: decimal.Decimal.compare_total ... ok
copy_sign (decimal.Decimal)
Doctest: decimal.Decimal.copy_sign ... ok
fma (decimal.Decimal)
Doctest: decimal.Decimal.fma ... ok
from_float (decimal.Decimal)
Doctest: decimal.Decimal.from_float ... ok
quantize (decimal.Decimal)
Doctest: decimal.Decimal.quantize ... ok
decimal ()
Doctest: decimal ... ok
abs (decimal.Context)
Doctest: decimal.Context.abs ... ok
add (decimal.Context)
Doctest: decimal.Context.add ... ok
canonical (decimal.Context)
Doctest: decimal.Context.canonical ... ok
compare (decimal.Context)
Doctest: decimal.Context.compare ... ok
compare_signal (decimal.Context)
Doctest: decimal.Context.compare_signal ... ok
compare_total (decimal.Context)
Doctest: decimal.Context.compare_total ... ok
copy_abs (decimal.Context)
Doctest: decimal.Context.copy_abs ... ok
copy_decimal (decimal.Context)
Doctest: decimal.Context.copy_decimal ... ok
copy_negate (decimal.Context)
Doctest: decimal.Context.copy_negate ... ok
copy_sign (decimal.Context)
Doctest: decimal.Context.copy_sign ... ok
create_decimal_from_float (decimal.Context)
Doctest: decimal.Context.create_decimal_from_float ... ok
divide (decimal.Context)
Doctest: decimal.Context.divide ... ok
divide_int (decimal.Context)
Doctest: decimal.Context.divide_int ... ok
divmod (decimal.Context)
Doctest: decimal.Context.divmod ... ok
exp (decimal.Context)
Doctest: decimal.Context.exp ... ok
fma (decimal.Context)
Doctest: decimal.Context.fma ... ok
is_canonical (decimal.Context)
Doctest: decimal.Context.is_canonical ... ok
is_finite (decimal.Context)
Doctest: decimal.Context.is_finite ... ok
is_infinite (decimal.Context)
Doctest: decimal.Context.is_infinite ... ok
is_nan (decimal.Context)
Doctest: decimal.Context.is_nan ... ok
is_normal (decimal.Context)
Doctest: decimal.Context.is_normal ... ok
is_qnan (decimal.Context)
Doctest: decimal.Context.is_qnan ... ok
is_signed (decimal.Context)
Doctest: decimal.Context.is_signed ... ok
is_snan (decimal.Context)
Doctest: decimal.Context.is_snan ... ok
is_subnormal (decimal.Context)
Doctest: decimal.Context.is_subnormal ... ok
is_zero (decimal.Context)
Doctest: decimal.Context.is_zero ... ok
ln (decimal.Context)
Doctest: decimal.Context.ln ... ok
log10 (decimal.Context)
Doctest: decimal.Context.log10 ... ok
logb (decimal.Context)
Doctest: decimal.Context.logb ... ok
logical_and (decimal.Context)
Doctest: decimal.Context.logical_and ... ok
logical_invert (decimal.Context)
Doctest: decimal.Context.logical_invert ... ok
logical_or (decimal.Context)
Doctest: decimal.Context.logical_or ... ok
logical_xor (decimal.Context)
Doctest: decimal.Context.logical_xor ... ok
max (decimal.Context)
Doctest: decimal.Context.max ... ok
max_mag (decimal.Context)
Doctest: decimal.Context.max_mag ... ok
min (decimal.Context)
Doctest: decimal.Context.min ... ok
min_mag (decimal.Context)
Doctest: decimal.Context.min_mag ... ok
minus (decimal.Context)
Doctest: decimal.Context.minus ... ok
multiply (decimal.Context)
Doctest: decimal.Context.multiply ... ok
next_minus (decimal.Context)
Doctest: decimal.Context.next_minus ... ok
next_plus (decimal.Context)
Doctest: decimal.Context.next_plus ... ok
next_toward (decimal.Context)
Doctest: decimal.Context.next_toward ... ok
normalize (decimal.Context)
Doctest: decimal.Context.normalize ... ok
number_class (decimal.Context)
Doctest: decimal.Context.number_class ... ok
plus (decimal.Context)
Doctest: decimal.Context.plus ... ok
power (decimal.Context)
Doctest: decimal.Context.power ... ok
quantize (decimal.Context)
Doctest: decimal.Context.quantize ... ok
radix (decimal.Context)
Doctest: decimal.Context.radix ... ok
remainder (decimal.Context)
Doctest: decimal.Context.remainder ... ok
remainder_near (decimal.Context)
Doctest: decimal.Context.remainder_near ... ok
rotate (decimal.Context)
Doctest: decimal.Context.rotate ... ok
same_quantum (decimal.Context)
Doctest: decimal.Context.same_quantum ... ok
scaleb (decimal.Context)
Doctest: decimal.Context.scaleb ... ok
shift (decimal.Context)
Doctest: decimal.Context.shift ... ok
sqrt (decimal.Context)
Doctest: decimal.Context.sqrt ... ok
subtract (decimal.Context)
Doctest: decimal.Context.subtract ... ok
to_eng_string (decimal.Context)
Doctest: decimal.Context.to_eng_string ... ok
to_integral_exact (decimal.Context)
Doctest: decimal.Context.to_integral_exact ... ok
to_integral_value (decimal.Context)
Doctest: decimal.Context.to_integral_value ... ok
__new__ (decimal.Decimal)
Doctest: decimal.Decimal.__new__ ... ok
__round__ (decimal.Decimal)
Doctest: decimal.Decimal.__round__ ... ok
as_integer_ratio (decimal.Decimal)
Doctest: decimal.Decimal.as_integer_ratio ... ok
from_float (decimal.Decimal)
Doctest: decimal.Decimal.from_float ... ok
localcontext (decimal)
Doctest: decimal.localcontext ... ok

----------------------------------------------------------------------
Ran 709 tests in 13.349s

OK (skipped=9)

@debohman
Copy link
Contributor Author

debohman commented Oct 9, 2023

% git describe
v3.12.0b1-2021-gea7b53ff677

To be clear: this is top of tree main.

@debohman
Copy link
Contributor Author

debohman commented Oct 9, 2023

To answer the question about how I am building Python:

CC=clang CXX=clang++ CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure --enable-optimizations --with-lto=full

@debohman
Copy link
Contributor Author

debohman commented Oct 10, 2023

It is not clear why _PyExc_ValueError is not found when loading _opcode.cpython-313-darwin.so. The symbol is present in python.exe:

% nm -g build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so | grep _PyExc_ValueError
                 U _PyExc_ValueError
nm -g python.exe | grep _PyExc_ValueError                                                                          
0000000100581080 D _PyExc_ValueError

@debohman
Copy link
Contributor Author

debohman commented Oct 10, 2023

Something must have changed in the runtime module loading in main.

@vstinner
Copy link
Member

SyntaxError: (unicode error) \N escapes not supported (can't load unicodedata module)

It's syntax that Python cannot locate the unicodedata shared library. Can you import it if you run Python manually? Was it built?

@vstinner
Copy link
Member

Can the issue be reproduced on other platforms than macOS?

@debohman
Copy link
Contributor Author

SyntaxError: (unicode error) \N escapes not supported (can't load unicodedata module)

It's syntax that Python cannot locate the unicodedata shared library. Can you import it if you run Python manually? Was it built?

% python.exe                                                       
Python 3.13.0a0 (main, Oct  9 2023, 18:27:16) [Clang 17.0.1] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/local/lib/python313.zip', '/tera/tera/debo/Projects/Python/main/Lib', '/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13']
>>> import unicodedata
>>> unicodedata.
unicodedata.UCD()              unicodedata.digit(             unicodedata.normalize(
unicodedata.bidirectional(     unicodedata.east_asian_width(  unicodedata.numeric(
unicodedata.category(          unicodedata.is_normalized(     unicodedata.ucd_3_2_0
unicodedata.combining(         unicodedata.lookup(            unicodedata.unidata_version
unicodedata.decimal(           unicodedata.mirrored(          
unicodedata.decomposition(     unicodedata.name(              

@debohman
Copy link
Contributor Author

Can the issue be reproduced on other platforms than macOS?

Perhaps @mdboom can comment about what platform he is using in his comment above.

@debohman
Copy link
Contributor Author

I see now that test_embed uses Programs/_testembed to execute. I don't know how embedding works, but clearly something has broken in 3.13. It works properly in 3.12.0 built with the same toolchain.

Under 3.13:

% Programs/_testembed test_init_main
Run Python code before _Py_InitializeMain
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2): Symbol not found: _PyBaseObject_Type
  Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so
  Expected in: flat namespace
 in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so

Under 3.12.0:

% Programs/_testembed test_init_main
Run Python code before _Py_InitializeMain
{"global_config": {"Py_FileSystemDefaultEncoding": "utf-8", "Py_HasFileSystemDefaultEncoding": 0, "Py_FileSystemDefaultEncodeErrors": "surrogateescape", "_Py_HasFileSystemDefaultEncodeErrors": 0, "Py_UTF8Mode": 0, "Py_DebugFlag": 0, "Py_VerboseFlag": 0, "Py_QuietFlag": 0, "Py_InteractiveFlag": 0, "Py_InspectFlag": 0, "Py_OptimizeFlag": 0, "Py_NoSiteFlag": 0, "Py_BytesWarningFlag": 0, "Py_FrozenFlag": 0, "Py_IgnoreEnvironmentFlag": 0, "Py_DontWriteBytecodeFlag": 0, "Py_NoUserSiteDirectory": 0, "Py_UnbufferedStdioFlag": 0, "Py_HashRandomizationFlag": 1, "Py_IsolatedFlag": 0}, "pre_config": {"_config_init": 2, "parse_argv": 1, "isolated": 0, "use_environment": 1, "configure_locale": 1, "coerce_c_locale": 0, "coerce_c_locale_warn": 0, "utf8_mode": 0, "dev_mode": 0, "allocator": 0}, "config": {"_config_init": 2, "isolated": 0, "use_environment": 1, "dev_mode": 0, "install_signal_handlers": 1, "use_hash_seed": 0, "hash_seed": 0, "faulthandler": 0, "tracemalloc": 0, "perf_profiling": 0, "import_time": 0, "code_debug_ranges": 1, "show_ref_count": 0, "dump_refs": 0, "malloc_stats": 0, "filesystem_encoding": "utf-8", "filesystem_errors": "surrogateescape", "pycache_prefix": null, "program_name": "./python3", "parse_argv": 2, "argv": ["-c", "arg2"], "xoptions": [], "warnoptions": [], "pythonpath_env": null, "home": null, "module_search_paths_set": 1, "module_search_paths": ["/usr/local/lib/python312.zip", "/tera/tera/debo/Projects/Python/v3.12.0/Lib", "/tera/tera/debo/Projects/Python/v3.12.0/build/lib.macosx-10.12-x86_64-3.12"], "stdlib_dir": "/tera/tera/debo/Projects/Python/v3.12.0/Lib", "executable": "/tera/tera/debo/Projects/Python/v3.12.0/python3", "base_executable": "/tera/tera/debo/Projects/Python/v3.12.0/python3", "prefix": "/usr/local", "base_prefix": "/usr/local", "exec_prefix": "/usr/local", "base_exec_prefix": "/usr/local", "platlibdir": "lib", "site_import": 1, "bytes_warning": 0, "warn_default_encoding": 0, "inspect": 0, "interactive": 0, "optimization_level": 0, "parser_debug": 0, "write_bytecode": 1, "verbose": 0, "quiet": 0, "user_site_directory": 1, "configure_c_stdio": 1, "buffered_stdio": 1, "stdio_encoding": "utf-8", "stdio_errors": "strict", "skip_source_first_line": 0, "run_command": "import _testinternalcapi, json; print(json.dumps(_testinternalcapi.get_configs()))\n", "run_module": null, "run_filename": null, "_install_importlib": 1, "check_hash_pycs_mode": "default", "pathconfig_warnings": 1, "_init_main": 0, "orig_argv": ["python3", "-c", "import _testinternalcapi, json; print(json.dumps(_testinternalcapi.get_configs()))", "arg2"], "use_frozen_modules": 1, "safe_path": 0, "_is_python_build": 1, "int_max_str_digits": 4300}}

@vstinner
Copy link
Member

I don't understand this test_embed error neither:

ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_testinternalcapi.cpython-313-darwin.so, 2):
Symbol not found: _PyBaseObject_Type

In Include/object.h, PyBaseObject_Type variable is exported by:

PyAPI_DATA(PyTypeObject) PyBaseObject_Type; /* built-in 'object' */

Log:

% python.exe Lib/test/test_embed.py
.....................--- ['/tera/tera/debo/Projects/Python/main/Programs/_testembed', 'test_repeated_init_exec', 'import dis\nimport importlib._bootstrap\nimport opcode\nimport test.test_dis\n\ndef is_specialized(f):\n    for instruction in dis.get_instructions(f, adaptive=True):\n        opname = instruction.opname\n        if (\n            opname in opcode._specialized_opmap\n            # Exclude superinstructions:\n            and "__" not in opname\n        ):\n            return True\n    return False\n\nfunc = importlib._bootstrap._handle_fromlist\n\n# "copy" the code to un-specialize it:\nfunc.__code__ = func.__code__.replace()\n\nassert not is_specialized(func), "specialized instructions found"\n\nfor i in range(test.test_dis.ADAPTIVE_WARMUP_DELAY):\n    func(importlib._bootstrap, ["x"], lambda *args: None)\n\nassert is_specialized(func), "no specialized instructions found"\n\nprint("Tests passed")\n'] failed ---
stdout:

stderr:
--- Loop #1 ---
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tera/tera/debo/Projects/Python/main/Lib/dis.py", line 8, in <module>
    from opcode import *
  File "/tera/tera/debo/Projects/Python/main/Lib/opcode.py", line 12, in <module>
    import _opcode
ImportError: dlopen(/tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so, 2): Symbol not found: _PyExc_ValueError
  Referenced from: /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so
  Expected in: flat namespace
 in /tera/tera/debo/Projects/Python/main/build/lib.macosx-10.12-x86_64-3.13/_opcode.cpython-313-darwin.so

@vstinner
Copy link
Member

Python/dynload_shlib.c adds a lead underscore:

#if (defined(__OpenBSD__) || defined(__NetBSD__)) && !defined(__ELF__)
#define LEAD_UNDERSCORE "_" 
#else             
#define LEAD_UNDERSCORE ""
#endif 
...
    PyOS_snprintf(funcname, sizeof(funcname),
                  LEAD_UNDERSCORE "%.20s_%.200s", prefix, shortname);

@vstinner
Copy link
Member

cc @sobolevn @corona10: Can you reproduce these issues?

@debohman
Copy link
Contributor Author

I think it is a problem with embedding on my platform in 3.13, which I assume enables executing Python code from inside a a C program. As I have demonstrated, it works fine in 3.12.0 with the same exact toolchain.

@debohman
Copy link
Contributor Author

debohman commented Oct 10, 2023

I suspect that the problem occurs when Python code being executed in an embedded environment tries to import a runtime loaded module. That is why much of test_embed fails.

@vstinner
Copy link
Member

It is not clear why _PyExc_ValueError is not found when loading _opcode.cpython-313-darwin.so. The symbol is present in python.exe

In the Python API, the variable is called PyExc_ValueError without the leading underscore.

@vstinner
Copy link
Member

CC=clang CXX=clang++ CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure --enable-optimizations --with-lto=full

Do you reproduce the issue with a more classic command?

CC=clang CXX=clang++ ./configure

then:

make && ./python.exe -m test -v test_embed

@debohman
Copy link
Contributor Author

It is not clear why _PyExc_ValueError is not found when loading _opcode.cpython-313-darwin.so. The symbol is present in python.exe

In the Python API, the variable is called PyExc_ValueError without the leading underscore.

That is because macOS uses the traditional C symbol naming, which places an underscore before C symbols.

@vstinner
Copy link
Member

Aha, I can reproduce some issues on Linux: 8 tests failed with "env changed".

$ CC=clang ./configure --enable-optimizations
$ make
(...)
touch profile-gen-stamp
make[1]: Leaving directory '/home/vstinner/python/main'
# Next, run the profile task to generate the profile information.
LLVM_PROFILE_FILE="code-%p.profclangr"  ./python -m test --pgo --timeout=
Using random seed 297553162
0:00:00 load avg: 6.89 Run 44 tests sequentially
0:00:00 load avg: 6.89 [ 1/44] test_array
0:00:00 load avg: 6.89 [ 2/44] test_base64
0:00:00 load avg: 6.89 [ 3/44] test_binascii -- test_base64 failed (env changed)
0:00:00 load avg: 6.89 [ 4/44] test_binop
0:00:00 load avg: 6.89 [ 5/44] test_bisect
0:00:00 load avg: 6.89 [ 6/44] test_bytes
0:00:03 load avg: 6.89 [ 7/44] test_bz2 -- test_bytes failed (env changed)
0:00:04 load avg: 6.89 [ 8/44] test_cmath
0:00:04 load avg: 6.89 [ 9/44] test_codecs
0:00:05 load avg: 6.42 [10/44] test_collections
0:00:05 load avg: 6.42 [11/44] test_complex
0:00:05 load avg: 6.42 [12/44] test_dataclasses
0:00:06 load avg: 6.42 [13/44] test_datetime
0:00:09 load avg: 5.91 [14/44] test_decimal
0:00:12 load avg: 5.91 [15/44] test_difflib
0:00:13 load avg: 5.91 [16/44] test_embed
0:00:17 load avg: 5.51 [17/44] test_float -- test_embed failed (env changed)
0:00:17 load avg: 5.51 [18/44] test_fstring
0:00:18 load avg: 5.51 [19/44] test_functools
0:00:18 load avg: 5.51 [20/44] test_generators
0:00:18 load avg: 5.51 [21/44] test_hashlib
0:00:19 load avg: 5.51 [22/44] test_heapq
0:00:19 load avg: 5.15 [23/44] test_int
0:00:20 load avg: 5.15 [24/44] test_itertools
0:00:22 load avg: 5.15 [25/44] test_json
0:00:23 load avg: 5.15 [26/44] test_long -- test_json failed (env changed)
0:00:25 load avg: 4.82 [27/44] test_lzma
0:00:25 load avg: 4.82 [28/44] test_math
0:00:26 load avg: 4.82 [29/44] test_memoryview
0:00:27 load avg: 4.82 [30/44] test_operator
0:00:27 load avg: 4.82 [31/44] test_ordered_dict
0:00:28 load avg: 4.82 [32/44] test_patma
0:00:28 load avg: 4.82 [33/44] test_pickle
0:00:31 load avg: 4.51 [34/44] test_pprint
0:00:31 load avg: 4.51 [35/44] test_re
0:00:32 load avg: 4.51 [36/44] test_set
0:00:35 load avg: 4.23 [37/44] test_sqlite3
0:00:35 load avg: 4.23 [38/44] test_statistics -- test_sqlite3 failed (env changed)
0:00:37 load avg: 4.23 [39/44] test_str
0:00:38 load avg: 4.23 [40/44] test_struct -- test_str failed (env changed)
0:00:39 load avg: 4.23 [41/44] test_tabnanny -- test_struct failed (env changed)
0:00:39 load avg: 3.97 [42/44] test_time -- test_tabnanny failed (env changed)
0:00:41 load avg: 3.97 [43/44] test_xml_etree
0:00:42 load avg: 3.97 [44/44] test_xml_etree_c

Total duration: 43.1 sec
Total tests: run=8,990 skipped=187
Total test files: run=44/44 env_changed=8
Result: SUCCESS

Example:

vstinner@mona$ LLVM_PROFILE_FILE=code-%p.profclangr ./python -m test --fail-env-changed test_bytes -m test_check_encoding_errors -v
== CPython 3.13.0a0 (heads/main:732532b0af, Oct 11 2023, 00:54:44) [Clang 16.0.6 (Fedora 16.0.6-3.fc38)]
== Linux-6.5.5-200.fc38.x86_64-x86_64-with-glibc2.37 little-endian
== Python build: release
== cwd: /home/vstinner/python/main/build/test_python_worker_31170æ
== CPU count: 12
== encodings: locale=UTF-8 FS=utf-8
== resources: all test resources are disabled, use -u option to unskip tests

Using random seed 4098483406
0:00:00 load avg: 1.57 Run 1 test sequentially
0:00:00 load avg: 1.57 [1/1] test_bytes
test_check_encoding_errors (test.test_bytes.ByteArrayTest.test_check_encoding_errors) ... ok
test_check_encoding_errors (test.test_bytes.BytesTest.test_check_encoding_errors) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.053s

OK
Warning -- files was modified by test_bytes
Warning --   Before: []
Warning --   After:  ['code-31172.profclangr', 'code-31173.profclangr', 'code-31174.profclangr'] 
test_bytes failed (env changed)

== Tests result: ENV CHANGED ==

1 test altered the execution environment (env changed):
    test_bytes

Total duration: 97 ms
Total tests: run=2 (filtered)
Total test files: run=1/1 (filtered) env_changed=1
Result: ENV CHANGED

Each subprocess spawned by tests create a code-<pid>.profclangr file.

@debohman
Copy link
Contributor Author

Okay, here is what I have determined so far: Programs/_testembed has no symbols in 3.13! That is why the runtime loading is failing. I am trying to figure out what is different in the build environment for Programs/_testembed between 3.12 and 3.13.

@vstinner
Copy link
Member

Tests spawning subprocesses create many code-<pid>.profclangr files in the current directory. It's unclear to me if they should be used to train the PGO build or not.

PR #110654 avoids the warning, but .profclangr created by subprocesses are still removed, since regrtest starts by creating a temporary directory and changes the current working directory for this one.

@debohman
Copy link
Contributor Author

I don't think we have established that LLVM 17 is the problem. To do that we would need to try building with LLVM 16.

@debohman
Copy link
Contributor Author

Building with PGO and LTO are fine now.

@vstinner
Copy link
Member

Test on Fedora Rawhide with LLVM clang 17:

$ CC=clang LD=clang ./configure --with-lto=full
$ make -j10 

$ ./Programs/_testembed test_audit; echo $?
0

$ ./python -m test test_embed 
(...)
Total duration: 4.7 sec
Total tests: run=69 skipped=4
Total test files: run=1/1
Result: SUCCESS

It works as expected. By the way, PGO+LTO build is tested on Fedora Rawhide on multiple architectures:

@vstinner
Copy link
Member

Building with PGO and LTO are fine now.

Would you mind to elaborate "now"? Before you wrote that it didn't work. What changed? Are you still testing the latest main branch?

You're doing tests on macOS 10.12.6 with Clang 17.0.1, right?

@vstinner vstinner changed the title test_embed fails if Python is built with LTO=full and LLVM clang 17 test_embed fails if Python is built with LTO=full and LLVM clang 17 on macOS Oct 11, 2023
@vstinner
Copy link
Member

I don't think we have established that LLVM 17 is the problem.

I added "on macOS" to the issue title :-)

@debohman
Copy link
Contributor Author

Building with PGO and LTO are fine now.

Would you mind to elaborate "now"? Before you wrote that it didn't work. What changed? Are you still testing the latest main branch?

You're doing tests on macOS 10.12.6 with Clang 17.0.1, right?

Sorry, with 3e3a7da reverted.

@vstinner
Copy link
Member

To do that we would need to try building with LLVM 16.

If you can run your test with LLVM 16 on macOS, that would be nice yes, since I fail to reproduce the issue on Linux with LLVM 17.

@debohman
Copy link
Contributor Author

To do that we would need to try building with LLVM 16.

If you can run your test with LLVM 16 on macOS, that would be nice yes, since I fail to reproduce the issue on Linux with LLVM 17.

Yes, I will try that, but it will have to be later. It is past dinnertime now.

@debohman
Copy link
Contributor Author

The issue exists when building with LLVM 16, and backing out commit 3e3a7da resolves it.

@vstinner
Copy link
Member

@corona10: Should we just give up on the "NOLTO" idea, building some object files with LTO (full) or then attempt to use a different LTO mode (thin) to link them? Nor only revert 3e3a7da but also remove NOLTO variables.

@corona10
Copy link
Member

corona10 commented Oct 11, 2023

This is on macOS 10.12.6, building with LLVM / Clang 17.0.1. The system otherwise has Python 3.11.6 installed.

@debohman Are you using a custom compiler toolchain rather than using the Apple basic toolchain?

@corona10
Copy link
Member

Nor only revert 3e3a7da but also remove NOLTO variables.

I am okay with reverting the PR, IIUC it was just intended to speed up the build, but I need to know what effect will occur if drop the "NOLTO" idea.

@corona10
Copy link
Member

If we drop the "NOLTO" idea, it will occur #96761 again. Please let me know If I misunderstand.

@corona10
Copy link
Member

Or do you intend to revert #29859 too?

@debohman
Copy link
Contributor Author

This is on macOS 10.12.6, building with LLVM / Clang 17.0.1. The system otherwise has Python 3.11.6 installed.

@debohman Are you using a custom compiler toolchain rather than using the Apple basic toolchain?

The stock linker is being used, the rest of the toolchain is the newer llvm / clang.

@mdboom
Copy link
Contributor

mdboom commented Oct 11, 2023

What is your macOS version? What is your LLVM clang version?

It's macOS 13.6

% clang --version
Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: arm64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
% uname -a
Darwin CPythons-Mac-mini.local 22.6.0 Darwin Kernel Version 22.6.0: Fri Sep 15 13:41:30 PDT 2023; root:xnu-8796.141.3.700.8~1/RELEASE_ARM64_T8103 arm64

I'm building CPython as follows:

./configure --with-openssl=$(brew --prefix openssl) --enable-optimizations --with-lto
make -j

@mdboom
Copy link
Contributor

mdboom commented Oct 11, 2023

I can confirm that backing out 3e3a7da also resolves things for me.

@vstinner
Copy link
Member

I wrote PR #110720 to revert my "NoLTO" change which introduced the bug.

I don't understand exactly why/how Programs/_testembed is miscompiled on macOS using LLVM 16 or 17, but it's bad: we should not miscompile Python. My change was just to optimize "build Python" command faster (run make), it should not miscompile Python.

It would be nice if someone can dig into the issue, but I don't have the bandwidth for that. I cannot reproduce the issue on Linux, and I don't have access to any macOS machine.

vstinner added a commit that referenced this issue Oct 11, 2023
#110720)

gh-110313: Revert "gh-90108: Disable LTO on _freeze_module and _testembed (#109581)"

This reverts commit 3e3a7da.
@debohman debohman changed the title test_embed fails if Python is built with LTO=full and LLVM clang 17 on macOS test_embed fails if Python is built with LTO and LLVM clang on macOS Oct 11, 2023
@debohman
Copy link
Contributor Author

If I may hazard a guess as to why this is failing, we seem to be using objects built with LTO and linking them to create Programs/_testembed without LTO. Perhaps if you wish to to build _testembed without LTO, then you need a set of object files built without any LTO. Note that everything works fine when building Python without any LTO.

In the case which fails, the generated _testembed contains no symbols, so when it tries to runtime load a module, it fails because it cannot resolve the undefined symbols in the module.

@vstinner
Copy link
Member

I suppose that the best way to build with LTO only once instead of 3 times (freeze, testembed, libpython) is to use ./configure --enable-shared. So most object files are only linked once into libpython, and then libpython is reused in freeze and testembed.

If I recall correctly, GCC implementation of LTO is very different and so the NOLTO hack to reduce build time when enable-shared is not used still works. Maybe we just use -flto=full in NOLTO on macOS (when cland is used).

@debohman
Copy link
Contributor Author

debohman commented Nov 6, 2023

Shall we close this issue? I have successfully built 3.13.0a1 and current main with both PGO and LTO.

@debohman
Copy link
Contributor Author

debohman commented Nov 6, 2023

I am also using the latest Clang 17.0.4.

@vstinner
Copy link
Member

vstinner commented Nov 6, 2023

Ok, I close the issue.

@vstinner vstinner closed this as completed Nov 6, 2023
Glyphack pushed a commit to Glyphack/cpython that referenced this issue Sep 2, 2024
…e and _teste… (python#110720)

pythongh-110313: Revert "pythongh-90108: Disable LTO on _freeze_module and _testembed (python#109581)"

This reverts commit 3e3a7da.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

No branches or pull requests

4 participants