PyO3 / PyO3/pyo3

Tests on the `main` branch fail in GitHub Codespaces

Open
#5,254 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
16.2k
Forks
1k
Avg merge
2d 6h
Merged PRs (30d)
66

Description

Bug Description

The test session is failing on the main branch:

$ nox -s test

error: 3 targets failed:
    `--lib`
    `--test test_datetime`
    `--test test_pyerr_debug_unformattable`
nox > Command cargo test --no-fail-fast --no-default-features --all-targets failed with exit code 101
nox > Session test failed.
Steps to Reproduce
  1. Open the pyo3 repository on GitHub, click the "Code" button (on the right), and click "+" (Create a codespace on main).
  2. pip install nox
  3. Install Rust (curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh) > Click "Enter" (Proceed with standard installation)
  4. . "$HOME/.cargo/env"
  5. export RUST_BACKTRACE=1 to include backtrace
  6. nox -s test
Backtrace
Running unittests src/lib.rs (target/debug/deps/pyo3-63b2690869d110b9)

running 668 tests
test buffer::tests::test_bytes_buffer ... ok
test buffer::tests::test_compatible_size ... ok
test buffer::tests::test_array_buffer ... FAILED
test buffer::tests::test_debug ... ok
test buffer::tests::test_element_type_from_format ... ok
test conversions::std::array::tests::array_try_from_fn ... ok
test conversions::std::array::tests::test_array_intopyobject_impl ... ok
test conversions::std::array::tests::test_extract_bytearray_to_array ... ok
test conversions::std::array::tests::test_extract_invalid_sequence_length ... ok
test conversions::std::array::tests::test_extract_non_iterable_to_array ... ok
test conversions::std::array::tests::test_extract_small_bytearray_to_array ... ok
test conversions::std::array::tests::test_into_pyobject_array_conversion ... ok
test conversions::std::array::tests::test_intopyobject_array_conversion ... ok
test conversions::std::ipaddr::test_ipaddr::test_from_pystring ... ok
test conversions::std::map::tests::test_btreemap_into_py ... ok
test conversions::std::map::tests::test_btreemap_to_python ... ok
test conversions::std::map::tests::test_hashmap_into_python ... ok
test conversions::std::map::tests::test_hashmap_to_python ... ok
test conversions::std::num::test_128bit_integers::test_i128_max ... ok
test conversions::std::num::test_128bit_integers::test_i128_min ... ok
test conversions::std::num::test_128bit_integers::test_i128_overflow ... ok
test conversions::std::ipaddr::test_ipaddr::test_roundtrip ... ok
test conversions::std::num::test_128bit_integers::test_nonzero_i128_max ... ok
test conversions::std::num::test_128bit_integers::test_nonzero_i128_min ... ok
test conversions::std::num::test_128bit_integers::test_nonzero_i128_overflow ... ok
test conversions::std::num::test_128bit_integers::test_i128_roundtrip ... ok
test conversions::std::num::test_128bit_integers::test_nonzero_i128_zero_value ... ok
test conversions::std::num::test_128bit_integers::test_nonzero_u128_max ... ok
test conversions::std::num::test_128bit_integers::test_nonzero_u128_overflow ... ok
test conversions::std::num::test_128bit_integers::test_nonzero_i128_roundtrip ... ok
test conversions::std::num::test_128bit_integers::test_nonzero_u128_zero_value ... ok
test conversions::std::num::test_128bit_integers::test_u128_max ... ok
test conversions::std::num::test_128bit_integers::test_u128_overflow ... ok
test conversions::std::num::test_128bit_integers::test_nonzero_u128_roundtrip ... ok
test conversions::std::num::tests::i128::from_py_float_type_error ... ok
test conversions::std::num::tests::i128::from_py_string_type_error ... ok
test conversions::std::num::tests::i128::to_py_object_and_back ... ok
test conversions::std::num::tests::i16::from_py_float_type_error ... ok
test conversions::std::num::tests::i16::from_py_string_type_error ... ok
test conversions::std::num::tests::i16::to_py_object_and_back ... ok
test conversions::std::num::tests::i32::from_py_float_type_error ... ok
test conversions::std::num::tests::i32::from_py_string_type_error ... ok
test conversions::std::num::tests::i32::to_py_object_and_back ... ok
test conversions::std::num::tests::i64::from_py_float_type_error ... ok
test conversions::std::num::tests::i64::from_py_string_type_error ... ok
test conversions::std::num::tests::i64::to_py_object_and_back ... ok
test conversions::std::num::tests::i8::from_py_float_type_error ... ok
test conversions::std::num::tests::i8::from_py_string_type_error ... ok
test conversions::std::num::tests::i8::to_py_object_and_back ... ok
test conversions::std::num::tests::isize::from_py_float_type_error ... ok
test conversions::std::num::tests::isize::from_py_string_type_error ... ok
test conversions::std::num::tests::isize::to_py_object_and_back ... ok
test conversions::std::num::tests::nonzero_i128::from_py_float_type_error ... ok
test conversions::std::num::tests::nonzero_i128::from_py_string_type_error ... ok
test conversions::std::num::tests::nonzero_i128::to_py_object_and_back ... ok
test conversions::std::num::tests::nonzero_i16::from_py_float_type_error ... ok
test conversions::std::num::tests::nonzero_i16::from_py_string_type_error ... ok
test conversions::std::num::tests::nonzero_i16::to_py_object_and_back ... ok
test conversions::std::num::tests::nonzero_i32::from_py_float_type_error ... ok
test conversions::std::num::tests::nonzero_i32::from_py_string_type_error ... ok
test conversions::std::num::tests::nonzero_i32::to_py_object_and_back ... ok
test conversions::std::num::tests::nonzero_i64::from_py_float_type_error ... ok
test conversions::std::num::tests::nonzero_i64::from_py_string_type_error ... ok
test conversions::std::num::tests::nonzero_i64::to_py_object_and_back ... ok
test conversions::std::num::tests::nonzero_i8::from_py_float_type_error ... ok
test conversions::std::num::tests::nonzero_i8::from_py_string_type_error ... ok
test conversions::std::num::tests::nonzero_i8::to_py_object_and_back ... ok
test conversions::std::num::tests::nonzero_isize::from_py_float_type_error ... ok
test conversions::std::num::tests::nonzero_isize::from_py_string_type_error ... ok
test conversions::std::num::tests::nonzero_isize::to_py_object_and_back ... ok
test conversions::std::num::tests::nonzero_u128::from_py_float_type_error ... ok
test conversions::std::num::tests::nonzero_u128::from_py_string_type_error ... ok
test conversions::std::num::tests::nonzero_u128::to_py_object_and_back ... ok
test conversions::std::num::tests::nonzero_u16::from_py_float_type_error ... ok
test conversions::std::num::tests::nonzero_u16::from_py_string_type_error ... ok
test conversions::std::num::tests::nonzero_u16::to_py_object_and_back ... ok
test conversions::std::num::tests::nonzero_u32::from_py_float_type_error ... ok
test conversions::std::num::tests::nonzero_u32::from_py_string_type_error ... ok
test conversions::std::num::tests::nonzero_u32::to_py_object_and_back ... ok
test conversions::std::num::tests::nonzero_u64::from_py_float_type_error ... ok
test conversions::std::num::tests::nonzero_u64::from_py_string_type_error ... ok
test conversions::std::num::tests::nonzero_u64::to_py_object_and_back ... ok
test conversions::std::num::tests::nonzero_u8::from_py_float_type_error ... ok
test conversions::std::num::tests::nonzero_u8::from_py_string_type_error ... ok
test conversions::std::num::tests::nonzero_u8::to_py_object_and_back ... ok
test conversions::std::num::tests::nonzero_usize::from_py_float_type_error ... ok
test conversions::std::num::tests::nonzero_usize::from_py_string_type_error ... ok
test conversions::std::num::tests::nonzero_usize::to_py_object_and_back ... ok
test conversions::std::num::tests::test_i64_bool ... ok
test conversions::std::num::tests::test_i64_f64 ... ok
test conversions::std::num::tests::test_i64_max ... ok
test conversions::std::num::tests::test_i64_min ... ok
test conversions::std::num::tests::test_nonzero_i64_max ... ok
test conversions::std::num::tests::test_nonzero_i64_min ... ok
test conversions::std::num::tests::test_nonzero_u32_max ... ok
test conversions::std::num::tests::test_nonzero_u64_max ... ok
test conversions::std::num::tests::test_u32_max ... ok
test conversions::std::num::tests::test_u64_max ... ok
test conversions::std::num::tests::u128::from_py_float_type_error ... ok
test conversions::std::num::tests::u128::from_py_string_type_error ... ok
test conversions::std::num::tests::u128::to_py_object_and_back ... ok
test conversions::std::num::tests::u16::from_py_float_type_error ... ok
test conversions::std::num::tests::u16::from_py_string_type_error ... ok
test conversions::std::num::tests::u16::to_py_object_and_back ... ok
test conversions::std::num::tests::u32::from_py_float_type_error ... ok
test conversions::std::num::tests::u32::from_py_string_type_error ... ok
test conversions::std::num::tests::u32::to_py_object_and_back ... ok
test conversions::std::num::tests::u64::from_py_float_type_error ... ok
test conversions::std::num::tests::u64::from_py_string_type_error ... ok
test conversions::std::num::tests::u64::to_py_object_and_back ... ok
test conversions::std::num::tests::u8::from_py_float_type_error ... ok
test conversions::std::num::tests::u8::from_py_string_type_error ... ok
test conversions::std::num::tests::u8::to_py_object_and_back ... ok
test conversions::std::num::tests::usize::from_py_float_type_error ... ok
test conversions::std::num::tests::usize::from_py_string_type_error ... ok
test conversions::std::num::tests::usize::to_py_object_and_back ... ok
test conversions::std::osstr::tests::test_intopyobject_roundtrip ... ok
test conversions::std::osstr::tests::test_non_utf8_conversion ... ok
test conversions::std::path::tests::test_from_pystring ... ok
test conversions::std::num::test_128bit_integers::test_u128_roundtrip ... ok
test conversions::std::path::tests::test_non_utf8_conversion ... FAILED
test conversions::std::path::tests::test_intopyobject_roundtrip ... FAILED
test conversions::std::set::tests::test_extract_btreeset ... ok
test conversions::std::set::tests::test_extract_hashset ... ok
test conversions::std::set::tests::test_set_into_pyobject ... ok
test conversions::std::slice::tests::test_cow_impl ... ok
test conversions::std::slice::tests::test_cow_intopyobject_impl ... ok
test conversions::std::slice::tests::test_extract_bytes ... ok
test conversions::std::slice::tests::test_slice_intopyobject_impl ... ok
test conversions::std::string::tests::test_cow_into_pyobject ... ok
test conversions::std::string::tests::test_extract_char ... ok
test conversions::std::string::tests::test_extract_char_err ... ok
test conversions::std::string::tests::test_extract_str ... ok
test conversions::std::string::tests::test_non_bmp ... ok
test conversions::std::string::tests::test_string_into_pyobject ... ok
test conversions::std::time::tests::test_duration_frompyobject ... FAILED
test conversions::std::time::tests::test_duration_into_pyobject ... FAILED
test conversions::std::time::tests::test_duration_frompyobject_negative ... FAILED
test conversions::std::time::tests::test_duration_into_pyobject_overflow ... ok
test conversions::std::time::tests::test_time_frompyobject ... FAILED
test conversions::std::time::tests::test_time_intopyobject ... FAILED
test conversions::std::time::tests::test_time_frompyobject_before_epoch ... FAILED
test conversions::std::time::tests::test_time_intopyobject_overflow ... ok
test conversions::std::vec::tests::test_vec_intopyobject_impl ... ok
test conversions::std::vec::tests::test_vec_reference_intopyobject_impl ... ok
test err::err_state::tests::test_reentrant_normalization - should panic ... ok
test err::impls::tests::io_errors ... ok
test err::tests::err_debug ... ok
test err::tests::err_display ... ok
pyo3_runtime.PanicException: new panic
test err::tests::fetching_panic_exception_resumes_unwind - should panic ... ok
test err::tests::invalid_error_type ... ok
test err::tests::no_error ... ok
test err::tests::set_typeerror ... ok
test err::tests::set_valueerror ... ok
test err::tests::test_pyerr_cause ... ok
test err::tests::test_pyerr_matches ... ok
test err::tests::test_pyerr_send_sync ... ok
test err::tests::warnings ... ok
test err::err_state::tests::test_no_deadlock_thread_switch ... ok
test exceptions::asyncio::tests::CancelledError ... FAILED
test exceptions::asyncio::tests::IncompleteReadError ... FAILED
test exceptions::asyncio::tests::InvalidStateError ... FAILED
test exceptions::asyncio::tests::LimitOverrunError ... FAILED
test exceptions::asyncio::tests::QueueEmpty ... FAILED
test exceptions::asyncio::tests::QueueFull ... FAILED
test exceptions::asyncio::tests::TimeoutError ... FAILED
test exceptions::socket::tests::gaierror ... FAILED
test exceptions::socket::tests::herror ... FAILED
test exceptions::socket::tests::timeout ... FAILED
test exceptions::tests::PyArithmeticError ... ok
test exceptions::tests::PyAssertionError ... ok
test exceptions::tests::PyAttributeError ... ok
test exceptions::tests::PyBaseException ... ok
test exceptions::tests::PyBaseExceptionGroup ... ok
test exceptions::tests::PyBlockingIOError ... ok
test exceptions::tests::PyBrokenPipeError ... ok
test exceptions::tests::PyBufferError ... ok
test exceptions::tests::PyBytesWarning ... ok
test exceptions::tests::PyChildProcessError ... ok
test exceptions::tests::PyConnectionAbortedError ... ok
test exceptions::tests::PyConnectionError ... ok
test exceptions::tests::PyConnectionRefusedError ... ok
test exceptions::tests::PyConnectionResetError ... ok
test exceptions::tests::PyDeprecationWarning ... ok
test exceptions::tests::PyEOFError ... ok
test exceptions::tests::PyEncodingWarning ... ok
test exceptions::tests::PyEnvironmentError ... ok
test exceptions::tests::PyException ... ok
test exceptions::tests::PyFileExistsError ... ok
test exceptions::tests::PyFileNotFoundError ... ok
test exceptions::tests::PyFloatingPointError ... ok
test exceptions::tests::PyFutureWarning ... ok
test exceptions::tests::PyGeneratorExit ... ok
test exceptions::tests::PyIOError ... ok
test exceptions::tests::PyImportError ... ok
test exceptions::tests::PyImportWarning ... ok
test exceptions::tests::PyIndexError ... ok
test exceptions::tests::PyInterruptedError ... ok
test exceptions::tests::PyIsADirectoryError ... ok
test exceptions::tests::PyKeyError ... ok
test exceptions::tests::PyKeyboardInterrupt ... ok
test exceptions::tests::PyLookupError ... ok
test exceptions::tests::PyMemoryError ... ok
test exceptions::tests::PyModuleNotFoundError ... ok
test exceptions::tests::PyNameError ... ok
test exceptions::tests::PyNotADirectoryError ... ok
test exceptions::tests::PyNotImplementedError ... ok
test exceptions::tests::PyOSError ... ok
test exceptions::tests::PyOverflowError ... ok
test exceptions::tests::PyPendingDeprecationWarning ... ok
test exceptions::tests::PyPermissionError ... ok
test exceptions::tests::PyProcessLookupError ... ok
test exceptions::tests::PyRecursionError ... ok
test exceptions::tests::PyReferenceError ... ok
test exceptions::tests::PyRuntimeError ... ok
test exceptions::tests::PyRuntimeWarning ... ok
test exceptions::tests::PyStopAsyncIteration ... ok
test exceptions::tests::PyStopIteration ... ok
test exceptions::tests::PySyntaxError ... ok
test exceptions::tests::PySyntaxWarning ... ok
test exceptions::tests::PySystemExit ... ok
test exceptions::tests::PySystemError ... ok
test exceptions::tests::PyTimeoutError ... ok
test exceptions::tests::PyTypeError ... ok
test exceptions::tests::PyUnboundLocalError ... ok
test exceptions::tests::PyUnicodeDecodeError ... ok
test exceptions::tests::PyUnicodeError ... ok
test exceptions::tests::PyUnicodeTranslateError ... ok
test exceptions::tests::PyUnicodeWarning ... ok
test exceptions::tests::PyUnicodeEncodeError ... ok
test exceptions::tests::PyUserWarning ... ok
test exceptions::tests::PyValueError ... ok
test exceptions::tests::PyWarning ... ok
test exceptions::tests::PyZeroDivisionError ... ok
test exceptions::tests::custom_exception ... ok
test exceptions::tests::custom_exception_doc ... ok
test exceptions::tests::custom_exception_doc_expr ... ok
test exceptions::tests::custom_exception_dotted_module ... ok
test exceptions::tests::native_exception_display ... ok
test exceptions::tests::native_exception_debug ... ok
Traceback (most recent call last):
  File "/home/codespace/.python/current/lib/python3.12/socket.py", line 52, in <module>
    import _socket
ImportError: /home/codespace/.python/current/lib/python3.12/lib-dynload/_socket.cpython-312-x86_64-linux-gnu.so: undefined symbol: PyByteArray_Type
test exceptions::tests::test_check_exception_nested ... ok
test exceptions::tests::test_check_exception ... FAILED
test ffi::tests::ascii ... ok
test exceptions::tests::unicode_decode_error ... ok
test ffi::tests::ascii_object_bitfield ... ok

thread 'ffi::tests::test_date_fromtimestamp' panicked at pyo3-ffi/src/datetime.rs:726:13:
null pointer dereference occurred
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:697:5
   1: core::panicking::panic_nounwind_fmt::runtime
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/panicking.rs:117:22
   2: core::panicking::panic_nounwind_fmt
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/intrinsics/mod.rs:3196:9
   3: core::panicking::panic_null_pointer_dereference
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/panicking.rs:312:5
   4: pyo3_ffi::datetime::PyDate_FromTimestamp
             at ./pyo3-ffi/src/datetime.rs:726:13
   5: pyo3::ffi::tests::test_date_fromtimestamp::{{closure}}
             at ./src/ffi/tests.rs:44:39
   6: pyo3::marker::Python::attach
             at ./src/marker.rs:419:9
   7: pyo3::ffi::tests::test_date_fromtimestamp
             at ./src/ffi/tests.rs:40:5
   8: pyo3::ffi::tests::test_date_fromtimestamp::{{closure}}
             at ./src/ffi/tests.rs:38:29
   9: core::ops::function::FnOnce::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5
  10: core::ops::function::FnOnce::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread caused non-unwinding panic. aborting.
