]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
modernize requirements for boolean constraint test
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 7 Oct 2020 03:46:03 +0000 (23:46 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 7 Oct 2020 03:46:03 +0000 (23:46 -0400)
this test was not actually working correctly against
mariadb and was "failing" (i.e. "passing") inappropriately
for pymysql, mysqlclient. it also started "passing" (i.e. "failing")
for mariadb as of 1.0.3.

modernize reqs here including for mssql bit behavior.

Change-Id: Ia88ee607ec8d59f6140a7e4a1174910382d53674

test/sql/test_types.py

index efa622b135a468ed381b00036d52354b6af76704..7cba3b45070831d2435236bf30ad9b7c19121c20 100644 (file)
@@ -3160,15 +3160,11 @@ class BooleanTest(
             Column("unconstrained_value", Boolean()),
         )
 
-    @testing.fails_on(
-        ["mysql", "mariadb"],
-        "The CHECK clause is parsed but ignored by all storage engines.",
-    )
-    @testing.fails_on("mssql", "FIXME: MS-SQL 2005 doesn't honor CHECK ?!?")
-    @testing.skip_if(lambda: testing.db.dialect.supports_native_boolean)
+    @testing.requires.enforces_check_constraints
+    @testing.requires.non_native_boolean_unconstrained
     def test_constraint(self, connection):
         assert_raises(
-            (exc.IntegrityError, exc.ProgrammingError),
+            (exc.IntegrityError, exc.ProgrammingError, exc.OperationalError),
             connection.exec_driver_sql,
             "insert into boolean_table (id, value) values(1, 5)",
         )