Nathaniel Manista | d4cb0d6 | 2015-02-15 01:21:53 +0000 | [diff] [blame] | 1 | # Dockerfile for GRPC Python |
| 2 | FROM grpc/python_base |
| 3 | |
Jan Tattermusch | 213ecbf | 2015-02-20 17:09:59 -0800 | [diff] [blame^] | 4 | # Pull the latest sources |
Nathaniel Manista | d4cb0d6 | 2015-02-15 01:21:53 +0000 | [diff] [blame] | 5 | RUN cd /var/local/git/grpc \ |
| 6 | && git pull --recurse-submodules \ |
| 7 | && git submodule update --init --recursive |
| 8 | |
| 9 | # Build the C core. |
Jan Tattermusch | 213ecbf | 2015-02-20 17:09:59 -0800 | [diff] [blame^] | 10 | RUN make install_c -j12 -C /var/local/git/grpc |
Nathaniel Manista | d4cb0d6 | 2015-02-15 01:21:53 +0000 | [diff] [blame] | 11 | |
| 12 | # Build Python GRPC |
| 13 | RUN cd /var/local/git/grpc \ |
| 14 | && pip install src/python/src \ |
| 15 | && pip install src/python/interop |
| 16 | |
| 17 | # Run Python GRPC's tests |
| 18 | RUN cd /var/local/git/grpc \ |
| 19 | # TODO(nathaniel): It would be nice for these to be auto-discoverable? |
Nathaniel Manista | c25a3b3 | 2015-02-18 02:46:17 +0000 | [diff] [blame] | 20 | && python2.7 -B -m grpc._adapter._blocking_invocation_inline_service_test |
| 21 | && python2.7 -B -m grpc._adapter._c_test |
| 22 | && python2.7 -B -m grpc._adapter._event_invocation_synchronous_event_service_test |
| 23 | && python2.7 -B -m grpc._adapter._future_invocation_asynchronous_event_service_test |
| 24 | && python2.7 -B -m grpc._adapter._links_test |
| 25 | && python2.7 -B -m grpc._adapter._lonely_rear_link_test |
| 26 | && python2.7 -B -m grpc._adapter._low_test |
Nathaniel Manista | 7efe54e | 2015-02-20 20:42:01 +0000 | [diff] [blame] | 27 | && python2.7 -B -m grpc.framework.assembly.implementations_test |
| 28 | && python2.7 -B -m grpc.framework.base.packets.implementations_test |
| 29 | && python2.7 -B -m grpc.framework.face.blocking_invocation_inline_service_test |
| 30 | && python2.7 -B -m grpc.framework.face.event_invocation_synchronous_event_service_test |
| 31 | && python2.7 -B -m grpc.framework.face.future_invocation_asynchronous_event_service_test |
| 32 | && python2.7 -B -m grpc.framework.foundation._later_test |
| 33 | && python2.7 -B -m grpc.framework.foundation._logging_pool_test |
Nathaniel Manista | d4cb0d6 | 2015-02-15 01:21:53 +0000 | [diff] [blame] | 34 | |
| 35 | # Add a cacerts directory containing the Google root pem file, allowing the interop client to access the production test instance |
| 36 | ADD cacerts cacerts |
| 37 | |
| 38 | # Specify the default command such that the interop server runs on its known testing port |
| 39 | CMD ["/bin/bash", "-l", "-c", "python2.7 -m interop.server --use_tls --port 8050"] |