Le 26 février 2017 05:37:00 GMT+01:00, Niclas Hedhman <[email protected]> a écrit : >So only the Docker daemon is needed? > >And I run what target for ./gradlew ? > >Cheers >Niclas > >On Sat, Feb 25, 2017 at 10:33 PM, Paul Merlin <[email protected]> >wrote: > >> Gang, >> >> I finally found time to take a stab at fixing Docker based >integration >> testing on Linux. >> >> It should now work out of the box on Linux, given that a Docker >service >> is running locally and that your user has the correct permissions. >> >> Docker based integration testing is now disabled if unable to contact >a >> Docker service. No need to set DOCKER_HOST. >> >> Niclas, could you confirm it works for you? >> >> Cheers >> >> /Paul >> >> >> >> Paul Merlin a écrit : >> > Thanks for your feedback Niclas! >> > >> > Using the unix:///path/to/docker.sock URL on Linux should do. >> > I'll do another round on that later this week. >> > >> > Cheers >> > >> > >> > Niclas Hedhman a écrit : >> >> DOCKER_* may not be the best way to determine if Docker is >present. I >> am on >> >> a Debian system, and no env variable named DOCKER* is set by >default, >> yet >> >> docker is operational. IIUIC, these variables are needed for >Docker >> Swarm >> >> and other specialized setup where one is not running the container >on >> the >> >> same system as issuing the `docker` command. >> >> >> >> That said, running >> >> ./gradlew :ext:entity-redis:test >> >> >> >> without changing my defaults gives me some errors; >> >> >> >> :extensions:entitystore-redis:test >> >> >> >> >org.apache.polygene.entitystore.redis.RedisMapEntityStoreWithCacheTest >> > >> >> classMethod FAILED >> >> java.lang.ExceptionInInitializerError >> >> Caused by: java.lang.IllegalStateException at >> >> RedisMapEntityStoreWithCacheTest.java:38 >> >> Caused by: com.spotify.docker.client. >> exceptions.DockerException >> >> at RedisMapEntityStoreWithCacheTest.java:38 >> >> Caused by: java.util.concurrent.ExecutionException >at >> >> RedisMapEntityStoreWithCacheTest.java:38 >> >> Caused by: javax.ws.rs.ProcessingException >> >> Caused by: >> >> org.apache.http.conn.HttpHostConnectException >> >> Caused by: java.net.ConnectException >> >> >> >> org.apache.polygene.entitystore.redis.RedisMapEntityStoreTest > >> classMethod >> >> FAILED >> >> java.lang.ExceptionInInitializerError >> >> Caused by: java.lang.IllegalStateException at >> >> RedisMapEntityStoreTest.java:38 >> >> Caused by: com.spotify.docker.client. >> exceptions.DockerException >> >> at RedisMapEntityStoreTest.java:38 >> >> Caused by: java.util.concurrent.ExecutionException >at >> >> RedisMapEntityStoreTest.java:38 >> >> Caused by: javax.ws.rs.ProcessingException >> >> Caused by: >> >> org.apache.http.conn.HttpHostConnectException >> >> Caused by: java.net.ConnectException >> >> >> >> 2 tests completed, 2 failed >> >> >> >> >> >> And the underlying exception is; >> >> >> >> Caused by: org.apache.http.conn.HttpHostConnectException: Connect >to >> >> localhost:2375 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] >failed: >> >> Connection refused (Connection refused) >> >> >> >> >> >> Which I presume is due to the gradle-docker-plugin going on the >network >> >> protocol instead of the command-line interface. The default docker >> >> interface on Linux seems to be Unix sockets, which most Java apps >tend >> to >> >> ignore and not support. >> >> >> >> 1059 ? Ssl 0:02 docker-containerd -l >> >> unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim >> >> docker-containerd-shim --metrics-interval=0 --start-timeout 2m >> --state-dir >> >> /var/run/docker/libcontainerd/containerd --runtime docker-runc >> >> >> >> >> >> Hope that helps. I am sending you login separately to a >clean/unused >> server >> >> in Germany, in case you want to run experiments on it. >> >> >> >> Cheers >> >> >> >> On Sun, Jan 15, 2017 at 8:08 PM, Paul Merlin ><[email protected]> >> wrote: >> >> >> >>> Could anybody confirm it works for them? >> >>> >> >>> Paul Merlin a écrit : >> >>>> Gang, >> >>>> >> >>>> I pushed changes to the build system and tests to automate >integration >> >>>> testing. >> >>>> >> >>>> It uses docker to build the necessary images and run docker >containers >> >>>> as a JUnit rule. >> >>>> All this is done only if the DOCKER_HOST environment variable is >set, >> >>>> otherwise it's skipped. >> >>>> >> >>>> On linux with docker installed it should work out of the box >given you >> >>>> have DOCKER_HOST and DOCKER_CERT_PATH set. >> >>>> >> >>>> On mac you need to: >> >>>> - docker-machine create someFancyNameYouChoose >> >>>> - eval $(docker-machine env someFancyNameYouChoose) >> >>>> >> >>>> On windows, see https://docs.docker.com/machine/reference/env/ >> >>>> >> >>>> With that done, when you now run e.g: >> >>>> >> >>>> ./gradlew :ext:entity-redis:test >> >>>> >> >>>> it will build the docker images and run Redis in a container >around >> >>>> the EntityStore tests. >> >>>> >> >>>> The same goes for these extensions: >> >>>> >> >>>> - Memcached Cache >> >>>> - SQL EntityStore using both MySQL and PostgreSQL >> >>>> - SQL Index/Query using PostgreSQL >> >>>> - Riak EntityStore >> >>>> >> >>>> All the others extensions are tested using embedded solutions, >> >>>> including MongoDB. >> >>>> >> >>>> Docker images are built by the :internals:testsupport-internal >> >>>> project, you'll find the Dockerfiles there. >> >>>> >> >>>> Thanks to this I was able to fix a bug I introduced in the Riak >ES in >> >>>> recent changes. >> >>>> The only thing actually broken is SQL Index/Query, see >> >>>> https://issues.apache.org/jira/browse/POLYGENE-222 >> >>>> >> >>>> For now these test do not run on CI. >> >>>> builds.apache.org supports docker so we should be able to do >that too >> >>>> at some point. >> >>>> In the meantime some of us should run the *whole* test suite >from time >> >>>> to time. >> >>>> At least now it should be damn easy to do! >> >>>> >> >>>> Before calling this automation done I'd like to get someone to >confirm >> >>>> it 'works for them'. >> >>>> I only tested on a mac. >> >>>> >> >>>> Cheers >> >>>> >> >>>> /Paul >> >>>> >> > >> > > > >-- >Niclas Hedhman, Software Developer >http://polygene.apache.org <http://zest.apache.org> - New Energy for >Java
./gradlew test for the whole test suite -- Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
