Source: graphite-api
Version: 1.1.3-6
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20221220 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
>  debian/rules build
> dh build --with python3,sphinxdoc --buildsystem pybuild
> dh: warning: Compatibility levels before 10 are deprecated (level 9 in use)
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
> dh_auto_configure: warning: Compatibility levels before 10 are deprecated 
> (level 9 in use)
> I: pybuild base:240: python3.10 setup.py config 
> Warning: 'classifiers' should be a list, got type 'tuple'
> running config
>    dh_auto_build -O--buildsystem=pybuild
> dh_auto_build: warning: Compatibility levels before 10 are deprecated (level 
> 9 in use)
> I: pybuild base:240: /usr/bin/python3 setup.py build 
> Warning: 'classifiers' should be a list, got type 'tuple'
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api
> copying graphite_api/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api
> copying graphite_api/carbonlink.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api
> copying graphite_api/middleware.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api
> copying graphite_api/app.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api
> copying graphite_api/search.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api
> copying graphite_api/readers.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api
> copying graphite_api/storage.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api
> copying graphite_api/intervals.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api
> copying graphite_api/config.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api
> copying graphite_api/functions.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api
> copying graphite_api/encoders.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api
> copying graphite_api/node.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api
> copying graphite_api/utils.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api/render
> copying graphite_api/render/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api/render
> copying graphite_api/render/grammar.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api/render
> copying graphite_api/render/attime.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api/render
> copying graphite_api/render/glyph.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api/render
> copying graphite_api/render/datalib.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api/render
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api/finders
> copying graphite_api/finders/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api/finders
> copying graphite_api/finders/whisper.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api/finders
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api/_vendor
> copying graphite_api/_vendor/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api/_vendor
> copying graphite_api/_vendor/whisper.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/graphite_api/_vendor
> running egg_info
> creating graphite_api.egg-info
> writing graphite_api.egg-info/PKG-INFO
> writing dependency_links to graphite_api.egg-info/dependency_links.txt
> writing requirements to graphite_api.egg-info/requires.txt
> writing top-level names to graphite_api.egg-info/top_level.txt
> writing manifest file 'graphite_api.egg-info/SOURCES.txt'
> reading manifest file 'graphite_api.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no previously-included files matching '*' found under directory 
> 'tests'
> adding license file 'LICENSE'
> writing manifest file 'graphite_api.egg-info/SOURCES.txt'
>    dh_auto_test -O--buildsystem=pybuild
> dh_auto_test: warning: Compatibility levels before 10 are deprecated (level 9 
> in use)
> I: pybuild base:240: python3.10 setup.py test 
> Warning: 'classifiers' should be a list, got type 'tuple'
> running test
> WARNING: Testing via this command is deprecated and will be removed in a 
> future version. Users looking for a generic test entry point independent of 
> test runner are encouraged to use tox.
> running egg_info
> writing graphite_api.egg-info/PKG-INFO
> writing dependency_links to graphite_api.egg-info/dependency_links.txt
> writing requirements to graphite_api.egg-info/requires.txt
> writing top-level names to graphite_api.egg-info/top_level.txt
> reading manifest file 'graphite_api.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no previously-included files matching '*' found under directory 
> 'tests'
> adding license file 'LICENSE'
> writing manifest file 'graphite_api.egg-info/SOURCES.txt'
> running build_ext
> /<<PKGBUILDDIR>>/graphite_api/config.py:45: PytzUsageWarning: The zone 
> attribute is specific to pytz's interface; please migrate to a new time zone 
> provider. For more details on how to do so, see 
> https://pytz-deprecation-shim.readthedocs.io/en/latest/migration.html
>   'time_zone': get_localzone().zone,
> {"path": "/<<PKGBUILDDIR>>/tests/conf.yaml", "event": "loading configuration"}
> {"path": "/<<PKGBUILDDIR>>/tests/conf.yaml", "event": "loading configuration"}
> /<<PKGBUILDDIR>>/graphite_api/config.py:117: UserWarning: 'cache' is provided 
> in the configuration but Flask-Cache is not installed. Please `pip install 
> Flask-Cache`.
>   warnings.warn("'cache' is provided in the configuration but "
> {"index_path": "/tmp/graphite-api-index", "event": "reading index data"}
> {"index_path": "/tmp/graphite-api-index", "event": "reading index data"}
> {"index_path": "/tmp/graphite-api-index", "total_entries": 0, "duration": 
> 5.1021575927734375e-05, "event": "search index reloaded"}
> {"index_path": "/tmp/graphite-api-index", "total_entries": 0, "duration": 
> 5.1021575927734375e-05, "event": "search index reloaded"}
> {"timezone": "UTC", "event": "configured timezone"}
> {"timezone": "UTC", "event": "configured timezone"}
> test_expand (tests.test_metrics.MetricsTests) ... ERROR
> test_expand_validation (tests.test_metrics.MetricsTests) ... ERROR
> test_find (tests.test_metrics.MetricsTests) ... FAIL
> test_find_validation (tests.test_metrics.MetricsTests) ... ERROR
> test_index (tests.test_metrics.MetricsTests) ... FAIL
> test_metrics_index (tests.test_metrics.MetricsTests) ... FAIL
> test_noop (tests.test_metrics.MetricsTests) ... FAIL
> testGetPercentile (tests.test_functions.FunctionsTest) ... ok
> test_absolute (tests.test_functions.FunctionsTest) ... ok
> test_agg_line (tests.test_functions.FunctionsTest) ... ok
> test_alias (tests.test_functions.FunctionsTest) ... ok
> test_alias_by_metric (tests.test_functions.FunctionsTest) ... ok
> test_alias_by_node (tests.test_functions.FunctionsTest) ... ok
> test_alias_sub (tests.test_functions.FunctionsTest) ... ok
> test_alpha (tests.test_functions.FunctionsTest) ... ok
> test_area_between (tests.test_functions.FunctionsTest) ... ok
> test_as_percent (tests.test_functions.FunctionsTest) ... ok
> test_average_above (tests.test_functions.FunctionsTest) ... ok
> test_average_below (tests.test_functions.FunctionsTest) ... ok
> test_average_outside_percentile (tests.test_functions.FunctionsTest) ... ok
> test_average_series (tests.test_functions.FunctionsTest) ... ok
> test_average_series_wildcards (tests.test_functions.FunctionsTest) ... ok
> test_cactistyle (tests.test_functions.FunctionsTest) ... ok
> test_changed (tests.test_functions.FunctionsTest) ... ok
> test_color (tests.test_functions.FunctionsTest) ... ok
> test_constant_line (tests.test_functions.FunctionsTest) ... ok
> test_count (tests.test_functions.FunctionsTest) ... ok
> test_cumulative (tests.test_functions.FunctionsTest) ... ok
> test_current_above (tests.test_functions.FunctionsTest) ... ok
> test_current_below (tests.test_functions.FunctionsTest) ... ok
> test_dashed (tests.test_functions.FunctionsTest) ... ok
> test_derivative (tests.test_functions.FunctionsTest) ... ok
> test_diff_series (tests.test_functions.FunctionsTest) ... ok
> test_divide_series (tests.test_functions.FunctionsTest) ... ok
> test_draw_as_infinite (tests.test_functions.FunctionsTest) ... ok
> test_exclude (tests.test_functions.FunctionsTest) ... ok
> test_grep (tests.test_functions.FunctionsTest) ... ok
> test_group_by_node (tests.test_functions.FunctionsTest) ... ok
> test_highest_average (tests.test_functions.FunctionsTest) ... ok
> test_highest_current (tests.test_functions.FunctionsTest) ... ok
> test_highest_max (tests.test_functions.FunctionsTest) ... ok
> test_highest_max_empty_series_list (tests.test_functions.FunctionsTest) ... ok
> test_hitcount (tests.test_functions.FunctionsTest) ... ok
> test_holt_winters (tests.test_functions.FunctionsTest) ... ok
> test_identity (tests.test_functions.FunctionsTest) ... ok
> test_integral (tests.test_functions.FunctionsTest) ... ok
> test_invert (tests.test_functions.FunctionsTest) ... ok
> test_keep_last_value (tests.test_functions.FunctionsTest) ... ok
> test_legend_value (tests.test_functions.FunctionsTest) ... ok
> test_legend_value_with_system_preserves_sign 
> (tests.test_functions.FunctionsTest) ... ok
> test_limit (tests.test_functions.FunctionsTest) ... ok
> test_line_width (tests.test_functions.FunctionsTest) ... ok
> test_log (tests.test_functions.FunctionsTest) ... ok
> test_lowest_average (tests.test_functions.FunctionsTest) ... ok
> test_lowest_current (tests.test_functions.FunctionsTest) ... ok
> test_mapSeries (tests.test_functions.FunctionsTest) ... ok
> test_max_above (tests.test_functions.FunctionsTest) ... ok
> test_max_below (tests.test_functions.FunctionsTest) ... ok
> test_max_series (tests.test_functions.FunctionsTest) ... ok
> test_min_above (tests.test_functions.FunctionsTest) ... ok
> test_min_below (tests.test_functions.FunctionsTest) ... ok
> test_min_series (tests.test_functions.FunctionsTest) ... ok
> test_most_deviant (tests.test_functions.FunctionsTest) ... ok
> test_moving_average (tests.test_functions.FunctionsTest) ... ok
> test_moving_median (tests.test_functions.FunctionsTest) ... ok
> test_multiply_series (tests.test_functions.FunctionsTest) ... ok
> test_multiply_with_wildcards (tests.test_functions.FunctionsTest) ... ok
> test_n_percentile (tests.test_functions.FunctionsTest) ... ok
> test_non_negative_derivative (tests.test_functions.FunctionsTest) ... ok
> test_non_null (tests.test_functions.FunctionsTest) ... ok
> test_null_zero_sum (tests.test_functions.FunctionsTest) ... ok
> test_offset (tests.test_functions.FunctionsTest) ... ok
> test_offset_to_zero (tests.test_functions.FunctionsTest) ... ok
> test_per_second (tests.test_functions.FunctionsTest) ... ok
> test_percentile_of_series (tests.test_functions.FunctionsTest) ... ok
> test_random_walk (tests.test_functions.FunctionsTest) ... ok
> test_range_of_series (tests.test_functions.FunctionsTest) ... ok
> test_reduceSeries (tests.test_functions.FunctionsTest) ... ok
> test_reduceSeries_asPercent (tests.test_functions.FunctionsTest) ... ok
> test_remove_above_percentile (tests.test_functions.FunctionsTest) ... ok
> test_remove_above_value (tests.test_functions.FunctionsTest) ... ok
> test_remove_below_percentile (tests.test_functions.FunctionsTest) ... ok
> test_remove_below_value (tests.test_functions.FunctionsTest) ... ok
> test_remove_between_percentile (tests.test_functions.FunctionsTest) ... ok
> test_remove_emtpy (tests.test_functions.FunctionsTest) ... ok
> test_scale (tests.test_functions.FunctionsTest) ... ok
> test_scale_to_seconds (tests.test_functions.FunctionsTest) ... ok
> test_second_y_axis (tests.test_functions.FunctionsTest) ... ok
> test_smart_summarize (tests.test_functions.FunctionsTest) ... ok
> test_sort_by_maxima (tests.test_functions.FunctionsTest) ... ok
> test_sort_by_minima (tests.test_functions.FunctionsTest) ... ok
> test_sort_by_name (tests.test_functions.FunctionsTest) ... ok
> test_sort_by_total (tests.test_functions.FunctionsTest) ... ok
> test_stacked (tests.test_functions.FunctionsTest) ... ok
> test_stddev_series (tests.test_functions.FunctionsTest) ... ok
> test_stdev (tests.test_functions.FunctionsTest) ... ok
> test_substr (tests.test_functions.FunctionsTest) ... ok
> test_sum_series (tests.test_functions.FunctionsTest) ... ok
> test_sum_series_wildcards (tests.test_functions.FunctionsTest) ... ok
> test_summarize (tests.test_functions.FunctionsTest) ... ok
> test_threshold (tests.test_functions.FunctionsTest) ... ok
> test_time_shift (tests.test_functions.FunctionsTest) ... ok
> test_time_stack (tests.test_functions.FunctionsTest) ... ok
> test_timeslice (tests.test_functions.FunctionsTest) ... ok
> test_transform_null (tests.test_functions.FunctionsTest) ... ok
> test_use_series_above (tests.test_functions.FunctionsTest) ... ok
> test_weighted_average (tests.test_functions.FunctionsTest) ... ok
> test_area_between (tests.test_render.RenderTest) ... ERROR
> test_bootstrap_fetch_outside_range (tests.test_render.RenderTest) ... FAIL
> test_constantline_pathexpr (tests.test_render.RenderTest) ... ERROR
> test_correct_timezone (tests.test_render.RenderTest) ... ERROR
> test_float_maxdatapoints (tests.test_render.RenderTest) ... ERROR
> test_jsonp (tests.test_render.RenderTest) ... FAIL
> test_raw_data (tests.test_render.RenderTest) ... ERROR
> test_render_constant_line (tests.test_render.RenderTest) ... FAIL
> test_render_options (tests.test_render.RenderTest) ... FAIL
> test_render_validation (tests.test_render.RenderTest) ... ERROR
> test_render_view (tests.test_render.RenderTest) ... ERROR
> test_sorted (tests.test_render.RenderTest) ... ERROR
> test_sumseries (tests.test_render.RenderTest) ... ERROR
> test_absolute_time (tests.test_attime.AtTestCase) ... ok
> test_parse (tests.test_attime.AtTestCase) ... ok
> test_func_args (tests.test_paths.PathsTest)
> Tests a target containing function call with path expressions as ... ok
> test_func_kwargs (tests.test_paths.PathsTest)
> Tests a target containing a function call with path expressions as ... ok
> test_func_nested (tests.test_paths.PathsTest)
> Tests a target containing nested functions with a mix of args and ... ok
> test_simple (tests.test_paths.PathsTest)
> Tests a target containing a single path expression. ... ok
> test_interval (tests.test_intervals.IntervalTestCase) ... ok
> test_interval_set (tests.test_intervals.IntervalTestCase) ... ok
> test_cors (tests.test_http.HttpTestCase) ... ok
> test_trailing_slash (tests.test_http.HttpTestCase) ... FAIL
> test_custom_finder (tests.test_finders.FinderTest) ... ok
> 
> ======================================================================
> ERROR: test_expand (tests.test_metrics.MetricsTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_metrics.py", line 145, in test_expand
>     self.assertJSON(response, {'errors':
>   File "/<<PKGBUILDDIR>>/tests/__init__.py", line 69, in assertJSON
>     self.assertEqual(json.loads(response.data.decode('utf-8')), data)
>   File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
>     return _default_decoder.decode(s)
>   File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
>     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
>   File "/usr/lib/python3.10/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)
> 
> ======================================================================
> ERROR: test_expand_validation (tests.test_metrics.MetricsTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_metrics.py", line 175, in 
> test_expand_validation
>     self.assertJSON(response, {'errors': {
>   File "/<<PKGBUILDDIR>>/tests/__init__.py", line 69, in assertJSON
>     self.assertEqual(json.loads(response.data.decode('utf-8')), data)
>   File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
>     return _default_decoder.decode(s)
>   File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
>     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
>   File "/usr/lib/python3.10/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)
> 
> ======================================================================
> ERROR: test_find_validation (tests.test_metrics.MetricsTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_metrics.py", line 124, in 
> test_find_validation
>     self.assertJSON(response, {'errors': {'wildcards': 'must be 0 or 1.'}},
>   File "/<<PKGBUILDDIR>>/tests/__init__.py", line 69, in assertJSON
>     self.assertEqual(json.loads(response.data.decode('utf-8')), data)
>   File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
>     return _default_decoder.decode(s)
>   File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
>     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
>   File "/usr/lib/python3.10/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)
> 
> ======================================================================
> ERROR: test_area_between (tests.test_render.RenderTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_render.py", line 103, in test_area_between
>     data = json.loads(response.data.decode('utf-8'))
>   File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
>     return _default_decoder.decode(s)
>   File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
>     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
>   File "/usr/lib/python3.10/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)
> 
> ======================================================================
> ERROR: test_constantline_pathexpr (tests.test_render.RenderTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_render.py", line 95, in 
> test_constantline_pathexpr
>     data = json.loads(response.data.decode('utf-8'))[0]['datapoints']
>   File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
>     return _default_decoder.decode(s)
>   File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
>     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
>   File "/usr/lib/python3.10/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)
> 
> ======================================================================
> ERROR: test_correct_timezone (tests.test_render.RenderTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_render.py", line 141, in 
> test_correct_timezone
>     data = json.loads(response.data.decode('utf-8'))[0]['datapoints']
>   File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
>     return _default_decoder.decode(s)
>   File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
>     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
>   File "/usr/lib/python3.10/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)
> 
> ======================================================================
> ERROR: test_float_maxdatapoints (tests.test_render.RenderTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_render.py", line 87, in 
> test_float_maxdatapoints
>     data = json.loads(response.data.decode('utf-8'))[0]['datapoints']
>   File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
>     return _default_decoder.decode(s)
>   File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
>     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
>   File "/usr/lib/python3.10/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)
> 
> ======================================================================
> ERROR: test_raw_data (tests.test_render.RenderTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_render.py", line 344, in test_raw_data
>     info, data = response.data.decode('utf-8').strip().split('|', 1)
> ValueError: not enough values to unpack (expected 2, got 1)
> 
> ======================================================================
> ERROR: test_render_validation (tests.test_render.RenderTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_render.py", line 246, in 
> test_render_validation
>     self.assertJSON(response, {'errors': {
>   File "/<<PKGBUILDDIR>>/tests/__init__.py", line 69, in assertJSON
>     self.assertEqual(json.loads(response.data.decode('utf-8')), data)
>   File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
>     return _default_decoder.decode(s)
>   File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
>     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
>   File "/usr/lib/python3.10/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)
> 
> ======================================================================
> ERROR: test_render_view (tests.test_render.RenderTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_render.py", line 31, in test_render_view
>     self.assertEqual(json.loads(response.data.decode('utf-8')), [])
>   File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
>     return _default_decoder.decode(s)
>   File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
>     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
>   File "/usr/lib/python3.10/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)
> 
> ======================================================================
> ERROR: test_sorted (tests.test_render.RenderTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_render.py", line 392, in test_sorted
>     info, data = ds.strip().split('|', 1)
> ValueError: not enough values to unpack (expected 2, got 1)
> 
> ======================================================================
> ERROR: test_sumseries (tests.test_render.RenderTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_render.py", line 112, in test_sumseries
>     data = json.loads(response.data.decode('utf-8'))
>   File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
>     return _default_decoder.decode(s)
>   File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
>     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
>   File "/usr/lib/python3.10/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)
> 
> ======================================================================
> FAIL: test_find (tests.test_metrics.MetricsTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_metrics.py", line 25, in test_find
>     self.assertJSON(response, [])
>   File "/<<PKGBUILDDIR>>/tests/__init__.py", line 68, in assertJSON
>     self.assertEqual(response.status_code, status_code)
> AssertionError: 400 != 200
> 
> ======================================================================
> FAIL: test_index (tests.test_metrics.MetricsTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_metrics.py", line 203, in test_index
>     self.assertJSON(response, {'success': True, 'entries': 3})
>   File "/<<PKGBUILDDIR>>/tests/__init__.py", line 68, in assertJSON
>     self.assertEqual(response.status_code, status_code)
> AssertionError: 400 != 200
> 
> ======================================================================
> FAIL: test_metrics_index (tests.test_metrics.MetricsTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_metrics.py", line 208, in 
> test_metrics_index
>     self.assertJSON(response, [])
>   File "/<<PKGBUILDDIR>>/tests/__init__.py", line 68, in assertJSON
>     self.assertEqual(response.status_code, status_code)
> AssertionError: 400 != 200
> 
> ======================================================================
> FAIL: test_noop (tests.test_metrics.MetricsTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_metrics.py", line 183, in test_noop
>     self.assertJSON(response, {'dashboards': []})
>   File "/<<PKGBUILDDIR>>/tests/__init__.py", line 68, in assertJSON
>     self.assertEqual(response.status_code, status_code)
> AssertionError: 400 != 200
> 
> ======================================================================
> FAIL: test_bootstrap_fetch_outside_range (tests.test_render.RenderTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_render.py", line 405, in 
> test_bootstrap_fetch_outside_range
>     self.assertEqual(response.status_code, 200)
> AssertionError: 400 != 200
> 
> ======================================================================
> FAIL: test_jsonp (tests.test_render.RenderTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_render.py", line 364, in test_jsonp
>     self.assertTrue(data.startswith('foo('))
> AssertionError: False is not true
> 
> ======================================================================
> FAIL: test_render_constant_line (tests.test_render.RenderTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_render.py", line 66, in 
> test_render_constant_line
>     self.assertEqual(response.headers['Content-Type'], 'image/png')
> AssertionError: 'text/html; charset=utf-8' != 'image/png'
> - text/html; charset=utf-8
> + image/png
> 
> 
> ======================================================================
> FAIL: test_render_options (tests.test_render.RenderTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_render.py", line 214, in 
> test_render_options
>     self.assertEqual(response.status_code, 200)
> AssertionError: 400 != 200
> 
> ======================================================================
> FAIL: test_trailing_slash (tests.test_http.HttpTestCase)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/tests/test_http.py", line 30, in test_trailing_slash
>     self.assertEqual(response.status_code, 200)
> AssertionError: 400 != 200
> 
> ----------------------------------------------------------------------
> Ran 131 tests in 0.572s
> 
> FAILED (failures=9, errors=12)
> Test failed: <unittest.runner.TextTestResult run=131 errors=12 failures=9>
> error: Test failed: <unittest.runner.TextTestResult run=131 errors=12 
> failures=9>
> E: pybuild pybuild:386: test: plugin distutils failed with: exit code=1: 
> python3.10 setup.py test 
> dh_auto_test: error: pybuild --test -i python{version} -p 3.10 returned exit 
> code 13


The full build log is available from:
http://qa-logs.debian.net/2022/12/20/graphite-api_1.1.3-6_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20221220;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20221220&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

Reply via email to