Package: src:django-environ
Version: 0.12.0-1
Severity: serious
Tags: ftbfs trixie sid

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
I: pybuild base:311: python3.12 setup.py clean 
running clean
removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_django-environ/build' (and 
everything under it)
'build/bdist.linux-x86_64' does not exist -- can't clean it
'build/scripts-3.12' does not exist -- can't clean it
I: pybuild base:311: python3.13 setup.py clean 
running clean
removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_django-environ/build' (and 
everything under it)
'build/bdist.linux-x86_64' does not exist -- can't clean it
'build/scripts-3.13' does not exist -- can't clean it
   dh_autoreconf_clean -O--buildsystem=pybuild

[... snipped ...]

tests/test_env.py::TestEnv::test_contains PASSED                         [ 28%]
tests/test_env.py::TestEnv::test_str[STR_VAR-bar-False] PASSED           [ 28%]
tests/test_env.py::TestEnv::test_str[MULTILINE_STR_VAR-foo\\nbar-False] PASSED 
[ 28%]
tests/test_env.py::TestEnv::test_str[MULTILINE_STR_VAR-foo\nbar-True] PASSED [ 
29%]
tests/test_env.py::TestEnv::test_str[MULTILINE_QUOTED_STR_VAR----BEGIN---\\r\\n---END----False]
 PASSED [ 29%]
tests/test_env.py::TestEnv::test_str[MULTILINE_QUOTED_STR_VAR----BEGIN---\n---END----True]
 PASSED [ 29%]
tests/test_env.py::TestEnv::test_str[MULTILINE_ESCAPED_STR_VAR----BEGIN---\\\\n---END----False]
 PASSED [ 29%]
tests/test_env.py::TestEnv::test_str[MULTILINE_ESCAPED_STR_VAR----BEGIN---\\\n---END----True]
 PASSED [ 30%]
tests/test_env.py::TestEnv::test_bytes[STR_VAR-bar-default0] PASSED      [ 30%]
tests/test_env.py::TestEnv::test_bytes[NON_EXISTENT_BYTES_VAR-some-default-some-default]
 PASSED [ 30%]
tests/test_env.py::TestEnv::test_bytes[NON_EXISTENT_STR_VAR-some-default-some-default]
 PASSED [ 30%]
tests/test_env.py::TestEnv::test_int PASSED                              [ 31%]
tests/test_env.py::TestEnv::test_int_with_none_default PASSED            [ 31%]
tests/test_env.py::TestEnv::test_float[33.3-FLOAT_VAR] PASSED            [ 31%]
tests/test_env.py::TestEnv::test_float[33.3-FLOAT_COMMA_VAR] PASSED      [ 31%]
tests/test_env.py::TestEnv::test_float[123420333.3-FLOAT_STRANGE_VAR1] PASSED [ 
32%]
tests/test_env.py::TestEnv::test_float[123420333.3-FLOAT_STRANGE_VAR2] PASSED [ 
32%]
tests/test_env.py::TestEnv::test_float[-1.0-FLOAT_NEGATIVE_VAR] PASSED   [ 32%]
tests/test_env.py::TestEnv::test_bool_true[True-BOOL_TRUE_STRING_LIKE_INT] 
PASSED [ 32%]
tests/test_env.py::TestEnv::test_bool_true[True-BOOL_TRUE_STRING_LIKE_BOOL] 
PASSED [ 33%]
tests/test_env.py::TestEnv::test_bool_true[True-BOOL_TRUE_INT] PASSED    [ 33%]
tests/test_env.py::TestEnv::test_bool_true[True-BOOL_TRUE_BOOL] PASSED   [ 33%]
tests/test_env.py::TestEnv::test_bool_true[True-BOOL_TRUE_STRING_1] PASSED [ 
34%]
tests/test_env.py::TestEnv::test_bool_true[True-BOOL_TRUE_STRING_2] PASSED [ 
34%]
tests/test_env.py::TestEnv::test_bool_true[True-BOOL_TRUE_STRING_3] PASSED [ 
34%]
tests/test_env.py::TestEnv::test_bool_true[True-BOOL_TRUE_STRING_4] PASSED [ 
34%]
tests/test_env.py::TestEnv::test_bool_true[True-BOOL_TRUE_STRING_5] PASSED [ 
35%]
tests/test_env.py::TestEnv::test_bool_true[False-BOOL_FALSE_STRING_LIKE_INT] 
PASSED [ 35%]
tests/test_env.py::TestEnv::test_bool_true[False-BOOL_FALSE_INT] PASSED  [ 35%]
tests/test_env.py::TestEnv::test_bool_true[False-BOOL_FALSE_STRING_LIKE_BOOL] 
PASSED [ 35%]
tests/test_env.py::TestEnv::test_bool_true[False-BOOL_FALSE_BOOL] PASSED [ 36%]
tests/test_env.py::TestEnv::test_proxied_value PASSED                    [ 36%]
tests/test_env.py::TestEnv::test_escaped_dollar_sign PASSED              [ 36%]
tests/test_env.py::TestEnv::test_escaped_dollar_sign_disabled PASSED     [ 36%]
tests/test_env.py::TestEnv::test_int_list PASSED                         [ 37%]
tests/test_env.py::TestEnv::test_int_list_cast_tuple PASSED              [ 37%]
tests/test_env.py::TestEnv::test_int_tuple PASSED                        [ 37%]
tests/test_env.py::TestEnv::test_mix_tuple_issue_387 PASSED              [ 37%]
tests/test_env.py::TestEnv::test_str_list_with_spaces PASSED             [ 38%]
tests/test_env.py::TestEnv::test_empty_list PASSED                       [ 38%]
tests/test_env.py::TestEnv::test_dict_value PASSED                       [ 38%]
tests/test_env.py::TestEnv::test_complex_dict_value PASSED               [ 38%]
tests/test_env.py::TestEnv::test_dict_parsing[dict] PASSED               [ 39%]
tests/test_env.py::TestEnv::test_dict_parsing[dict_int] PASSED           [ 39%]
tests/test_env.py::TestEnv::test_dict_parsing[dict_float] PASSED         [ 39%]
tests/test_env.py::TestEnv::test_dict_parsing[dict_str_list] PASSED      [ 40%]
tests/test_env.py::TestEnv::test_dict_parsing[dict_int_list] PASSED      [ 40%]
tests/test_env.py::TestEnv::test_dict_parsing[dict_int_cast] PASSED      [ 40%]
tests/test_env.py::TestEnv::test_dict_parsing[dict_str_cast] PASSED      [ 40%]
tests/test_env.py::TestEnv::test_url_value PASSED                        [ 41%]
tests/test_env.py::TestEnv::test_url_empty_string_default_value PASSED   [ 41%]
tests/test_env.py::TestEnv::test_url_encoded_parts PASSED                [ 41%]
tests/test_env.py::TestEnv::test_db_url_value[postgres] PASSED           [ 41%]
tests/test_env.py::TestEnv::test_db_url_value[mysql] PASSED              [ 42%]
tests/test_env.py::TestEnv::test_db_url_value[mysql_gis] PASSED          [ 42%]
tests/test_env.py::TestEnv::test_db_url_value[oracle_tns] PASSED         [ 42%]
tests/test_env.py::TestEnv::test_db_url_value[oracle] PASSED             [ 42%]
tests/test_env.py::TestEnv::test_db_url_value[redshift] PASSED           [ 43%]
tests/test_env.py::TestEnv::test_db_url_value[sqlite] PASSED             [ 43%]
tests/test_env.py::TestEnv::test_db_url_value[custom] PASSED             [ 43%]
tests/test_env.py::TestEnv::test_db_url_value[cloudsql] PASSED           [ 43%]
tests/test_env.py::TestEnv::test_cache_url_value[memcached] PASSED       [ 44%]
tests/test_env.py::TestEnv::test_cache_url_value[redis] PASSED           [ 44%]
tests/test_env.py::TestEnv::test_email_url_value PASSED                  [ 44%]
tests/test_env.py::TestEnv::test_json_value PASSED                       [ 44%]
tests/test_env.py::TestEnv::test_path PASSED                             [ 45%]
tests/test_env.py::TestEnv::test_smart_cast PASSED                       [ 45%]
tests/test_env.py::TestEnv::test_exported PASSED                         [ 45%]
tests/test_env.py::TestEnv::test_prefix PASSED                           [ 45%]
tests/test_env.py::TestEnv::test_prefix_and_not_present_without_default PASSED 
[ 46%]
tests/test_env.py::TestFileEnv::test_not_present_with_default PASSED     [ 46%]
tests/test_env.py::TestFileEnv::test_not_present_without_default PASSED  [ 46%]
tests/test_env.py::TestFileEnv::test_contains PASSED                     [ 47%]
tests/test_env.py::TestFileEnv::test_str[STR_VAR-bar-False] PASSED       [ 47%]
tests/test_env.py::TestFileEnv::test_str[MULTILINE_STR_VAR-foo\\nbar-False] 
PASSED [ 47%]
tests/test_env.py::TestFileEnv::test_str[MULTILINE_STR_VAR-foo\nbar-True] 
PASSED [ 47%]
tests/test_env.py::TestFileEnv::test_str[MULTILINE_QUOTED_STR_VAR----BEGIN---\\r\\n---END----False]
 PASSED [ 48%]
tests/test_env.py::TestFileEnv::test_str[MULTILINE_QUOTED_STR_VAR----BEGIN---\n---END----True]
 PASSED [ 48%]
tests/test_env.py::TestFileEnv::test_str[MULTILINE_ESCAPED_STR_VAR----BEGIN---\\\\n---END----False]
 PASSED [ 48%]
tests/test_env.py::TestFileEnv::test_str[MULTILINE_ESCAPED_STR_VAR----BEGIN---\\\n---END----True]
 PASSED [ 48%]
tests/test_env.py::TestFileEnv::test_bytes[STR_VAR-bar-default0] PASSED  [ 49%]
tests/test_env.py::TestFileEnv::test_bytes[NON_EXISTENT_BYTES_VAR-some-default-some-default]
 PASSED [ 49%]
tests/test_env.py::TestFileEnv::test_bytes[NON_EXISTENT_STR_VAR-some-default-some-default]
 PASSED [ 49%]
tests/test_env.py::TestFileEnv::test_int PASSED                          [ 49%]
tests/test_env.py::TestFileEnv::test_int_with_none_default PASSED        [ 50%]
tests/test_env.py::TestFileEnv::test_float[33.3-FLOAT_VAR] PASSED        [ 50%]
tests/test_env.py::TestFileEnv::test_float[33.3-FLOAT_COMMA_VAR] PASSED  [ 50%]
tests/test_env.py::TestFileEnv::test_float[123420333.3-FLOAT_STRANGE_VAR1] 
PASSED [ 50%]
tests/test_env.py::TestFileEnv::test_float[123420333.3-FLOAT_STRANGE_VAR2] 
PASSED [ 51%]
tests/test_env.py::TestFileEnv::test_float[-1.0-FLOAT_NEGATIVE_VAR] PASSED [ 
51%]
tests/test_env.py::TestFileEnv::test_bool_true[True-BOOL_TRUE_STRING_LIKE_INT] 
PASSED [ 51%]
tests/test_env.py::TestFileEnv::test_bool_true[True-BOOL_TRUE_STRING_LIKE_BOOL] 
PASSED [ 51%]
tests/test_env.py::TestFileEnv::test_bool_true[True-BOOL_TRUE_INT] PASSED [ 52%]
tests/test_env.py::TestFileEnv::test_bool_true[True-BOOL_TRUE_BOOL] PASSED [ 
52%]
tests/test_env.py::TestFileEnv::test_bool_true[True-BOOL_TRUE_STRING_1] PASSED 
[ 52%]
tests/test_env.py::TestFileEnv::test_bool_true[True-BOOL_TRUE_STRING_2] PASSED 
[ 52%]
tests/test_env.py::TestFileEnv::test_bool_true[True-BOOL_TRUE_STRING_3] PASSED 
[ 53%]
tests/test_env.py::TestFileEnv::test_bool_true[True-BOOL_TRUE_STRING_4] PASSED 
[ 53%]
tests/test_env.py::TestFileEnv::test_bool_true[True-BOOL_TRUE_STRING_5] PASSED 
[ 53%]
tests/test_env.py::TestFileEnv::test_bool_true[False-BOOL_FALSE_STRING_LIKE_INT]
 PASSED [ 54%]
tests/test_env.py::TestFileEnv::test_bool_true[False-BOOL_FALSE_INT] PASSED [ 
54%]
tests/test_env.py::TestFileEnv::test_bool_true[False-BOOL_FALSE_STRING_LIKE_BOOL]
 PASSED [ 54%]
tests/test_env.py::TestFileEnv::test_bool_true[False-BOOL_FALSE_BOOL] PASSED [ 
54%]
tests/test_env.py::TestFileEnv::test_proxied_value PASSED                [ 55%]
tests/test_env.py::TestFileEnv::test_escaped_dollar_sign PASSED          [ 55%]
tests/test_env.py::TestFileEnv::test_escaped_dollar_sign_disabled PASSED [ 55%]
tests/test_env.py::TestFileEnv::test_int_list PASSED                     [ 55%]
tests/test_env.py::TestFileEnv::test_int_list_cast_tuple PASSED          [ 56%]
tests/test_env.py::TestFileEnv::test_int_tuple PASSED                    [ 56%]
tests/test_env.py::TestFileEnv::test_mix_tuple_issue_387 PASSED          [ 56%]
tests/test_env.py::TestFileEnv::test_str_list_with_spaces PASSED         [ 56%]
tests/test_env.py::TestFileEnv::test_empty_list PASSED                   [ 57%]
tests/test_env.py::TestFileEnv::test_dict_value PASSED                   [ 57%]
tests/test_env.py::TestFileEnv::test_complex_dict_value PASSED           [ 57%]
tests/test_env.py::TestFileEnv::test_dict_parsing[dict] PASSED           [ 57%]
tests/test_env.py::TestFileEnv::test_dict_parsing[dict_int] PASSED       [ 58%]
tests/test_env.py::TestFileEnv::test_dict_parsing[dict_float] PASSED     [ 58%]
tests/test_env.py::TestFileEnv::test_dict_parsing[dict_str_list] PASSED  [ 58%]
tests/test_env.py::TestFileEnv::test_dict_parsing[dict_int_list] PASSED  [ 58%]
tests/test_env.py::TestFileEnv::test_dict_parsing[dict_int_cast] PASSED  [ 59%]
tests/test_env.py::TestFileEnv::test_dict_parsing[dict_str_cast] PASSED  [ 59%]
tests/test_env.py::TestFileEnv::test_url_value PASSED                    [ 59%]
tests/test_env.py::TestFileEnv::test_url_empty_string_default_value PASSED [ 
60%]
tests/test_env.py::TestFileEnv::test_url_encoded_parts PASSED            [ 60%]
tests/test_env.py::TestFileEnv::test_db_url_value[postgres] PASSED       [ 60%]
tests/test_env.py::TestFileEnv::test_db_url_value[mysql] PASSED          [ 60%]
tests/test_env.py::TestFileEnv::test_db_url_value[mysql_gis] PASSED      [ 61%]
tests/test_env.py::TestFileEnv::test_db_url_value[oracle_tns] PASSED     [ 61%]
tests/test_env.py::TestFileEnv::test_db_url_value[oracle] PASSED         [ 61%]
tests/test_env.py::TestFileEnv::test_db_url_value[redshift] PASSED       [ 61%]
tests/test_env.py::TestFileEnv::test_db_url_value[sqlite] PASSED         [ 62%]
tests/test_env.py::TestFileEnv::test_db_url_value[custom] PASSED         [ 62%]
tests/test_env.py::TestFileEnv::test_db_url_value[cloudsql] PASSED       [ 62%]
tests/test_env.py::TestFileEnv::test_cache_url_value[memcached] PASSED   [ 62%]
tests/test_env.py::TestFileEnv::test_cache_url_value[redis] PASSED       [ 63%]
tests/test_env.py::TestFileEnv::test_email_url_value PASSED              [ 63%]
tests/test_env.py::TestFileEnv::test_json_value PASSED                   [ 63%]
tests/test_env.py::TestFileEnv::test_path PASSED                         [ 63%]
tests/test_env.py::TestFileEnv::test_smart_cast PASSED                   [ 64%]
tests/test_env.py::TestFileEnv::test_exported PASSED                     [ 64%]
tests/test_env.py::TestFileEnv::test_prefix PASSED                       [ 64%]
tests/test_env.py::TestFileEnv::test_prefix_and_not_present_without_default 
PASSED [ 64%]
tests/test_env.py::TestFileEnv::test_read_env_path_like PASSED           [ 65%]
tests/test_env.py::TestFileEnv::test_existing_overwrite[True] PASSED     [ 65%]
tests/test_env.py::TestFileEnv::test_existing_overwrite[False] PASSED    [ 65%]
tests/test_env.py::TestSubClass::test_not_present_with_default PASSED    [ 65%]
tests/test_env.py::TestSubClass::test_not_present_without_default PASSED [ 66%]
tests/test_env.py::TestSubClass::test_contains PASSED                    [ 66%]
tests/test_env.py::TestSubClass::test_str[STR_VAR-bar-False] PASSED      [ 66%]
tests/test_env.py::TestSubClass::test_str[MULTILINE_STR_VAR-foo\\nbar-False] 
PASSED [ 67%]
tests/test_env.py::TestSubClass::test_str[MULTILINE_STR_VAR-foo\nbar-True] 
PASSED [ 67%]
tests/test_env.py::TestSubClass::test_str[MULTILINE_QUOTED_STR_VAR----BEGIN---\\r\\n---END----False]
 PASSED [ 67%]
tests/test_env.py::TestSubClass::test_str[MULTILINE_QUOTED_STR_VAR----BEGIN---\n---END----True]
 PASSED [ 67%]
tests/test_env.py::TestSubClass::test_str[MULTILINE_ESCAPED_STR_VAR----BEGIN---\\\\n---END----False]
 PASSED [ 68%]
tests/test_env.py::TestSubClass::test_str[MULTILINE_ESCAPED_STR_VAR----BEGIN---\\\n---END----True]
 PASSED [ 68%]
tests/test_env.py::TestSubClass::test_bytes[STR_VAR-bar-default0] PASSED [ 68%]
tests/test_env.py::TestSubClass::test_bytes[NON_EXISTENT_BYTES_VAR-some-default-some-default]
 PASSED [ 68%]
tests/test_env.py::TestSubClass::test_bytes[NON_EXISTENT_STR_VAR-some-default-some-default]
 PASSED [ 69%]
tests/test_env.py::TestSubClass::test_int PASSED                         [ 69%]
tests/test_env.py::TestSubClass::test_int_with_none_default PASSED       [ 69%]
tests/test_env.py::TestSubClass::test_float[33.3-FLOAT_VAR] PASSED       [ 69%]
tests/test_env.py::TestSubClass::test_float[33.3-FLOAT_COMMA_VAR] PASSED [ 70%]
tests/test_env.py::TestSubClass::test_float[123420333.3-FLOAT_STRANGE_VAR1] 
PASSED [ 70%]
tests/test_env.py::TestSubClass::test_float[123420333.3-FLOAT_STRANGE_VAR2] 
PASSED [ 70%]
tests/test_env.py::TestSubClass::test_float[-1.0-FLOAT_NEGATIVE_VAR] PASSED [ 
70%]
tests/test_env.py::TestSubClass::test_bool_true[True-BOOL_TRUE_STRING_LIKE_INT] 
PASSED [ 71%]
tests/test_env.py::TestSubClass::test_bool_true[True-BOOL_TRUE_STRING_LIKE_BOOL]
 PASSED [ 71%]
tests/test_env.py::TestSubClass::test_bool_true[True-BOOL_TRUE_INT] PASSED [ 
71%]
tests/test_env.py::TestSubClass::test_bool_true[True-BOOL_TRUE_BOOL] PASSED [ 
71%]
tests/test_env.py::TestSubClass::test_bool_true[True-BOOL_TRUE_STRING_1] PASSED 
[ 72%]
tests/test_env.py::TestSubClass::test_bool_true[True-BOOL_TRUE_STRING_2] PASSED 
[ 72%]
tests/test_env.py::TestSubClass::test_bool_true[True-BOOL_TRUE_STRING_3] PASSED 
[ 72%]
tests/test_env.py::TestSubClass::test_bool_true[True-BOOL_TRUE_STRING_4] PASSED 
[ 72%]
tests/test_env.py::TestSubClass::test_bool_true[True-BOOL_TRUE_STRING_5] PASSED 
[ 73%]
tests/test_env.py::TestSubClass::test_bool_true[False-BOOL_FALSE_STRING_LIKE_INT]
 PASSED [ 73%]
tests/test_env.py::TestSubClass::test_bool_true[False-BOOL_FALSE_INT] PASSED [ 
73%]
tests/test_env.py::TestSubClass::test_bool_true[False-BOOL_FALSE_STRING_LIKE_BOOL]
 PASSED [ 74%]
tests/test_env.py::TestSubClass::test_bool_true[False-BOOL_FALSE_BOOL] PASSED [ 
74%]
tests/test_env.py::TestSubClass::test_proxied_value PASSED               [ 74%]
tests/test_env.py::TestSubClass::test_escaped_dollar_sign PASSED         [ 74%]
tests/test_env.py::TestSubClass::test_escaped_dollar_sign_disabled PASSED [ 75%]
tests/test_env.py::TestSubClass::test_int_list PASSED                    [ 75%]
tests/test_env.py::TestSubClass::test_int_list_cast_tuple PASSED         [ 75%]
tests/test_env.py::TestSubClass::test_int_tuple PASSED                   [ 75%]
tests/test_env.py::TestSubClass::test_mix_tuple_issue_387 PASSED         [ 76%]
tests/test_env.py::TestSubClass::test_str_list_with_spaces PASSED        [ 76%]
tests/test_env.py::TestSubClass::test_empty_list PASSED                  [ 76%]
tests/test_env.py::TestSubClass::test_dict_value PASSED                  [ 76%]
tests/test_env.py::TestSubClass::test_complex_dict_value PASSED          [ 77%]
tests/test_env.py::TestSubClass::test_dict_parsing[dict] PASSED          [ 77%]
tests/test_env.py::TestSubClass::test_dict_parsing[dict_int] PASSED      [ 77%]
tests/test_env.py::TestSubClass::test_dict_parsing[dict_float] PASSED    [ 77%]
tests/test_env.py::TestSubClass::test_dict_parsing[dict_str_list] PASSED [ 78%]
tests/test_env.py::TestSubClass::test_dict_parsing[dict_int_list] PASSED [ 78%]
tests/test_env.py::TestSubClass::test_dict_parsing[dict_int_cast] PASSED [ 78%]
tests/test_env.py::TestSubClass::test_dict_parsing[dict_str_cast] PASSED [ 78%]
tests/test_env.py::TestSubClass::test_url_value PASSED                   [ 79%]
tests/test_env.py::TestSubClass::test_url_empty_string_default_value PASSED [ 
79%]
tests/test_env.py::TestSubClass::test_url_encoded_parts PASSED           [ 79%]
tests/test_env.py::TestSubClass::test_db_url_value[postgres] PASSED      [ 80%]
tests/test_env.py::TestSubClass::test_db_url_value[mysql] PASSED         [ 80%]
tests/test_env.py::TestSubClass::test_db_url_value[mysql_gis] PASSED     [ 80%]
tests/test_env.py::TestSubClass::test_db_url_value[oracle_tns] PASSED    [ 80%]
tests/test_env.py::TestSubClass::test_db_url_value[oracle] PASSED        [ 81%]
tests/test_env.py::TestSubClass::test_db_url_value[redshift] PASSED      [ 81%]
tests/test_env.py::TestSubClass::test_db_url_value[sqlite] PASSED        [ 81%]
tests/test_env.py::TestSubClass::test_db_url_value[custom] PASSED        [ 81%]
tests/test_env.py::TestSubClass::test_db_url_value[cloudsql] PASSED      [ 82%]
tests/test_env.py::TestSubClass::test_cache_url_value[memcached] PASSED  [ 82%]
tests/test_env.py::TestSubClass::test_cache_url_value[redis] PASSED      [ 82%]
tests/test_env.py::TestSubClass::test_email_url_value PASSED             [ 82%]
tests/test_env.py::TestSubClass::test_json_value PASSED                  [ 83%]
tests/test_env.py::TestSubClass::test_path PASSED                        [ 83%]
tests/test_env.py::TestSubClass::test_smart_cast PASSED                  [ 83%]
tests/test_env.py::TestSubClass::test_exported PASSED                    [ 83%]
tests/test_env.py::TestSubClass::test_prefix PASSED                      [ 84%]
tests/test_env.py::TestSubClass::test_prefix_and_not_present_without_default 
PASSED [ 84%]
tests/test_env.py::TestSubClass::test_singleton_environ PASSED           [ 84%]
tests/test_fileaware.py::test_mapping PASSED                             [ 84%]
tests/test_fileaware.py::test_precidence PASSED                          [ 85%]
tests/test_fileaware.py::test_missing_file_raises_exception PASSED       [ 85%]
tests/test_fileaware.py::test_iter PASSED                                [ 85%]
tests/test_fileaware.py::test_len PASSED                                 [ 85%]
tests/test_fileaware.py::test_cache PASSED                               [ 86%]
tests/test_fileaware.py::test_no_cache PASSED                            [ 86%]
tests/test_fileaware.py::test_setdefault PASSED                          [ 86%]
tests/test_fileaware.py::TestDelItem::test_del_key PASSED                [ 87%]
tests/test_fileaware.py::TestDelItem::test_del_key_with_file_key PASSED  [ 87%]
tests/test_fileaware.py::TestDelItem::test_del_shadowed_key_with_file_key 
PASSED [ 87%]
tests/test_fileaware.py::TestDelItem::test_del_file_key PASSED           [ 87%]
tests/test_fileaware.py::TestDelItem::test_del_file_key_clears_cache PASSED [ 
88%]
tests/test_fileaware.py::TestSetItem::test_set_key PASSED                [ 88%]
tests/test_fileaware.py::TestSetItem::test_cant_override_key_with_file_key 
PASSED [ 88%]
tests/test_fileaware.py::TestSetItem::test_set_file_key PASSED           [ 88%]
tests/test_fileaware.py::TestSetItem::test_change_file_key_clears_cache PASSED 
[ 89%]
tests/test_path.py::test_str PASSED                                      [ 89%]
tests/test_path.py::test_path_class PASSED                               [ 89%]
tests/test_path.py::test_repr PASSED                                     [ 89%]
tests/test_path.py::test_comparison PASSED                               [ 90%]
tests/test_path.py::test_sum PASSED                                      [ 90%]
tests/test_path.py::test_subtraction PASSED                              [ 90%]
tests/test_path.py::test_subtraction_not_int PASSED                      [ 90%]
tests/test_path.py::test_required_path PASSED                            [ 91%]
tests/test_path.py::test_complex_manipulation PASSED                     [ 91%]
tests/test_schema.py::test_schema PASSED                                 [ 91%]
tests/test_search.py::test_solr_parsing PASSED                           [ 91%]
tests/test_search.py::test_solr_multicore_parsing PASSED                 [ 92%]
tests/test_search.py::test_elasticsearch_parsing[elasticsearch] PASSED   [ 92%]
tests/test_search.py::test_elasticsearch_parsing[elasticsearchs] PASSED  [ 92%]
tests/test_search.py::test_elasticsearch_parsing[elasticsearch2] PASSED  [ 92%]
tests/test_search.py::test_elasticsearch_parsing[elasticsearch2s] PASSED [ 93%]
tests/test_search.py::test_elasticsearch_parsing[elasticsearch5] PASSED  [ 93%]
tests/test_search.py::test_elasticsearch_parsing[elasticsearch5s] PASSED [ 93%]
tests/test_search.py::test_elasticsearch_parsing[elasticsearch7] PASSED  [ 94%]
tests/test_search.py::test_elasticsearch_parsing[elasticsearch7s] PASSED [ 94%]
tests/test_search.py::test_custom_search_engine PASSED                   [ 94%]
tests/test_search.py::test_whoosh_parsing[file] PASSED                   [ 94%]
tests/test_search.py::test_whoosh_parsing[ram] PASSED                    [ 95%]
tests/test_search.py::test_xapian_parsing[myflags] PASSED                [ 95%]
tests/test_search.py::test_simple_parsing PASSED                         [ 95%]
tests/test_search.py::test_common_args_parsing[solr://127.0.0.1:8983/solr] 
PASSED [ 95%]
tests/test_search.py::test_common_args_parsing[elasticsearch://127.0.0.1:9200/index]
 PASSED [ 96%]
tests/test_search.py::test_common_args_parsing[whoosh:///home/search/whoosh_index]
 PASSED [ 96%]
tests/test_search.py::test_common_args_parsing[xapian:///home/search/xapian_index]
 PASSED [ 96%]
tests/test_search.py::test_common_args_parsing[simple:///] PASSED        [ 96%]
tests/test_utils.py::test_cast[anything-] PASSED                         [ 97%]
tests/test_utils.py::test_cast[anything*] PASSED                         [ 97%]
tests/test_utils.py::test_cast[*anything] PASSED                         [ 97%]
tests/test_utils.py::test_cast[anything.] PASSED                         [ 97%]
tests/test_utils.py::test_cast[anything.1] PASSED                        [ 98%]
tests/test_utils.py::test_cast[(anything] PASSED                         [ 98%]
tests/test_utils.py::test_cast[anything-v1.2] PASSED                     [ 98%]
tests/test_utils.py::test_cast[anything-1.2] PASSED                      [ 98%]
tests/test_utils.py::test_cast[anything=] PASSED                         [ 99%]
tests/test_utils.py::test_cast_urlstr[Le-%7BFsIaYnaQw%7Da2B%2F%5BV8bS+-Le-{FsIaYnaQw}a2B/[V8bS+]
 PASSED [ 99%]
tests/test_utils.py::test_cast_urlstr[my_test-string+-my_test-string+] PASSED [ 
99%]
tests/test_utils.py::test_cast_urlstr[my%20test%20string+-my test string+] 
PASSED [100%]

=================================== FAILURES ===================================
______________________ test_db_parsing[postgres_cluster] _______________________

url = 
'postgres://username:p@ss:12,wor:34d@host1:111,22.55.44.88:222,[2001:db8::1234]:333/db'
engine = 'django.db.backends.postgresql', name = 'db'
host = 'host1,22.55.44.88,[2001:db8::1234]', user = 'username'
passwd = 'p@ss:12,wor:34d', port = '111,222,333'

    @pytest.mark.parametrize(
        'url,engine,name,host,user,passwd,port',
        [
            # postgres://user:password@host:port/dbname
            ('postgres://enigma:[email protected]:5431/dbname',
             DJANGO_POSTGRES,
             'dbname',
             'example.com',
             'enigma',
             'secret',
             5431),
            # postgres://path/dbname
            ('postgres:////var/run/postgresql/dbname',
             DJANGO_POSTGRES,
             'dbname',
             '/var/run/postgresql',
             '',
             '',
             ''),
            # postgis://user:password@host:port/dbname
            ('postgis://enigma:[email protected]:5431/dbname',
             'django.contrib.gis.db.backends.postgis',
             'dbname',
             'example.com',
             'enigma',
             'secret',
             5431),
            # postgres://user:password@host:port,host:port,host:port/dbname
            
('postgres://username:p@ss:12,wor:34d@host1:111,22.55.44.88:222,[2001:db8::1234]:333/db',
             DJANGO_POSTGRES,
             'db',
             'host1,22.55.44.88,[2001:db8::1234]',
             'username',
             'p@ss:12,wor:34d',
             '111,222,333'
             ),
            # postgres://host,host,host/dbname
            ('postgres://node1,node2,node3/db',
             DJANGO_POSTGRES,
             'db',
             'node1,node2,node3',
             '',
             '',
             ''
             ),
            # cockroachdb://username:[email protected]:26258/dbname
            ('cockroachdb://username:[email protected]:26258/dbname',
             'django_cockroachdb',
             'dbname',
             'test.example.com',
             'username',
             'secret',
             26258),
            # mysqlgis://user:password@host:port/dbname
            ('mysqlgis://enigma:[email protected]:5431/dbname',
             'django.contrib.gis.db.backends.mysql',
             'dbname',
             'example.com',
             'enigma',
             'secret',
             5431),
            # mysql://user:password@host/dbname?options
            ('mysql://enigma:[email protected]/dbname?reconnect=true',
             'django.db.backends.mysql',
             'dbname',
             'reconnect.com',
             'enigma',
             'secret',
             ''),
            # mysql://user@host/dbname
            ('mysql://enigma@localhost/dbname',
             'django.db.backends.mysql',
             'dbname',
             'localhost',
             'enigma',
             '',
             ''),
            # sqlite://
            ('sqlite://',
             'django.db.backends.sqlite3',
             ':memory:',
             '',
             '',
             '',
             ''),
            # sqlite:////absolute/path/to/db/file
            ('sqlite:////full/path/to/your/file.sqlite',
             'django.db.backends.sqlite3',
             '/full/path/to/your/file.sqlite',
             '',
             '',
             '',
             ''),
            # sqlite://:memory:
            ('sqlite://:memory:',
             'django.db.backends.sqlite3',
             ':memory:',
             '',
             '',
             '',
             ''),
            # ldap://user:password@host
            ('ldap://cn=admin,dc=nodomain,dc=org:[email protected]',
             'ldapdb.backends.ldap',
             'ldap://example.com',
             'example.com',
             'cn=admin,dc=nodomain,dc=org',
             'secret',
             ''),
            # mysql://user:password@host/dbname
            ('mssql://enigma:[email protected]/dbname'
             '?driver=ODBC Driver 13 for SQL Server',
             'mssql',
             'dbname',
             'example.com',
             'enigma',
             'secret',
             ''),
            # mysql://user:password@host:port/dbname
            ('mssql://enigma:[email protected]\\insnsnss:12345/dbname'
             '?driver=ODBC Driver 13 for SQL Server',
             'mssql',
             'dbname',
             'amazonaws.com\\insnsnss',
             'enigma',
             'secret',
             12345),
             # mysql://user:password@host:port/dbname
            ('mysql://enigma:><{~!@#$%^&*}[]@example.com:1234/dbname',
             'django.db.backends.mysql',
             'dbname',
             'example.com',
             'enigma',
             '><{~!@#$%^&*}[]',
             1234),
            # mysql://user:password@host/dbname
            ('mysql://enigma:]password]@example.com/dbname',
             'django.db.backends.mysql',
             'dbname',
             'example.com',
             'enigma',
             ']password]',
             ''),
        ],
        ids=[
            'postgres',
            'postgres_unix_domain',
            'postgis',
            'postgres_cluster',
            'postgres_no_ports',
            'cockroachdb',
            'mysqlgis',
            'cleardb',
            'mysql_no_password',
            'sqlite_empty',
            'sqlite_file',
            'sqlite_memory',
            'ldap',
            'mssql',
            'mssql_port',
            'mysql_password_special_chars',
            'mysql_invalid_ipv6_password',
        ],
    )
    def test_db_parsing(url, engine, name, host, user, passwd, port):
>       config = Env.db_url_config(url)

tests/test_db.py:182: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
environ/environ.py:583: in db_url_config
    port = url.port
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = ParseResult(scheme='postgres', 
netloc='username:p@ss:12%2Cwor:34d@host1:111%2C22.55.44.88:222%2C%5B2001:db8::1234%5D:333',
 path='/db', params='', query='', fragment='')

    @property
    def port(self):
        port = self._hostinfo[1]
        if port is not None:
            if port.isdigit() and port.isascii():
                port = int(port)
            else:
>               raise ValueError(f"Port could not be cast to integer value as 
> {port!r}")
E               ValueError: Port could not be cast to integer value as 
'111%2C22.55.44.88:222%2C%5B2001:db8::1234%5D:333'

/usr/lib/python3.13/urllib/parse.py:182: ValueError
=========================== short test summary info ============================
FAILED tests/test_db.py::test_db_parsing[postgres_cluster] - ValueError: Port...
======================== 1 failed, 384 passed in 0.36s =========================
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_django-environ/build; python3.13 -m 
pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 
3.13" returned exit code 13
make[1]: *** [debian/rules:9: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:6: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202502/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:django-environ, so that this is still
visible in the BTS web page for this package.

Thanks.


Reply via email to