cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Savva Kolbachev <s.kolbac...@gmail.com>
Subject Re: PostgreSQL and MySQL tests on Travis / Docker
Date Fri, 23 Dec 2016 12:38:22 GMT
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 <s.kolbachev@gmail.com>
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 <
> ntimofeev@objectstyle.com> 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 <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.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 <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
>>
>
>
>
> --
> Best Regards,
> Savva Kolbachev
>



-- 
Best Regards,
Savva Kolbachev

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