PostgreSQL and MySQL tests on Travis / Docker

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

PostgreSQL and MySQL tests on Travis / Docker

Andrus Adamchik
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/544375feb3f54921e0f74cc1744585d2b6117689#diff-354f30a63fb0907d4ad57269548329e3
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PostgreSQL and MySQL tests on Travis / Docker

Savva Kolbachev
> 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 <[hidden email]>
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/
> 544375feb3f54921e0f74cc1744585d2b6117689#diff-
> 354f30a63fb0907d4ad57269548329e3




--
Best Regards,
Savva Kolbachev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PostgreSQL and MySQL tests on Travis / Docker

Savva Kolbachev
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 <[hidden email]>
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 <[hidden email]>
> 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
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PostgreSQL and MySQL tests on Travis / Docker

Nikita Timofeev
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 <[hidden email]>
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 <[hidden email]>
> 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 <[hidden email]
> >
> > 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
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PostgreSQL and MySQL tests on Travis / Docker

Savva Kolbachev
Just updated MySQL Docker profile. Now it works fine and all tests pass.

On Mon, Dec 19, 2016 at 11:22 AM, Nikita Timofeev <[hidden email]
> 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 <[hidden email]>
> 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 <[hidden email]>
> > 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 <
> [hidden email]
> > >
> > > 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
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PostgreSQL and MySQL tests on Travis / Docker

Savva Kolbachev
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 <[hidden email]>
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 <
> [hidden email]> 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 <[hidden email]>
>> 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 <[hidden email]
>> >
>> > 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 <
>> [hidden email]
>> > >
>> > > 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
Loading...