error: test failed, to rerun pass `--lib`

Caused by:
  process didn't exit successfully: `/workspaces/pyo3/target/debug/deps/pyo3-63b2690869d110b9` (signal: 6, SIGABRT: process abort signal)

_____________________________________________________________________________


_____________________________________________________________________________

     Running tests/test_datetime.rs (target/debug/deps/test_datetime-baaada7273d810cb)

running 8 tests
test test_date_check ... FAILED
Traceback (most recent call last):
  File "/home/codespace/.python/current/lib/python3.12/datetime.py", line 2, in <module>
    from _datetime import *
test test_datetime_utc ... FAILED
ImportError: /home/codespace/.python/current/lib/python3.12/lib-dynload/_datetime.cpython-312-x86_64-linux-gnu.so: undefined symbol: PyExc_NotImplementedError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/codespace/.python/current/lib/python3.12/datetime.py", line 5, in <module>
    from _pydatetime import *
  File "/home/codespace/.python/current/lib/python3.12/_pydatetime.py", line 12, in <module>
    import math as _math
ImportError: /home/codespace/.python/current/lib/python3.12/lib-dynload/math.cpython-312-x86_64-linux-gnu.so: undefined symbol: PyFloat_Type
test test_datetime_check ... FAILED
test test_delta_check ... FAILED
test test_pydate_out_of_bounds ... ok
test test_pydatetime_out_of_bounds ... ok
test test_pytime_out_of_bounds ... ok
test test_time_check ... FAILED

failures:

---- test_date_check stdout ----

thread 'test_date_check' panicked at tests/test_datetime.rs:74:85:
called `Result::unwrap()` on an `Err` value: PyErr { type: <class 'ImportError'>, value: ImportError('/home/codespace/.python/current/lib/python3.12/lib-dynload/math.cpython-312-x86_64-linux-gnu.so: undefined symbol: PyFloat_Type'), traceback: Some("Traceback (most recent call last):\n  File \"/home/codespace/.python/current/lib/python3.12/datetime.py\", line 5, in <module>\n    from _pydatetime import *\n  File \"/home/codespace/.python/current/lib/python3.12/_pydatetime.py\", line 12, in <module>\n    import math as _math\n") }
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:697:5
   1: core::panicking::panic_fmt
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/panicking.rs:75:14
   2: core::result::unwrap_failed
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/result.rs:1732:5
   3: core::result::Result<T,E>::unwrap
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/result.rs:1137:23
   4: test_datetime::test_date_check::{{closure}}
             at ./tests/test_datetime.rs:74:43
   5: pyo3::marker::Python::attach
             at ./src/marker.rs:419:9
   6: test_datetime::test_date_check
             at ./tests/test_datetime.rs:73:5
   7: test_datetime::test_date_check::{{closure}}
             at ./tests/test_datetime.rs:72:21
   8: core::ops::function::FnOnce::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5
   9: core::ops::function::FnOnce::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

