[MDEV-30279] At least 7 spider tests failing Created: 2022-12-20  Updated: 2023-01-08  Resolved: 2023-01-06

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - Spider, Tests
Fix Version/s: 10.11.2, 10.4.28, 10.5.19, 10.6.12, 10.7.8, 10.8.7, 10.9.5, 10.10.3

Type: Task Priority: Major
Reporter: Yuchen Pei Assignee: Yuchen Pei
Resolution: Won't Fix Votes: 0
Labels: None


 Description   

For 10.3-6:

$ ./mysql-test/mtr --suite spider/* --skip-test spider/oracle.* --parallel=auto --big-test --force --max-test-fail=0 --skip-core-file
 
...
 
Completed: Failed 7/109 tests, 93.58% were successful.
 
Failing test(s): spider/t.spider3_fixes spider/t.spider3_fixes_part spider/t.spider_fixes spider/t.direct_join spider/t.spider_fixes_part spider/t.udf_pushdown spider/t.slave_trx_isolation

For 10.7-11, failure for an extra test: spider/t.error_row_number



 Comments   
Comment by Yuchen Pei [ 2022-12-21 ]

Bumped priority to major because test failures introduces noise and doubt and slows down development

Comment by Yuchen Pei [ 2023-01-04 ]

Running these tests, the version without /t of all these testcases (i.e. spider.spider_fixes instead of spider/t.spider_fixes etc.) works. there are roughly 3 kinds of problems:

1. Those sourcing slave_test_init.inc, including spider3_fixes_part, }}spider_fixes}}, spider_fixes_part, spider_fixes, slave_trx_isolation. This is caused by vars defined in spider/my.cnf not found and resolved to empty (e.g. $MASTER_1_MYPORT used in slave_test_init.inc and $STR_SEMICOLON used in init_master_1.inc. This causes parsing problem
2. Connection 'child2_1' not found, including error_row_number and udf_pushdown
3. "The MariaDB server is running with the --skip-partition option so it cannot execute this statement", including direct_join

Comment by Yuchen Pei [ 2023-01-06 ]

It looks like mtr simply does not use path/to/my.cnf when testing path/to/t.foo. One can verify this with a silly one line test --echo $MASTER_1_MYPORT that prints out nothing.

So the "solution" is simply not to run tests with a /t. infix:

./mysql-test/mtr --suite spider,spider/*,spider/*/* --skip-test="spider/oracle.*|.*/t\..*" --parallel=auto --big-test --force --max-test-fail=0 --skip-core-file

Comment by Sergei Golubchik [ 2023-01-06 ]

When you run the suitename.testname, mtr loads my.cnf from the suite directory.
Test files can be directly in the suitename directory or in the t/ subdirectory.
When you specify spider/t.foo, mtr thinks that spider/t is the suite directory, and looks for spider/t/my.cnf and spider/t/foo.result.

Comment by Yuchen Pei [ 2023-01-08 ]

serg I see, thanks for explaining. If only there's a simpler command to run all suites belonging to a directory recursively.

Generated at Thu Feb 08 10:15:03 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.