145208ae00457d92ae4bb5889a35597a155074457Derek Murray# Copyright 2017 The TensorFlow Authors. All Rights Reserved.
245208ae00457d92ae4bb5889a35597a155074457Derek Murray#
345208ae00457d92ae4bb5889a35597a155074457Derek Murray# Licensed under the Apache License, Version 2.0 (the "License");
445208ae00457d92ae4bb5889a35597a155074457Derek Murray# you may not use this file except in compliance with the License.
545208ae00457d92ae4bb5889a35597a155074457Derek Murray# You may obtain a copy of the License at
645208ae00457d92ae4bb5889a35597a155074457Derek Murray#
745208ae00457d92ae4bb5889a35597a155074457Derek Murray#     http://www.apache.org/licenses/LICENSE-2.0
845208ae00457d92ae4bb5889a35597a155074457Derek Murray#
945208ae00457d92ae4bb5889a35597a155074457Derek Murray# Unless required by applicable law or agreed to in writing, software
1045208ae00457d92ae4bb5889a35597a155074457Derek Murray# distributed under the License is distributed on an "AS IS" BASIS,
1145208ae00457d92ae4bb5889a35597a155074457Derek Murray# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1245208ae00457d92ae4bb5889a35597a155074457Derek Murray# See the License for the specific language governing permissions and
1345208ae00457d92ae4bb5889a35597a155074457Derek Murray# limitations under the License.
1445208ae00457d92ae4bb5889a35597a155074457Derek Murray# ==============================================================================
1545208ae00457d92ae4bb5889a35597a155074457Derek Murray"""Tests for tf.GrpcServer."""
1645208ae00457d92ae4bb5889a35597a155074457Derek Murray
1745208ae00457d92ae4bb5889a35597a155074457Derek Murrayfrom __future__ import absolute_import
1845208ae00457d92ae4bb5889a35597a155074457Derek Murrayfrom __future__ import division
1945208ae00457d92ae4bb5889a35597a155074457Derek Murrayfrom __future__ import print_function
2045208ae00457d92ae4bb5889a35597a155074457Derek Murray
2145208ae00457d92ae4bb5889a35597a155074457Derek Murrayfrom tensorflow.python.client import session
2245208ae00457d92ae4bb5889a35597a155074457Derek Murrayfrom tensorflow.python.framework import constant_op
2345208ae00457d92ae4bb5889a35597a155074457Derek Murrayfrom tensorflow.python.framework import ops
2445208ae00457d92ae4bb5889a35597a155074457Derek Murrayfrom tensorflow.python.platform import test
2545208ae00457d92ae4bb5889a35597a155074457Derek Murrayfrom tensorflow.python.training import server_lib
2645208ae00457d92ae4bb5889a35597a155074457Derek Murray
2745208ae00457d92ae4bb5889a35597a155074457Derek Murray
2845208ae00457d92ae4bb5889a35597a155074457Derek Murrayclass SparseJobTest(test.TestCase):
2945208ae00457d92ae4bb5889a35597a155074457Derek Murray
3045208ae00457d92ae4bb5889a35597a155074457Derek Murray  # TODO(b/34465411): Starting multiple servers with different configurations
3145208ae00457d92ae4bb5889a35597a155074457Derek Murray  # in the same test is flaky. Move this test case back into
3245208ae00457d92ae4bb5889a35597a155074457Derek Murray  # "server_lib_test.py" when this is no longer the case.
3345208ae00457d92ae4bb5889a35597a155074457Derek Murray  def testSparseJob(self):
3445208ae00457d92ae4bb5889a35597a155074457Derek Murray    server = server_lib.Server({"local": {37: "localhost:0"}})
3545208ae00457d92ae4bb5889a35597a155074457Derek Murray    with ops.device("/job:local/task:37"):
3645208ae00457d92ae4bb5889a35597a155074457Derek Murray      a = constant_op.constant(1.0)
3745208ae00457d92ae4bb5889a35597a155074457Derek Murray
3845208ae00457d92ae4bb5889a35597a155074457Derek Murray    with session.Session(server.target) as sess:
3945208ae00457d92ae4bb5889a35597a155074457Derek Murray      self.assertEqual(1.0, sess.run(a))
4045208ae00457d92ae4bb5889a35597a155074457Derek Murray
4145208ae00457d92ae4bb5889a35597a155074457Derek Murray
4245208ae00457d92ae4bb5889a35597a155074457Derek Murrayif __name__ == "__main__":
4345208ae00457d92ae4bb5889a35597a155074457Derek Murray  test.main()
44