As Andrus already posted, now builds are passing for all databases https://travis-ci.org/apache/cayenne
On Wed, Dec 21, 2016 at 3:49 PM, Savva Kolbachev <[email protected]> wrote: > Just updated MySQL Docker profile. Now it works fine and all tests pass. > > On Mon, Dec 19, 2016 at 11:22 AM, Nikita Timofeev < > [email protected]> wrote: > >> Hi all! >> >> I've run tests on Postgres and here what I've found. >> >> All failures of MergeCase.setUp: as I thought problem is with new >> DataMapMerger (ex DbMerger): Postgres DB doesn't distinct DECIMAL and >> NUMERIC data types >> and fields like SOME_DECIMAL_FIELD DECIMAL(10, 2) end up as NUMERIC(10, 2) >> type. And new merger try to fix types mismatch thus generating MergerToken >> that shouldn't be there. >> >> Other failures is a result of DbLoader refactoring and after a quick look >> at them I think their cause is that Postgres store all names in lowercase >> (as opposite to almost all other DBs that store them in uppercase). >> Hope to commit fixes soon. And clearly I need to run tests against Oracle >> and SQLServer as there can be yet unknown problems too. >> >> On Sat, Dec 17, 2016 at 4:44 PM, Savva Kolbachev <[email protected]> >> wrote: >> >> > I've added docker profiles for dbsync module. So now it works for both >> > mysql and postgres, but there are a lot of failed tests for postgres in >> > this module. >> > >> > Failed tests: >> > AttributeLoaderIT.testAttributeLoad:46 null >> > DbLoaderIT.testSimpleLoad:82 null >> > ExportedKeyLoaderIT.testExportedKeyLoad:63 expected:<2> but was:<0> >> > PrimaryKeyLoaderIT.testPrimaryKeyLoad:52 null >> > SetAllowNullToDbIT>MergeCase.setUp:99->MergeCase. >> > assertTokensAndExecute:216->MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > SetNotNullToDbIT>MergeCase.setUp:99->MergeCase. >> > assertTokensAndExecute:216->MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > SetPrimaryKeyToDbIT>MergeCase.setUp:99->MergeCase. >> > assertTokensAndExecute:216->MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > ValueForNullIT>MergeCase.setUp:99->MergeCase.assertTokensAnd >> Execute:216-> >> > MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > DropRelationshipToModelIT>MergeCase.setUp:99->MergeCase. >> > assertTokensAndExecute:216->MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > AddColumnToModelIT>MergeCase.setUp:99->MergeCase. >> > assertTokensAndExecute:216->MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > CreateTableToModelIT>MergeCase.setUp:99->MergeCase. >> > assertTokensAndExecute:216->MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > DropTableToModelIT>MergeCase.setUp:99->MergeCase. >> > assertTokensAndExecute:216->MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > DropColumnToModelIT>MergeCase.setUp:99->MergeCase. >> > assertTokensAndExecute:216->MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > DropColumnToModelIT>MergeCase.setUp:99->MergeCase. >> > assertTokensAndExecute:216->MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > EntityMergeSupportIT>MergeCase.setUp:99->MergeCase. >> > assertTokensAndExecute:216->MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > MergerFactoryIT>MergeCase.setUp:99->MergeCase.assertTokensAn >> dExecute:216-> >> > MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > MergerFactoryIT>MergeCase.setUp:99->MergeCase.assertTokensAn >> dExecute:216-> >> > MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > MergerFactoryIT>MergeCase.setUp:99->MergeCase.assertTokensAn >> dExecute:216-> >> > MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > MergerFactoryIT>MergeCase.setUp:99->MergeCase.assertTokensAn >> dExecute:216-> >> > MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > MergerFactoryIT>MergeCase.setUp:99->MergeCase.assertTokensAn >> dExecute:216-> >> > MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > MergerFactoryIT>MergeCase.setUp:99->MergeCase.assertTokensAn >> dExecute:216-> >> > MergeCase.assertTokens:210 >> > tokens to db expected:<0> but was:<1> >> > >> > On Sat, Dec 17, 2016 at 4:04 PM, Savva Kolbachev <[email protected] >> > >> > wrote: >> > >> > > > It didn't work on MacOS >> > > It's known issue [1] that I thought we had discussed here [2] and >> > private. >> > > Anyway, it works fine on Linux. >> > > >> > > > MySQL failures are all expected - the exact same set we saw during >> > > release testing. >> > > IIRC, it could be easily fixed by setting db charset to utf8 >> general_ci >> > > >> > > > PostgreSQL failures are all new. Not sure what's up with those? >> > > My experience tell me that there is a problem in configuration. Also, >> we >> > > should be sure that driver is set correctly. I'll check it localy. >> > > >> > > [1] https://github.com/fabric8io/docker-maven-plugin/issues/430 >> > > [2] https://github.com/apache/cayenne/pull/111#issuecomment-248336617 >> > > >> > > On Sat, Dec 17, 2016 at 3:51 PM, Andrus Adamchik < >> [email protected] >> > > >> > > wrote: >> > > >> > >> So I merged Travis/Docker support PR by @IRus [1]. >> > >> >> > >> It didn't work on MacOS: >> > >> >> > >> [INFO] --- docker-maven-plugin:0.15.6:start (start-postgres) @ >> > >> cayenne-server --- >> > >> [INFO] DOCKER> [postgres:9.5] "db": Start container bb8f98855916 >> > >> [INFO] DOCKER> [postgres:9.5] "db": Waiting for ports [5432] >> directly on >> > >> container with IP (172.17.0.2). >> > >> [ERROR] DOCKER> [postgres:9.5] "db": Timeout after 30229 ms while >> > waiting >> > >> on tcp port '[/172.17.0.2:5432]' >> > >> [ERROR] DOCKER> Error occurred during container startup, shutting >> > down... >> > >> >> > >> Could be something configuration-related, as container startup was >> > >> actually successful. The tests just could not figure out correct >> network >> > >> connection. Need to debug this some more. >> > >> >> > >> It also failed on Travis [2]. But there are more reasons for >> optimism. >> > >> All the failures are unit test failures that can either be fixed or >> > >> disabled conditionally. The Docker setup itself works correctly, and >> > this >> > >> is a big step forward. MySQL failures are all expected - the exact >> same >> > set >> > >> we saw during release testing. PostgreSQL failures are all new. Not >> sure >> > >> what's up with those? >> > >> >> > >> I disabled these 2 profiles on Travis for now. Should be easy to add >> > them >> > >> back [3]. >> > >> >> > >> Andrus >> > >> >> > >> >> > >> [1] https://github.com/apache/cayenne/pull/152 >> > >> [2] https://travis-ci.org/apache/cayenne/builds/184759909 >> > >> [3] https://github.com/apache/cayenne/commit/544375feb3f54921e0f >> > >> 74cc1744585d2b6117689#diff-354f30a63fb0907d4ad57269548329e3 >> > > >> > > >> > > >> > > >> > > -- >> > > Best Regards, >> > > Savva Kolbachev >> > > >> > >> > >> > >> > -- >> > Best Regards, >> > Savva Kolbachev >> > >> >> >> -- >> Best regards, >> Nikita Timofeev >> > > > > -- > Best Regards, > Savva Kolbachev > -- Best Regards, Savva Kolbachev
