| 39 | namespace { |
| 40 | |
| 41 | TEST(RendezvousTest, Key) { |
| 42 | const string key = Rendezvous::CreateKey( |
| 43 | "/job:mnist/replica:1/task:2/CPU:0", 7890, |
| 44 | "/job:mnist/replica:1/task:2/device:GPU:0", "var0", FrameAndIter(0, 0)); |
| 45 | EXPECT_EQ(key, |
| 46 | "/job:mnist/replica:1/task:2/CPU:0;" |
| 47 | "0000000000001ed2;" // 7890 = 0x1ed2 |
| 48 | "/job:mnist/replica:1/task:2/device:GPU:0;" |
| 49 | "var0;" |
| 50 | "0:0"); |
| 51 | Rendezvous::ParsedKey parsed; |
| 52 | TF_EXPECT_OK(Rendezvous::ParseKey(key, &parsed)); |
| 53 | EXPECT_EQ(parsed.src_device, "/job:mnist/replica:1/task:2/CPU:0"); |
| 54 | EXPECT_EQ(parsed.src_incarnation, 7890); |
| 55 | EXPECT_EQ(parsed.src.type, "CPU"); |
| 56 | EXPECT_EQ(parsed.dst_device, "/job:mnist/replica:1/task:2/device:GPU:0"); |
| 57 | EXPECT_EQ(parsed.dst.type, "GPU"); |
| 58 | |
| 59 | EXPECT_FALSE(Rendezvous::ParseKey("foo;bar;baz", &parsed).ok()); |
| 60 | EXPECT_FALSE(Rendezvous::ParseKey("/job:mnist/replica:1/task:2/CPU:0;" |
| 61 | "/job:mnist/replica:1/task:2/device:GPU:0;", |
| 62 | &parsed) |
| 63 | .ok()); |
| 64 | EXPECT_FALSE( |
| 65 | Rendezvous::ParseKey(strings::StrCat(key, ";", key), &parsed).ok()); |
| 66 | } |
| 67 | |
| 68 | class LocalRendezvousTest : public ::testing::Test { |
| 69 | public: |
nothing calls this directly
no test coverage detected