---- test_datetime_utc stdout ----

thread 'test_datetime_utc' panicked at tests/test_datetime.rs:136:37:
called `Result::unwrap()` on an `Err` value: PyErr { type: <class 'ImportError'>, value: ImportError('PyCapsule_Import could not import module "datetime"'), traceback: None }
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:697:5
   1: core::panicking::panic_fmt
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/panicking.rs:75:14
   2: core::result::unwrap_failed
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/result.rs:1732:5
   3: core::result::Result<T,E>::unwrap
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/result.rs:1137:23
   4: test_datetime::test_datetime_utc::{{closure}}
             at ./tests/test_datetime.rs:136:19
   5: pyo3::marker::Python::attach
             at ./src/marker.rs:419:9
   6: test_datetime::test_datetime_utc
             at ./tests/test_datetime.rs:135:5
   7: test_datetime::test_datetime_utc::{{closure}}
             at ./tests/test_datetime.rs:131:23
   8: core::ops::function::FnOnce::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5
   9: core::ops::function::FnOnce::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

---- test_datetime_check stdout ----

thread 'test_datetime_check' panicked at tests/test_datetime.rs:105:14:
called `Result::unwrap()` on an `Err` value: ()
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:697:5
   1: core::panicking::panic_fmt
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/panicking.rs:75:14
   2: core::result::unwrap_failed
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/result.rs:1732:5
   3: core::result::Result<T,E>::unwrap
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/result.rs:1137:23
   4: test_datetime::test_datetime_check::{{closure}}
             at ./tests/test_datetime.rs:103:43
   5: pyo3::marker::Python::attach
             at ./src/marker.rs:419:9
   6: test_datetime::test_datetime_check
             at ./tests/test_datetime.rs:102:5
   7: test_datetime::test_datetime_check::{{closure}}
             at ./tests/test_datetime.rs:101:25
   8: core::ops::function::FnOnce::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5
   9: core::ops::function::FnOnce::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

