Skip to content

Commit fa155e1

Browse files
nfeltyatbear
authored andcommitted
cleanup: use real mocking for plugin_event_accumulator_test.py (tensorflow#5543)
1 parent 05935bd commit fa155e1

File tree

1 file changed

+26
-30
lines changed

1 file changed

+26
-30
lines changed

tensorboard/backend/event_processing/plugin_event_accumulator_test.py

Lines changed: 26 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616

1717
import os
18+
from unittest import mock
1819

1920
import numpy as np
2021
import tensorflow as tf
@@ -135,33 +136,28 @@ class MockingEventAccumulatorTest(EventAccumulatorTest):
135136
def setUp(self):
136137
super(MockingEventAccumulatorTest, self).setUp()
137138
self.stubs = tf.compat.v1.test.StubOutForTesting()
138-
self._real_constructor = ea.EventAccumulator
139-
self._real_generator = ea._GeneratorFromPath
140-
141-
def _FakeAccumulatorConstructor(generator, *args, **kwargs):
142-
def _FakeGeneratorFromPath(path, event_file_active_filter=None):
143-
return generator
144-
145-
ea._GeneratorFromPath = _FakeGeneratorFromPath
146-
return self._real_constructor(generator, *args, **kwargs)
147-
148-
ea.EventAccumulator = _FakeAccumulatorConstructor
149139

150140
def tearDown(self):
141+
super(MockingEventAccumulatorTest, self).tearDown()
151142
self.stubs.CleanUp()
152-
ea.EventAccumulator = self._real_constructor
153-
ea._GeneratorFromPath = self._real_generator
143+
144+
def _make_accumulator(self, generator, **kwargs):
145+
patcher = mock.patch.object(ea, "_GeneratorFromPath", autospec=True)
146+
mock_impl = patcher.start()
147+
mock_impl.return_value = generator
148+
self.addCleanup(patcher.stop)
149+
return ea.EventAccumulator("path/is/ignored", **kwargs)
154150

155151
def testEmptyAccumulator(self):
156152
gen = _EventGenerator(self)
157-
x = ea.EventAccumulator(gen)
153+
x = self._make_accumulator(gen)
158154
x.Reload()
159155
self.assertTagsEqual(x.Tags(), {})
160156

161157
def testReload(self):
162158
"""EventAccumulator contains suitable tags after calling Reload."""
163159
gen = _EventGenerator(self)
164-
acc = ea.EventAccumulator(gen)
160+
acc = self._make_accumulator(gen)
165161
acc.Reload()
166162
self.assertTagsEqual(acc.Tags(), {})
167163
gen.AddScalarTensor("s1", wall_time=1, step=10, value=50)
@@ -177,15 +173,15 @@ def testReload(self):
177173
def testKeyError(self):
178174
"""KeyError should be raised when accessing non-existing keys."""
179175
gen = _EventGenerator(self)
180-
acc = ea.EventAccumulator(gen)
176+
acc = self._make_accumulator(gen)
181177
acc.Reload()
182178
with self.assertRaises(KeyError):
183179
acc.Tensors("s1")
184180

185181
def testNonValueEvents(self):
186182
"""Non-value events in the generator don't cause early exits."""
187183
gen = _EventGenerator(self)
188-
acc = ea.EventAccumulator(gen)
184+
acc = self._make_accumulator(gen)
189185
gen.AddScalarTensor("s1", wall_time=1, step=10, value=20)
190186
gen.AddEvent(
191187
event_pb2.Event(wall_time=2, step=20, file_version="nots2")
@@ -214,7 +210,7 @@ def testExpiredDataDiscardedAfterRestartForFileVersionLessThan2(self):
214210
self.stubs.Set(logger, "warning", warnings.append)
215211

216212
gen = _EventGenerator(self)
217-
acc = ea.EventAccumulator(gen)
213+
acc = self._make_accumulator(gen)
218214

219215
gen.AddEvent(
220216
event_pb2.Event(wall_time=0, step=0, file_version="brain.Event:1")
@@ -239,7 +235,7 @@ def testOrphanedDataNotDiscardedIfFlagUnset(self):
239235
"""Tests that events are not discarded if purge_orphaned_data is
240236
false."""
241237
gen = _EventGenerator(self)
242-
acc = ea.EventAccumulator(gen, purge_orphaned_data=False)
238+
acc = self._make_accumulator(gen, purge_orphaned_data=False)
243239

244240
gen.AddEvent(
245241
event_pb2.Event(wall_time=0, step=0, file_version="brain.Event:1")
@@ -275,7 +271,7 @@ def testEventsDiscardedPerTagAfterRestartForFileVersionLessThan2(self):
275271
self.stubs.Set(logger, "warning", warnings.append)
276272

277273
gen = _EventGenerator(self)
278-
acc = ea.EventAccumulator(gen)
274+
acc = self._make_accumulator(gen)
279275

280276
gen.AddEvent(
281277
event_pb2.Event(wall_time=0, step=0, file_version="brain.Event:1")
@@ -306,7 +302,7 @@ def testEventsDiscardedPerTagAfterRestartForFileVersionLessThan2(self):
306302
def testOnlySummaryEventsTriggerDiscards(self):
307303
"""Test that file version event does not trigger data purge."""
308304
gen = _EventGenerator(self)
309-
acc = ea.EventAccumulator(gen)
305+
acc = self._make_accumulator(gen)
310306
gen.AddScalarTensor("s1", wall_time=1, step=100, value=20)
311307
ev1 = event_pb2.Event(wall_time=2, step=0, file_version="brain.Event:1")
312308
graph_bytes = tf.compat.v1.GraphDef().SerializeToString()
@@ -325,7 +321,7 @@ def testSessionLogStartMessageDiscardsExpiredEvents(self):
325321
event.proto for file_version >= brain.Event:2.
326322
"""
327323
gen = _EventGenerator(self)
328-
acc = ea.EventAccumulator(gen)
324+
acc = self._make_accumulator(gen)
329325
slog = event_pb2.SessionLog(status=event_pb2.SessionLog.START)
330326

331327
gen.AddEvent(
@@ -350,7 +346,7 @@ def testFirstEventTimestamp(self):
350346
"""Test that FirstEventTimestamp() returns wall_time of the first
351347
event."""
352348
gen = _EventGenerator(self)
353-
acc = ea.EventAccumulator(gen)
349+
acc = self._make_accumulator(gen)
354350
gen.AddEvent(
355351
event_pb2.Event(wall_time=10, step=20, file_version="brain.Event:2")
356352
)
@@ -360,7 +356,7 @@ def testFirstEventTimestamp(self):
360356
def testReloadPopulatesFirstEventTimestamp(self):
361357
"""Test that Reload() means FirstEventTimestamp() won't load events."""
362358
gen = _EventGenerator(self)
363-
acc = ea.EventAccumulator(gen)
359+
acc = self._make_accumulator(gen)
364360
gen.AddEvent(
365361
event_pb2.Event(wall_time=1, step=2, file_version="brain.Event:2")
366362
)
@@ -376,7 +372,7 @@ def _Die(*args, **kwargs): # pylint: disable=unused-argument
376372
def testFirstEventTimestampLoadsEvent(self):
377373
"""Test that FirstEventTimestamp() doesn't discard the loaded event."""
378374
gen = _EventGenerator(self)
379-
acc = ea.EventAccumulator(gen)
375+
acc = self._make_accumulator(gen)
380376
gen.AddEvent(
381377
event_pb2.Event(wall_time=1, step=2, file_version="brain.Event:2")
382378
)
@@ -403,7 +399,7 @@ def testNewStyleScalarSummary(self):
403399
summ = sess.run(merged, feed_dict={step: float(i)})
404400
writer.add_summary(summ, global_step=i)
405401

406-
accumulator = ea.EventAccumulator(event_sink)
402+
accumulator = self._make_accumulator(event_sink)
407403
accumulator.Reload()
408404

409405
tags = [
@@ -451,7 +447,7 @@ def testNewStyleAudioSummary(self):
451447
summ = sess.run(merged)
452448
writer.add_summary(summ, global_step=i)
453449

454-
accumulator = ea.EventAccumulator(event_sink)
450+
accumulator = self._make_accumulator(event_sink)
455451
accumulator.Reload()
456452

457453
tags = [
@@ -498,7 +494,7 @@ def testNewStyleImageSummary(self):
498494
summ = sess.run(merged)
499495
writer.add_summary(summ, global_step=i)
500496

501-
accumulator = ea.EventAccumulator(event_sink)
497+
accumulator = self._make_accumulator(event_sink)
502498
accumulator.Reload()
503499

504500
tags = [
@@ -536,7 +532,7 @@ def testTFSummaryTensor(self):
536532
summ = sess.run(merged)
537533
writer.add_summary(summ, 0)
538534

539-
accumulator = ea.EventAccumulator(event_sink)
535+
accumulator = self._make_accumulator(event_sink)
540536
accumulator.Reload()
541537

542538
self.assertTagsEqual(
@@ -581,7 +577,7 @@ def _testTFSummaryTensor_SizeGuidance(
581577
for step in range(steps):
582578
writer.add_summary(sess.run(merged), global_step=step)
583579

584-
accumulator = ea.EventAccumulator(
580+
accumulator = self._make_accumulator(
585581
event_sink, tensor_size_guidance=tensor_size_guidance
586582
)
587583
accumulator.Reload()

0 commit comments

Comments
 (0)