cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nikita Timofeev <ntimof...@objectstyle.com>
Subject Re: PostgreSQL and MySQL tests on Travis / Docker
Date Mon, 19 Dec 2016 08:22:36 GMT
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 <s.kolbachev@gmail.com>
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.assertTokensAndExecute: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.assertTokensAndExecute:216->
> MergeCase.assertTokens:210
> tokens to db expected:<0> but was:<1>
> MergerFactoryIT>MergeCase.setUp:99->MergeCase.assertTokensAndExecute:216->
> MergeCase.assertTokens:210
> tokens to db expected:<0> but was:<1>
> MergerFactoryIT>MergeCase.setUp:99->MergeCase.assertTokensAndExecute:216->
> MergeCase.assertTokens:210
> tokens to db expected:<0> but was:<1>
> MergerFactoryIT>MergeCase.setUp:99->MergeCase.assertTokensAndExecute:216->
> MergeCase.assertTokens:210
> tokens to db expected:<0> but was:<1>
> MergerFactoryIT>MergeCase.setUp:99->MergeCase.assertTokensAndExecute:216->
> MergeCase.assertTokens:210
> tokens to db expected:<0> but was:<1>
> MergerFactoryIT>MergeCase.setUp:99->MergeCase.assertTokensAndExecute:216->
> MergeCase.assertTokens:210
> tokens to db expected:<0> but was:<1>
>
> On Sat, Dec 17, 2016 at 4:04 PM, Savva Kolbachev <s.kolbachev@gmail.com>
> 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 <andrus@objectstyle.org
> >
> > 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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message