---- test_delta_check stdout ----

thread 'test_delta_check' panicked at tests/test_datetime.rs:121:85:
called `Result::unwrap()` on an `Err` value: PyErr { type: <class 'ImportError'>, value: ImportError('/home/codespace/.python/current/lib/python3.12/lib-dynload/math.cpython-312-x86_64-linux-gnu.so: undefined symbol: PyFloat_Type'), traceback: Some("Traceback (most recent call last):\n  File \"/home/codespace/.python/current/lib/python3.12/datetime.py\", line 5, in <module>\n    from _pydatetime import *\n  File \"/home/codespace/.python/current/lib/python3.12/_pydatetime.py\", line 12, in <module>\n    import math as _math\n") }
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:697:5
   1: core::panicking::panic_fmt
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/panicking.rs:75:14
   2: core::result::unwrap_failed
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/result.rs:1732:5
   3: core::result::Result<T,E>::unwrap
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/result.rs:1137:23
   4: test_datetime::test_delta_check::{{closure}}
             at ./tests/test_datetime.rs:121:43
   5: pyo3::marker::Python::attach
             at ./src/marker.rs:419:9
   6: test_datetime::test_delta_check
             at ./tests/test_datetime.rs:120:5
   7: test_datetime::test_delta_check::{{closure}}
             at ./tests/test_datetime.rs:119:22
   8: core::ops::function::FnOnce::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5
   9: core::ops::function::FnOnce::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

---- test_time_check stdout ----

thread 'test_time_check' panicked at tests/test_datetime.rs:88:85:
called `Result::unwrap()` on an `Err` value: PyErr { type: <class 'KeyError'>, value: KeyError('datetime'), traceback: None }
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:697:5
   1: core::panicking::panic_fmt
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/panicking.rs:75:14
   2: core::result::unwrap_failed
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/result.rs:1732:5
   3: core::result::Result<T,E>::unwrap
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/result.rs:1137:23
   4: test_datetime::test_time_check::{{closure}}
             at ./tests/test_datetime.rs:88:43
   5: pyo3::marker::Python::attach
             at ./src/marker.rs:419:9
   6: test_datetime::test_time_check
             at ./tests/test_datetime.rs:87:5
   7: test_datetime::test_time_check::{{closure}}
             at ./tests/test_datetime.rs:86:21
   8: core::ops::function::FnOnce::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5
   9: core::ops::function::FnOnce::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.


failures:
    test_date_check
    test_datetime_check
    test_datetime_utc
    test_delta_check
    test_time_check

test result: FAILED. 3 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s

error: test failed, to rerun pass `--test test_datetime`

_____________________________________________________________________________

_____________________________________________________________________________

     Running tests/test_pyerr_debug_unformattable.rs (target/debug/deps/test_pyerr_debug_unformattable-818186b4c8017c04)

running 1 test
test err_debug_unformattable ... FAILED

failures:

---- err_debug_unformattable stdout ----

thread 'err_debug_unformattable' panicked at tests/test_pyerr_debug_unformattable.rs:43:9:
assertion `left == right` failed
  left: "type: <class 'ImportError'>"
 right: "type: <class 'Exception'>"
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:697:5
   1: core::panicking::panic_fmt
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/panicking.rs:75:14
   2: core::panicking::assert_failed_inner
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/panicking.rs:433:17
   3: core::panicking::assert_failed
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/panicking.rs:388:5
   4: test_pyerr_debug_unformattable::err_debug_unformattable::{{closure}}
             at ./tests/test_pyerr_debug_unformattable.rs:43:9
   5: pyo3::marker::Python::attach
             at ./src/marker.rs:419:9
   6: test_pyerr_debug_unformattable::err_debug_unformattable
             at ./tests/test_pyerr_debug_unformattable.rs:17:5
   7: test_pyerr_debug_unformattable::err_debug_unformattable::{{closure}}
             at ./tests/test_pyerr_debug_unformattable.rs:9:29
   8: core::ops::function::FnOnce::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5
   9: core::ops::function::FnOnce::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.


failures:
    err_debug_unformattable

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s

error: test failed, to rerun pass `--test test_pyerr_debug_unformattable`
Your operating system and version

Linux codespaces-e89ac6 6.8.0-1027-azure #32~22.04.1-Ubuntu SMP Thu Apr 3 20:26:27 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Your Python version (python --version)

Python 3.12.1

Your Rust version (rustc --version)

rustc 1.88.0 (6b00bc388 2025-06-23)

Your PyO3 version
How did you install python? Did you use a virtualenv?

OS default

Additional Info

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure with nox -s test in a GitHub Codespace and isolate the --lib, test_datetime, and test_pyerr_debug_unformattable failures from the reported output. Trace the listed failing tests to their implementation and environment assumptions; done means the test session passes on the main branch in Codespaces.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, python, rust
Domain
devops, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.