Bigquery tests failing
The Bigquery build seems to be finally working correctly, but some of the tests are failing:
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-no_cond-covar]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-is_in-covar]
FAILED ibis/tests/all/test_aggregation.py::test_topk_filter_op[BigQuery-string_col_filter_top3]
FAILED ibis/tests/all/test_array.py::test_array_concat[BigQuery] - ValueError...
FAILED ibis/tests/all/test_generic.py::test_fillna_nullif[BigQuery-expr2-None]
FAILED ibis/tests/all/test_numeric.py::test_complex_math_functions_columns[BigQuery-ln]
FAILED ibis/tests/all/test_numeric.py::test_complex_math_functions_columns[BigQuery-log10]
FAILED ibis/tests/all/test_string.py::test_string[BigQuery-split] - ValueErro...
FAILED ibis/tests/all/test_temporal.py::test_timestamp_extract[BigQuery-epoch_seconds]
FAILED ibis/bigquery/tests/test_client.py::test_scalar_param_array - ValueErr...
FAILED ibis/bigquery/tests/test_client.py::test_scalar_param_nested - Asserti...
FAILED ibis/bigquery/tests/test_client.py::test_cross_project_query - google....
FAILED ibis/bigquery/tests/test_client.py::test_approx_median - assert 6 == 7.0
FAILED ibis/bigquery/tests/test_compiler.py::test_cov - AssertionError: asser...
See https://github.com/ibis-project/ibis/runs/1067434574?check_suite_focus=true#step:5:1981
@tswast do you want to have a look?
test_timestamp_extract looks like a pretty simple data type difference: expects int32, gets int64. Should probably expect int64, since there isn't a 32-bit integer type for BigQuery.
The others look a little more complex to fix and will take some deeper investigation.
Re: FAILED ibis/tests/all/test_array.py::test_array_concat[BigQuery] - ValueError...
It looks like arrays are coming back as numpy arrays in the BigQuery backend. Not sure if this is intended or not. If it is intended, updating the test to use assert_series_equal helps.
result = backend.default_series_rename(pd.Series(con.execute(expr))
expected = backend.default_series_rename(pd.Series([1, 2, 3, 2, 1]))
backend.assert_series_equal(result, expected)
@tswast if the remaining tests are not trivial to fix, may be we can xfail them for now, so we get green builds?
Not a bad idea to make it easier to catch new failures.
Some of these are true failures (perhaps caused by changes in the Impala backend, since the BQ backend somewhat strangely subclasses from that), so we should prioritize fixing these sooner than later.
since the BQ backend somewhat strangely subclasses from that
I didn't know that, that's strange...
Up to you on what to do. If we can get the actual bugs fixed in the short term that's surely better. But if it can take weeks or months, probably worth to xfail then, so we can detect regressions fast and not get extra bugs.
I see some in test_aggregation.py have multiple markings:
@pytest.mark.xfail_unsupported
# Issues ibis-project/ibis#2133 ibis-project/ibis#2132# ibis-project/ibis#2133
@pytest.mark.xfail_backends([Clickhouse, MySQL, Postgres])
@pytest.mark.skip_backends([SQLite], reason='Issue ibis-project/ibis#2128')
def test_topk_filter_op(backend, alltypes, df, result_fn, expected_fn):
Do you know which we should use?
I think adding bigquery to @pytest.mark.xfail_backends would be the best one.
xfail_unsupported would catch it automatically if the features raises one of the "unsupported" exceptions. And skip_backends would be more appropriate if this is something we have no interest in fixing.
The covar tests appear to be fixed after ibis-project/ibis#2367, but several new test failures popped up.
FAILED ibis/tests/all/test_aggregation.py::test_aggregate[BigQuery-mean] - As...
FAILED ibis/tests/all/test_aggregation.py::test_aggregate[BigQuery-complex_sum]
FAILED ibis/tests/all/test_aggregation.py::test_aggregate_grouped[BigQuery-complex_sum]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-no_cond-count]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-no_cond-sum]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-no_cond-mean]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-no_cond-std]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-no_cond-var]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-no_cond-std_pop]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-no_cond-var_pop]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-no_cond-covar]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-is_in-count]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-is_in-sum]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-is_in-mean]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-is_in-std]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-is_in-var]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-is_in-std_pop]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-is_in-var_pop]
FAILED ibis/tests/all/test_aggregation.py::test_reduction_ops[BigQuery-is_in-covar]
FAILED ibis/tests/all/test_aggregation.py::test_group_concat[BigQuery-group_concat]
FAILED ibis/tests/all/test_aggregation.py::test_topk_op[BigQuery-string_col_top3]
FAILED ibis/tests/all/test_aggregation.py::test_topk_filter_op[BigQuery-string_col_filter_top3]
FAILED ibis/tests/all/test_array.py::test_array_concat[BigQuery] - ValueError...
FAILED ibis/tests/all/test_generic.py::test_identical_to[BigQuery] - Assertio...
FAILED ibis/tests/all/test_generic.py::test_isin[BigQuery-int_col-elements0]
FAILED ibis/tests/all/test_generic.py::test_isin[BigQuery-int_col-elements1]
FAILED ibis/tests/all/test_generic.py::test_isin[BigQuery-string_col-elements2]
FAILED ibis/tests/all/test_generic.py::test_isin[BigQuery-string_col-elements3]
FAILED ibis/tests/all/test_generic.py::test_isin[BigQuery-int_col-elements4]
FAILED ibis/tests/all/test_generic.py::test_isin[BigQuery-int_col-elements5]
FAILED ibis/tests/all/test_generic.py::test_notin[BigQuery-int_col-elements0]
FAILED ibis/tests/all/test_generic.py::test_notin[BigQuery-int_col-elements1]
FAILED ibis/tests/all/test_generic.py::test_notin[BigQuery-string_col-elements2]
FAILED ibis/tests/all/test_generic.py::test_notin[BigQuery-string_col-elements3]
FAILED ibis/tests/all/test_generic.py::test_notin[BigQuery-int_col-elements4]
FAILED ibis/tests/all/test_generic.py::test_notin[BigQuery-int_col-elements5]
FAILED ibis/tests/all/test_string.py::test_string[BigQuery-split] - ValueErro...
FAILED ibis/tests/all/test_temporal.py::test_timestamp_extract[BigQuery-week_of_year]
FAILED ibis/tests/all/test_temporal.py::test_day_of_week_column_group_by[BigQuery-<lambda>-<lambda>0]
FAILED ibis/tests/all/test_temporal.py::test_day_of_week_column_group_by[BigQuery-<lambda>-<lambda>1]
FAILED ibis/tests/all/test_union.py::test_union[BigQuery-False] - AssertionEr...
FAILED ibis/tests/all/test_union.py::test_union[BigQuery-True] - AssertionErr...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-lag] - AssertionEr...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-lead] - AssertionE...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-rank] - AssertionE...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-dense_rank] - Asse...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-first] - Assertion...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-last] - AssertionE...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-row_number] - Asse...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-cumsum] - Assertio...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-cummean] - Asserti...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-cummin] - Assertio...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-cummax] - Assertio...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-cumany] - Assertio...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-cumnotany] - Asser...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-cumall] - Assertio...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-cumnotall] - Asser...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-sum] - AssertionEr...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-mean] - AssertionE...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-min] - AssertionEr...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-max] - AssertionEr...
FAILED ibis/tests/all/test_window.py::test_window[BigQuery-count] - Assertion...
FAILED ibis/tests/all/test_window.py::test_bounded_following_window[BigQuery]
FAILED ibis/tests/all/test_window.py::test_bounded_preceding_windows[BigQuery-preceding-2-following-0]
FAILED ibis/tests/all/test_window.py::test_bounded_preceding_windows[BigQuery-trailing-2]
FAILED ibis/tests/all/test_window.py::test_unbounded_window[BigQuery-mean] - ...
FAILED ibis/bigquery/tests/test_client.py::test_simple_aggregate_execute - As...
FAILED ibis/bigquery/tests/test_client.py::test_scalar_param_string - Asserti...
FAILED ibis/bigquery/tests/test_client.py::test_scalar_param_int64 - Assertio...
FAILED ibis/bigquery/tests/test_client.py::test_scalar_param_double - Asserti...
FAILED ibis/bigquery/tests/test_client.py::test_scalar_param_boolean - Assert...
FAILED ibis/bigquery/tests/test_client.py::test_scalar_param_timestamp[2009-01-20 01:02:03]
FAILED ibis/bigquery/tests/test_client.py::test_scalar_param_timestamp[timestamp_value1]
FAILED ibis/bigquery/tests/test_client.py::test_scalar_param_timestamp[timestamp_value2]
FAILED ibis/bigquery/tests/test_client.py::test_scalar_param_date[2009-01-20]
FAILED ibis/bigquery/tests/test_client.py::test_scalar_param_date[date_value1]
FAILED ibis/bigquery/tests/test_client.py::test_scalar_param_date[date_value2]
FAILED ibis/bigquery/tests/test_client.py::test_scalar_param_array - ValueErr...
FAILED ibis/bigquery/tests/test_client.py::test_scalar_param_nested - Asserti...
FAILED ibis/bigquery/tests/test_client.py::test_cross_project_query - google....
https://github.com/ibis-project/ibis/runs/1106729769?check_suite_focus=true