news icon indicating copy to clipboard operation
news copied to clipboard

`NewsRepositoryTest::findRecordsForDateMenu` fails with SQLite

Open oliverklee opened this issue 2 years ago • 1 comments

Currently, the functional tests for main fail on my local machine:

./Build/Scripts/runTests.sh -s functional
There was 1 error:

1) GeorgRinger\News\Tests\Functional\Repository\NewsRepositoryTest::findRecordsForDateMenu
Doctrine\DBAL\Exception\SyntaxErrorException: An exception occurred while executing 'SELECT MONTH(FROM_UNIXTIME(0) + INTERVAL datetime SECOND ) AS "_month", YEAR(FROM_UNIXTIME(0) + INTERVAL datetime SECOND) AS "_year" , count(MONTH(FROM_UNIXTIME(0) + INTERVAL datetime SECOND )) as count_month, count(YEAR(FROM_UNIXTIME(0) + INTERVAL datetime SECOND)) as count_year FROM tx_news_domain_model_news WHERE (("tx_news_domain_model_news"."type" = '0') OR ("tx_news_domain_model_news"."type" = '1') OR ("tx_news_domain_model_news"."type" = '2')) AND ("tx_news_domain_model_news"."pid" IN ('9')) AND ("tx_news_domain_model_news"."sys_language_uid" IN (0, -1)) AND ("tx_news_domain_model_news"."t3ver_oid" = 0) AND (("tx_news_domain_model_news"."hidden" = 0) AND ("tx_news_domain_model_news"."starttime" <= 1696862940) AND (("tx_news_domain_model_news"."endtime" = 0) OR ("tx_news_domain_model_news"."endtime" > 1696862940)) AND tx_news_domain_model_news.deleted=0) AND ("tx_news_domain_model_news"."hidden" = 0) AND ("tx_news_domain_model_news"."starttime" <= 1696862940) AND (("tx_news_domain_model_news"."endtime" = 0) OR ("tx_news_domain_model_news"."endtime" > 1696862940)) AND "deleted" = 0 GROUP BY _month, _year ORDER BY _year asc, _month asc':

SQLSTATE[HY000]: General error: 1 near "datetime": syntax error

/home/klee/src/typo3/ext/news/.Build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLiteDriver.php:75
/home/klee/src/typo3/ext/news/.Build/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:182
/home/klee/src/typo3/ext/news/.Build/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:159
/home/klee/src/typo3/ext/news/.Build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:2226
/home/klee/src/typo3/ext/news/.Build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:1313
/home/klee/src/typo3/ext/news/Classes/Domain/Repository/NewsRepository.php:414
/home/klee/src/typo3/ext/news/Tests/Functional/Repository/NewsRepositoryTest.php:230
phpvfscomposer:///home/klee/src/typo3/ext/news/.Build/vendor/phpunit/phpunit/phpunit:106

Caused by
Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[HY000]: General error: 1 near "datetime": syntax error

/home/klee/src/typo3/ext/news/.Build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18
/home/klee/src/typo3/ext/news/.Build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:143
/home/klee/src/typo3/ext/news/.Build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOQueryImplementation.php:38
/home/klee/src/typo3/ext/news/.Build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:1309
/home/klee/src/typo3/ext/news/Classes/Domain/Repository/NewsRepository.php:414
/home/klee/src/typo3/ext/news/Tests/Functional/Repository/NewsRepositoryTest.php:230
phpvfscomposer:///home/klee/src/typo3/ext/news/.Build/vendor/phpunit/phpunit/phpunit:106

Caused by
PDOException: SQLSTATE[HY000]: General error: 1 near "datetime": syntax error

/home/klee/src/typo3/ext/news/.Build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:141
/home/klee/src/typo3/ext/news/.Build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOQueryImplementation.php:38
/home/klee/src/typo3/ext/news/.Build/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:1309
/home/klee/src/typo3/ext/news/Classes/Domain/Repository/NewsRepository.php:414
/home/klee/src/typo3/ext/news/Tests/Functional/Repository/NewsRepositoryTest.php:230
phpvfscomposer:///home/klee/src/typo3/ext/news/.Build/vendor/phpunit/phpunit/phpunit:106

ERRORS!
Tests: 26, Assertions: 58, Errors: 1.
ERROR: 2

oliverklee avatar Oct 09 '23 14:10 oliverklee

The tests fail only with -d sqlite (i.e., the local default with runTests.sh), but not with mariadb, mysql or postgres. I've updated the issue title accordingly.

oliverklee avatar Oct 09 '23 16:10 oliverklee