Skip to content

Conversation

@nybblista
Copy link
Contributor

@nybblista nybblista commented Mar 21, 2025

  1. Assert empty bytearray object for PyByteArray_Check.
  2. Assert empty bytearray object for PyByteArray_CheckExact.
  3. Assert 0-size bytearray object for PyByteArray_Size.
  4. Assert empty bytearray object for PyByteArray_AsString.
  5. Assert concatenation of the bytearray object with itself for PyByteArray_Concat.

1. Assert empty bytearray object for PyByteArray_Check.
2. Assert empty bytearray object for PyByteArray_CheckExact.
3. Assert 0-size bytearray object for PyByteArray_Size.
4. Assert empty bytearray object for PyByteArray_AsString.
5. Assert concatenation of the bytearray object with itself for PyByteArray_Concat.
@bedevere-app bedevere-app bot added tests Tests in the Lib/test dir awaiting review labels Mar 21, 2025
@nybblista nybblista changed the title gh-131552: Add a set of asserts to test.test_capi.test_bytearray gh-131357: Add a set of asserts to test.test_capi.test_bytearray Mar 21, 2025
@nybblista
Copy link
Contributor Author

@sobolevn

Copy link
Member

@sobolevn sobolevn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@sobolevn sobolevn merged commit f3bf304 into python:main Mar 23, 2025
48 checks passed
@sobolevn sobolevn added awaiting merge needs backport to 3.12 only security fixes needs backport to 3.13 bugs and security fixes labels Mar 23, 2025
@miss-islington-app
Copy link

Thanks @nybblista for the PR, and @sobolevn for merging it 🌮🎉.. I'm working now to backport this PR to: 3.13.
🐍🍒⛏🤖

@miss-islington-app
Copy link

Thanks @nybblista for the PR, and @sobolevn for merging it 🌮🎉.. I'm working now to backport this PR to: 3.12.
🐍🍒⛏🤖

@miss-islington-app
Copy link

Sorry, @nybblista and @sobolevn, I could not cleanly backport this to 3.12 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker f3bf304c2799c31c045033f22db7eb8766a5f939 3.12

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Mar 23, 2025
pythonGH-131554)

add a set of asserts to test.test_capi.test_bytearray

1. Assert empty bytearray object for PyByteArray_Check.
2. Assert empty bytearray object for PyByteArray_CheckExact.
3. Assert 0-size bytearray object for PyByteArray_Size.
4. Assert empty bytearray object for PyByteArray_AsString.
5. Assert concatenation of the bytearray object with itself for PyByteArray_Concat.
(cherry picked from commit f3bf304)

Co-authored-by: Nybblista <[email protected]>
@bedevere-app
Copy link

bedevere-app bot commented Mar 23, 2025

GH-131601 is a backport of this pull request to the 3.13 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.13 bugs and security fixes label Mar 23, 2025
@sobolevn
Copy link
Member

@nybblista can you please do a manual 3.12 backport?

sobolevn pushed a commit that referenced this pull request Mar 23, 2025
…ay (GH-131554) (#131601)

gh-131357: Add a set of asserts to test.test_capi.test_bytearray (GH-131554)

add a set of asserts to test.test_capi.test_bytearray

1. Assert empty bytearray object for PyByteArray_Check.
2. Assert empty bytearray object for PyByteArray_CheckExact.
3. Assert 0-size bytearray object for PyByteArray_Size.
4. Assert empty bytearray object for PyByteArray_AsString.
5. Assert concatenation of the bytearray object with itself for PyByteArray_Concat.
(cherry picked from commit f3bf304)

Co-authored-by: Nybblista <[email protected]>
@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot aarch64 Fedora Stable Refleaks 3.x (tier-2) has failed when building commit f3bf304.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/#/builders/123/builds/844) and take a look at the build logs.
  4. Check if the failure is related to this commit (f3bf304) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/#/builders/123/builds/844

Failed tests:

  • test_perf_profiler

Failed subtests:

  • test_python_calls_appear_in_the_stack_if_perf_activated - test.test_perf_profiler.TestPerfProfilerWithDwarf.test_python_calls_appear_in_the_stack_if_perf_activated

Summary of the results of the build (if available):

==

Click to see traceback logs
Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/Lib/test/test_perf_profiler.py", line 364, in test_python_calls_appear_in_the_stack_if_perf_activated
    self.assertIn(f"py::foo:{script}", stdout)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: 'py::foo:/tmp/test_python__0zmyq1e/tmpuhasqrh6/perftest.py' not found in 'python   48213 1583648.221160:          1 cycles:Pu: \n\t    ffff9c449ac0 _start+0x0 (/usr/lib/ld-linux-aarch64.so.1)\n\npython   48213 1583648.221201:          1 cycles:Pu: \n\tffffc95efcdffc78 [unknown] ([unknown])\n\tffffc95efce0049c [unknown] ([unknown])\n\tffffc95efb9a15e4 [unknown] ([unknown])\n\t    ffff9c449ac0 _start+0x0 (/usr/lib/ld-linux-aarch64.so.1)\n\npython   48213 1583648.222280:          1 cycles:Pu: \n\t    ffff9c43b0d0 _dl_relocate_object+0x170 (/usr/lib/ld-linux-aarch64.so.1)\n\t    ffff9c4473d3 dl_main+0x15d3 (/usr/lib/ld-linux-aarch64.so.1)\n\t    ffff9c4445ff _dl_sysdep_start+0x1df (/usr/lib/ld-linux-aarch64.so.1)\n\t    ffff9c445b17 _dl_start_final+0x5ab (inlined)\n\t    ffff9c445b17 _dl_start+0x5ab (/usr/lib/ld-linux-aarch64.so.1)\n\t    ffff9c449ad3 _start+0x13 (/usr/lib/ld-linux-aarch64.so.1)\n\npython   48213 1583648.222319:        343 cycles:Pu: \n\t    ffff9c43b0e0 _dl_relocate_object+0x180 (/usr/lib/ld-linux-aarch64.so.1)\n\t    ffff9c4473d3 dl_main+0x15d3 (/usr/lib/ld-linux-aarch64.so.1)\n\t    ffff9c4445ff _dl_sysdep_start+0x1df (/usr/lib/ld-linux-aarch64.so.1)\n\t    ffff9c445b17 _dl_start_final+0x5ab (inlined)\n\t    ffff9c445b17 _dl_start+0x5ab (/usr/lib/ld-linux-aarch64.so.1)\n\t    ffff9c449ad3 _start+0x13 (/usr/lib/ld-linux-aarch64.so.1)\n\npython   48213 1583648.222964:        702 cycles:Pu: \n\t    ffff9c43b0e0 _dl_relocate_object+0x180 (/usr/lib/ld-linux-aarch64.so.1)\n\t    ffff9c4473d3 dl_main+0x15d3 (/usr/lib/ld-linux-aarch64.so.1)\n\t    ffff9c4445ff _dl_sysdep_start+0x1df (/usr/lib/ld-linux-aarch64.so.1)\n\t    ffff9c445b17 _dl_start_final+0x5ab (inlined)\n\t    ffff9c445b17 _dl_start+0x5ab (/usr/lib/ld-linux-aarch64.so.1)\n\t    ffff9c449ad3 _start+0x13 (/usr/lib/ld-linux-aarch64.so.1)\n\npython   48213 1583648.223283:      22425 cycles:Pu: \n\t    ffff9c437774 <i
)\n\t          5066b7 fill_mem_debug+0x17 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          5067cf _PyMem_DebugRawMalloc+0x17 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t              33 [unknown] ([unknown])\n\npython   48213 1583648.239192:   10632094 cycles:Pu: \n\t          50102c new_reference+0x4 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          50244f _Py_NewReference+0x2b (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          49782b _PyObject_Init+0x37 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          4978af _PyObject_InitVar+0x2f (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          49796b _PyBytes_FromSize+0x5b (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          49a727 PyBytes_FromStringAndSize+0xc3 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          65ee03 r_object+0x3d3 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          65f653 r_object+0xc23 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          65f087 r_object+0x657 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          65f5cf r_object+0xb9f (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          65fc1f read_object+0x93 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          660657 PyMarshal_ReadObjectFromString+0x4b (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          6422f7 unmarshal_frozen_code+0x1b (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          645fbf PyImport_ImportFrozenModuleObject+0x4f (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          64625f PyImport_ImportFrozenModule+0x1b (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          6462d3 init_importlib+0x43 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          646ec3 _PyImport_InitCore+0x2b (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          666877 pycore_interp_init+0x243 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          66693b pyinit_config+0xaf (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          66e197 pyinit_core+0xdb (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          66e26f Py_InitializeFromConfig+0x97 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          69f13f pymain_init+0xff (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          69f20f pymain_main+0xf (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          69f2a3 Py_BytesMain+0x27 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          41f137 main+0xb (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t    ffff9c1d625b __libc_start_call_main+0x7b (/usr/lib64/libc.so.6)\n\t    ffff9c1d633b __libc_start_main@GLIBC_2.17+0x9b (inlined)\n\t          41f02f _start+0x2f (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\npython   48213 1583648.249288:   13790614 cycles:Pu: \n\t          5ff4ac _PyEval_EvalFrameDefault+0x20fb0 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          5ff5b3 _PyEval_EvalFrame+0x23 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          5ff733 _PyEval_Vector+0x123 (/home/buildb


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/Lib/test/test_perf_profiler.py", line 364, in test_python_calls_appear_in_the_stack_if_perf_activated
    self.assertIn(f"py::foo:{script}", stdout)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: 'py::foo:/tmp/test_python__41fxp19/tmpxf4lmvt3/perftest.py' not found in 'python  170157 1584586.440010:          1 cycles:Pu: \n\t    ffffb72c7ac0 _start+0x0 (/usr/lib/ld-linux-aarch64.so.1)\n\npython  170157 1584586.440071:        212 cycles:Pu: \n\t    ffffb72c7ac0 _start+0x0 (/usr/lib/ld-linux-aarch64.so.1)\n\npython  170157 1584586.440085:        212 cycles:Pu: \n\t    ffffb72c356c _dl_start+0x0 (/usr/lib/ld-linux-aarch64.so.1)\n\t    ffffb72c7ad3 _start+0x13 (/usr/lib/ld-linux-aarch64.so.1)\n\npython  170157 1584586.441067:       4612 cycles:Pu: \n\t          663a98 precmdline_get_preconfig+0x0 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          6648a7 _PyPreCmdline_Read+0x1f (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          64bf0b core_read_precmdline+0xcb (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          64e4ef _PyConfig_Read+0xc3 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          66e163 pyinit_core+0xa7 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          66e26f Py_InitializeFromConfig+0x97 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          69f13f pymain_init+0xff (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          69f20f pymain_main+0xf (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          69f2a3 Py_BytesMain+0x27 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          41f137 main+0xb (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t    ffffb705625b __libc_start_call_main+0x7b (/usr/lib64/libc.so.6)\n\t    ffffb705633b __libc_start_main@GLIBC_2.17+0x9b (inlined)\n\t          41f02f _start+0x2f (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\n
build/python)\n\t          69f13f pymain_init+0xff (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          69f20f pymain_main+0xf (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          69f2a3 Py_BytesMain+0x27 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          41f137 main+0xb (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t    ffffb705625b __libc_start_call_main+0x7b (/usr/lib64/libc.so.6)\n\t    ffffb705633b __libc_start_main@GLIBC_2.17+0x9b (inlined)\n\t          41f02f _start+0x2f (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\npython  170157 1584586.442441:     771663 cycles:Pu: \n\t          5067d0 _PyMem_DebugRawMalloc+0x18 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          50757f _PyMem_DebugMalloc+0x2f (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          51d94f PyMem_Malloc+0x23 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          4e8b6b new_keys_object+0x93 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          4eb3bb dictresize+0x5b (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          4eb997 insertion_resize+0x33 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          4ef283 insert_combined_dict+0xef (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          4ef99b insertdict+0x1e7 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          4efb53 setitem_take2_lock_held+0x73 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          4f015b _PyDict_SetItem_Take2+0xb (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          4f01b3 PyDict_SetItem+0x4f (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          5369af type_ready_set_hash+0x6b (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          542cbb type_ready+0xbb (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          542f23 init_static_type+0x1a7 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          543027 _PyStaticType_InitBuiltin+0x2f (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          5022d3 _PyTypes_InitTypes+0xa7 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          66613f pycore_init_types+0x1b (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          66673f pycore_interp_init+0x10b (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          66693b pyinit_config+0xaf (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          66e197 pyinit_core+0xdb (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          66e26f Py_InitializeFromConfig+0x97 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          69f13f pymain_init+0xff (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          69f20f pymain_main+0xf (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          69f2a3 Py_BytesMain+0x27 (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t          41f137 main+0xb (/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.refleak/build/python)\n\t    ffffb705625b __libc_start_call_main+0x7b (/usr/lib64/libc.so.6)\n\t    ffffb705633b __libc_start_main@GLIBC_2.17+0x9b (inlined)\n\t          41f02f _start+0x2f (/home/buildbot/builda

@bedevere-app
Copy link

bedevere-app bot commented Mar 23, 2025

GH-131629 is a backport of this pull request to the 3.12 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.12 only security fixes label Mar 23, 2025
@nybblista nybblista deleted the test-bytearray branch March 23, 2025 13:52
sobolevn pushed a commit that referenced this pull request Mar 23, 2025
…ay (GH-131554) (#131629)

[3.12] gh-131357: Add a set of asserts to test.test_capi.test_bytearray (#131554)

add a set of asserts to test.test_capi.test_bytearray

1. Assert empty bytearray object for PyByteArray_Check.
2. Assert empty bytearray object for PyByteArray_CheckExact.
3. Assert 0-size bytearray object for PyByteArray_Size.
4. Assert empty bytearray object for PyByteArray_AsString.
5. Assert concatenation of the bytearray object with itself for PyByteArray_Concat.

(cherry picked from commit f3bf304)
seehwan pushed a commit to seehwan/cpython that referenced this pull request Apr 16, 2025
python#131554)

add a set of asserts to test.test_capi.test_bytearray

1. Assert empty bytearray object for PyByteArray_Check.
2. Assert empty bytearray object for PyByteArray_CheckExact.
3. Assert 0-size bytearray object for PyByteArray_Size.
4. Assert empty bytearray object for PyByteArray_AsString.
5. Assert concatenation of the bytearray object with itself for PyByteArray_Concat.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting merge skip news tests Tests in the Lib/test dir

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants