Skip to content

bug: 70 snapshot tests failing in 12.0.0 #11929

@sarahec

Description

@sarahec

What happened?

While building for nixpkgs, 70 tests failed. They are either snapshot tests or decompilation tests (see logs for the two patterns).

FAILED ibis/backends/tests/test_sql.py::test_selects_with_impure_operations_not_merged[sqlite-random] - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/snapshots/test_sql/test_selects_with_impure_operations_not_merged/sqlite-random/out.sql
FAILED ibis/backends/tests/sql/test_sql.py::test_lower_projection_sort_key - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_sql/test_lower_projection_sort_key/decompiled.py
FAILED ibis/backends/tests/test_sql.py::test_sample[sqlite-table] - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/snapshots/test_sql/test_sample/sqlite-table/block.sql
FAILED ibis/backends/tests/test_sql.py::test_sample[sqlite-subquery] - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/snapshots/test_sql/test_sample/sqlite-subquery/block.sql
FAILED ibis/backends/tests/sql/test_sql.py::test_binop_parens[xor-bool] - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_sql/test_binop_parens/xor-bool/out.sql
FAILED ibis/backends/tests/sql/test_sql.py::test_no_cart_join - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_sql/test_no_cart_join/out.sql
FAILED ibis/backends/tests/sql/test_sql.py::test_where_simple_comparisons - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_sql/test_where_simple_comparisons/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_multiple_count_distinct - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_multiple_count_distinct/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_column_expr_retains_name - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_column_expr_retains_name/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_having_from_filter - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_having_from_filter/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_subquery_where_location - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_subquery_where_location/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_difference_project_column - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_difference_project_column/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_count_distinct - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_count_distinct/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_union_project_column - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_union_project_column/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_intersect_project_column - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_intersect_project_column/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_table_intersect - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_table_intersect/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_column_expr_default_name - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_column_expr_default_name/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_table_difference - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_table_difference/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_union_order_by - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_union_order_by/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_union - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_union/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_table_distinct - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_table_distinct/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_table_drop_with_filter - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_table_drop_with_filter/decompiled.py
FAILED ibis/backends/tests/sql/test_compiler.py::test_column_distinct - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_compiler/test_column_distinct/decompiled.py
FAILED ibis/backends/duckdb/tests/test_decompile_tpch.py::test_parse_sql_tpch[tpch01] - AssertionError: value does not match the expected value in snapshot ibis/backends/duckdb/tests/snapshots/test_decompile_tpch/test_parse_sql_tpch/tpch01/out_tpch.py
FAILED ibis/backends/duckdb/tests/test_decompile_tpch.py::test_parse_sql_tpch[tpch03] - AssertionError: value does not match the expected value in snapshot ibis/backends/duckdb/tests/snapshots/test_decompile_tpch/test_parse_sql_tpch/tpch03/out_tpch.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_simple_select_count - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_simple_select_count/decompiled.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_aggregation_with_multiple_joins - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_aggregation_with_multiple_joins/decompiled.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_basic_join[inner] - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_basic_join/inner/decompiled.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_basic_projection - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_basic_projection/decompiled.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_limited_join - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_limited_join/decompiled.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_table_alias - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_table_alias/decompiled.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_simple_reduction - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_simple_reduction/decompiled.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_in_clause - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_in_clause/decompiled.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_basic_join[right] - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_basic_join/right/decompiled.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_basic_join[left] - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_basic_join/left/decompiled.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_join_with_filter - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_join_with_filter/decompiled.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_scalar_subquery - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_scalar_subquery/decompiled.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_join_subquery - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_join_subquery/decompiled.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_basic_aggregation - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_basic_aggregation/decompiled.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_multiple_joins - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_multiple_joins/decompiled.py
FAILED ibis/expr/tests/test_sql.py::test_parse_sql_basic_aggregation_with_join - AssertionError: value does not match the expected value in snapshot ibis/expr/tests/snapshots/test_sql/test_parse_sql_basic_aggregation_with_join/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_multiple_limits - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_multiple_limits/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_endswith - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_endswith/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_simple_joins - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_simple_joins/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_select_sql[agg_string_columns] - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_select_sql/agg_string_columns/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_where_no_pushdown_possible - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_where_no_pushdown_possible/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_multiple_joins - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_multiple_joins/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_fuse_projections - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_fuse_projections/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_select_sql[limit_with_offset] - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_select_sql/limit_with_offset/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_limit_with_self_join - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_limit_with_self_join/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_join_just_materialized - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_join_just_materialized/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_aggregate_count_joined - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_aggregate_count_joined/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_where_with_between - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_where_with_between/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_case_in_projection - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_case_in_projection/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_select_sql[limit_simple] - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_select_sql/limit_simple/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_bool_bool - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_bool_bool/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_select_sql[limit_then_filter] - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_select_sql/limit_then_filter/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_subquery_in_union - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_subquery_in_union/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_select_sql[single_column] - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_select_sql/single_column/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_join_between_joins - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_join_between_joins/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_select_sql[filter_then_limit] - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_select_sql/filter_then_limit/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_order_by_on_limit_yield_subquery - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_order_by_on_limit_yield_subquery/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_anti_join - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_anti_join/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_select_sql[agg_explicit_column] - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_select_sql/agg_explicit_column/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_semi_join - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_semi_join/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_where_analyze_scalar_op - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_where_analyze_scalar_op/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_select_sql[test_physical_table_reference_translate] - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_select_sql/test_physical_table_reference_translate/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_select_sql[aggregate_table_count_metric] - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_select_sql/aggregate_table_count_metric/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_where_with_join - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_where_with_join/decompiled.py
FAILED ibis/backends/tests/sql/test_select_sql.py::test_startswith - AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_startswith/decompiled.py

What version of ibis are you using?

12.0.0

What backend(s) are you using, if any?

Duckdb, sqlite

Relevant log output

### Pattern 1
# in test_selects_with_impure_operations_not_merged[sqlite-random]

    def test_selects_with_impure_operations_not_merged(con, snapshot, value):
        t = ibis.table({"x": "int64", "y": "float64"}, name="t")
        t = t.mutate(y=value, z=value)
        t = t.mutate(size=(t.y == t.z).ifelse("big", "small"))

        sql = str(ibis.to_sql(t, dialect=con.name))
>       snapshot.assert_match(sql, "out.sql")
E       AssertionError: value does not match the expected value in snapshot ibis/backends/tests/snapshots/test_sql/test_selects_with_impure_operations_not_merged/sqlite-random/out.sql
E         (run pytest with --snapshot-update to update snapshots)
E       assert 'SELECT\n  "t...0"\n) AS "t1"' == 'SELECT\n  "t...0"\n) AS "t1"'
E
E         Skipping 178 identical leading characters in diff, use -v to show
E         Skipping 36 identical trailing characters in diff, use -v to show
E         - 4073709552E+19
E         ?           ^
E         + 4073709552e+19
E         ?           ^
E               ) AS "y",
E               0.5 + (
E         -       CAST(RANDOM() AS REAL) / -1.8446744073709552E+19
E         ?                                                   ^
E         +       CAST(RANDOM() AS REAL) / -1.8446744073709552e+19
E         ?                                                   ^
E               )

ibis/backends/tests/test_sql.py:209: AssertionError

### Pattern 2
# In test_select_sql[limit_then_filter]
        rendered = ibis.decompile(expr, format=True)
        if snapshot is not None:
>           snapshot.assert_match(rendered, "decompiled.py")
E           AssertionError: value does not match the expected value in snapshot ibis/backends/tests/sql/snapshots/test_select_sql/test_select_sql/limit_then_filter/decompiled.py
E             (run pytest with --snapshot-update to update snapshots)
E           assert 'import ibis\...mit.f > 0))\n' == 'import ibis\...mit.f > 0))\n'
E
E               import ibis
E             +
E
E               star1 = ibis.table(
E                   name="star1",
E                   schema={"c": "int32", "f": "float64", "foo_id": "string", "bar_id": "string"},
E               )
E               limit = star1.limit(10)
E
E               result = limit.filter((limit.f > 0))

ibis/tests/util.py:67: AssertionError

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIncorrect behavior inside of ibis

    Type

    No type

    Projects

    Status

    backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions