Class TestCase
Defined in tensorflow/python/framework/test_util.py
.
Base class for tests that need to test TensorFlow.
__init__
__init__(methodName='runTest')
Create an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.
Child Classes
Methods
tf.test.TestCase.__call__
__call__(
*args,
**kwds
)
Call self as a function.
tf.test.TestCase.__eq__
__eq__(other)
Return self==value.
tf.test.TestCase.addCleanup
addCleanup(
function,
*args,
**kwargs
)
Add a function, with arguments, to be called when the test is completed. Functions added are called on a LIFO basis and are called after tearDown on test failure or success.
Cleanup items are called even if setUp fails (unlike tearDown).
tf.test.TestCase.addTypeEqualityFunc
addTypeEqualityFunc(
typeobj,
function
)
Add a type specific assertEqual style function to compare a type.
This method is for use by TestCase subclasses that need to register their own type equality functions to provide nicer error messages.
Args:
typeobj
: The data type to call this function on when both values are of the same type in assertEqual().function
: The callable taking two arguments and an optional msg= argument that raises self.failureException with a useful error message when the two arguments are not equal.
tf.test.TestCase.assertAllClose
assertAllClose(
a,
b,
rtol=1e-06,
atol=1e-06,
msg=None
)
Asserts that two structures of numpy arrays or Tensors, have near values.
a
and b
can be arbitrarily nested structures. A layer of a nested
structure can be a dict
, namedtuple
, tuple
or list
.
Args:
a
: The expected numpyndarray
, or anything that can be converted into a numpyndarray
(including Tensor), or any arbitrarily nested of structure of these.b
: The actual numpyndarray
, or anything that can be converted into a numpyndarray
(including Tensor), or any arbitrarily nested of structure of these.rtol
: relative tolerance.atol
: absolute tolerance.msg
: Optional message to report on failure.
Raises:
ValueError
: if only one ofa[p]
andb[p]
is a dict ora[p]
andb[p]
have different length, where[p]
denotes a path to the nested structure, e.g. givena = [(1, 1), {'d': (6, 7)}]
and[p] = [1]['d']
, thena[p] = (6, 7)
.
tf.test.TestCase.assertAllCloseAccordingToType
assertAllCloseAccordingToType(
a,
b,
rtol=1e-06,
atol=1e-06,
float_rtol=1e-06,
float_atol=1e-06,
half_rtol=0.001,
half_atol=0.001,
bfloat16_rtol=0.01,
bfloat16_atol=0.01,
msg=None
)
Like assertAllClose, but also suitable for comparing fp16 arrays.
In particular, the tolerance is reduced to 1e-3 if at least one of the arguments is of type float16.
Args:
a
: the expected numpy ndarray or anything can be converted to one.b
: the actual numpy ndarray or anything can be converted to one.rtol
: relative tolerance.atol
: absolute tolerance.float_rtol
: relative tolerance for float32.float_atol
: absolute tolerance for float32.half_rtol
: relative tolerance for float16.half_atol
: absolute tolerance for float16.bfloat16_rtol
: relative tolerance for bfloat16.bfloat16_atol
: absolute tolerance for bfloat16.msg
: Optional message to report on failure.
tf.test.TestCase.assertAllEqual
assertAllEqual(
a,
b,
msg=None
)
Asserts that two numpy arrays or Tensors have the same values.
Args:
a
: the expected numpy ndarray or anything can be converted to one.b
: the actual numpy ndarray or anything can be converted to one.msg
: Optional message to report on failure.
tf.test.TestCase.assertAllGreater
assertAllGreater(
a,
comparison_target
)
Assert element values are all greater than a target value.
Args:
a
: The numpyndarray
, or anything that can be converted into a numpyndarray
(including Tensor).comparison_target
: The target value of comparison.
tf.test.TestCase.assertAllGreaterEqual
assertAllGreaterEqual(
a,
comparison_target
)
Assert element values are all greater than or equal to a target value.
Args:
a
: The numpyndarray
, or anything that can be converted into a numpyndarray
(including Tensor).comparison_target
: The target value of comparison.
tf.test.TestCase.assertAllInRange
assertAllInRange(
target,
lower_bound,
upper_bound,
open_lower_bound=False,
open_upper_bound=False
)
Assert that elements in a Tensor are all in a given range.
Args:
target
: The numpyndarray
, or anything that can be converted into a numpyndarray
(including Tensor).lower_bound
: lower bound of the rangeupper_bound
: upper bound of the rangeopen_lower_bound
: (bool
) whether the lower bound is open (i.e., > rather than the default >=)open_upper_bound
: (bool
) whether the upper bound is open (i.e., < rather than the default <=)
Raises:
AssertionError
: if the value tensor does not have an ordered numeric type (float* or int*), or if there are nan values, or if any of the elements do not fall in the specified range.
tf.test.TestCase.assertAllInSet
assertAllInSet(
target,
expected_set
)
Assert that elements of a Tensor are all in a given closed set.
Args:
target
: The numpyndarray
, or anything that can be converted into a numpyndarray
(including Tensor).expected_set
: (list
,tuple
orset
) The closed set that the elements of the value oftarget
are expected to fall into.
Raises:
AssertionError
: if any of the elements do not fall intoexpected_set
.
tf.test.TestCase.assertAllLess
assertAllLess(
a,
comparison_target
)
Assert element values are all less than a target value.
Args:
a
: The numpyndarray
, or anything that can be converted into a numpyndarray
(including Tensor).comparison_target
: The target value of comparison.
tf.test.TestCase.assertAllLessEqual
assertAllLessEqual(
a,
comparison_target
)
Assert element values are all less than or equal to a target value.
Args:
a
: The numpyndarray
, or anything that can be converted into a numpyndarray
(including Tensor).comparison_target
: The target value of comparison.
tf.test.TestCase.assertAlmostEqual
assertAlmostEqual(
first,
second,
places=None,
msg=None,
delta=None
)
Fail if the two objects are unequal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero, or by comparing that the between the two objects is more than the given delta.
Note that decimal places (from zero) are usually not the same as significant digits (measured from the most signficant digit).
If the two objects compare equal then they will automatically compare almost equal.
tf.test.TestCase.assertAlmostEquals
assertAlmostEquals(
*args,
**kwargs
)
tf.test.TestCase.assertArrayNear
assertArrayNear(
farray1,
farray2,
err,
msg=None
)
Asserts that two float arrays are near each other.
Checks that for all elements of farray1 and farray2 |f1 - f2| < err. Asserts a test failure if not.
Args:
farray1
: a list of float values.farray2
: a list of float values.err
: a float value.msg
: Optional message to report on failure.
tf.test.TestCase.assertCountEqual
assertCountEqual(
first,
second,
msg=None
)
An unordered sequence comparison asserting that the same elements, regardless of order. If the same element occurs more than once, it verifies that the elements occur the same number of times.
self.assertEqual(Counter(list(first)),
Counter(list(second)))
Example: - [0, 1, 1] and [1, 0, 1] compare equal. - [0, 0, 1] and [0, 1] compare unequal.
tf.test.TestCase.assertDTypeEqual
assertDTypeEqual(
target,
expected_dtype
)
Assert ndarray data type is equal to expected.
Args:
target
: The numpyndarray
, or anything that can be converted into a numpyndarray
(including Tensor).expected_dtype
: Expected data type.
tf.test.TestCase.assertDeviceEqual
assertDeviceEqual(
device1,
device2,
msg=None
)
Asserts that the two given devices are the same.
Args:
device1
: A string device name or TensorFlowDeviceSpec
object.device2
: A string device name or TensorFlowDeviceSpec
object.msg
: Optional message to report on failure.
tf.test.TestCase.assertDictContainsSubset
assertDictContainsSubset(
subset,
dictionary,
msg=None
)
Checks whether dictionary is a superset of subset.
tf.test.TestCase.assertDictEqual
assertDictEqual(
d1,
d2,
msg=None
)
tf.test.TestCase.assertEqual
assertEqual(
first,
second,
msg=None
)
Fail if the two objects are unequal as determined by the '==' operator.
tf.test.TestCase.assertEquals
assertEquals(
*args,
**kwargs
)
tf.test.TestCase.assertFalse
assertFalse(
expr,
msg=None
)
Check that the expression is false.
tf.test.TestCase.assertGreater
assertGreater(
a,
b,
msg=None
)
Just like self.assertTrue(a > b), but with a nicer default message.
tf.test.TestCase.assertGreaterEqual
assertGreaterEqual(
a,
b,
msg=None
)
Just like self.assertTrue(a >= b), but with a nicer default message.
tf.test.TestCase.assertIn
assertIn(
member,
container,
msg=None
)
Just like self.assertTrue(a in b), but with a nicer default message.
tf.test.TestCase.assertIs
assertIs(
expr1,
expr2,
msg=None
)
Just like self.assertTrue(a is b), but with a nicer default message.
tf.test.TestCase.assertIsInstance
assertIsInstance(
obj,
cls,
msg=None
)
Same as self.assertTrue(isinstance(obj, cls)), with a nicer default message.
tf.test.TestCase.assertIsNone
assertIsNone(
obj,
msg=None
)
Same as self.assertTrue(obj is None), with a nicer default message.
tf.test.TestCase.assertIsNot
assertIsNot(
expr1,
expr2,
msg=None
)
Just like self.assertTrue(a is not b), but with a nicer default message.
tf.test.TestCase.assertIsNotNone
assertIsNotNone(
obj,
msg=None
)
Included for symmetry with assertIsNone.
tf.test.TestCase.assertItemsEqual
assertItemsEqual(
first,
second,
msg=None
)
An unordered sequence comparison asserting that the same elements, regardless of order. If the same element occurs more than once, it verifies that the elements occur the same number of times.
self.assertEqual(Counter(list(first)),
Counter(list(second)))
Example: - [0, 1, 1] and [1, 0, 1] compare equal. - [0, 0, 1] and [0, 1] compare unequal.
tf.test.TestCase.assertLess
assertLess(
a,
b,
msg=None
)
Just like self.assertTrue(a < b), but with a nicer default message.
tf.test.TestCase.assertLessEqual
assertLessEqual(
a,
b,
msg=None
)
Just like self.assertTrue(a <= b), but with a nicer default message.
tf.test.TestCase.assertListEqual
assertListEqual(
list1,
list2,
msg=None
)
A list-specific equality assertion.
Args:
list1
: The first list to compare.list2
: The second list to compare.msg
: Optional message to use on failure instead of a list of differences.
tf.test.TestCase.assertLogs
assertLogs(
logger=None,
level=None
)
Fail unless a log message of level level or higher is emitted on logger_name or its children. If omitted, level defaults to INFO and logger defaults to the root logger.
This method must be used as a context manager, and will yield
a recording object with two attributes: output
and records
.
At the end of the context manager, the output
attribute will
be a list of the matching formatted log messages and the
records
attribute will be a list of the corresponding LogRecord
objects.
Example::
with self.assertLogs('foo', level='INFO') as cm:
logging.getLogger('foo').info('first message')
logging.getLogger('foo.bar').error('second message')
self.assertEqual(cm.output, ['INFO:foo:first message',
'ERROR:foo.bar:second message'])
tf.test.TestCase.assertMultiLineEqual
assertMultiLineEqual(
first,
second,
msg=None
)
Assert that two multi-line strings are equal.
tf.test.TestCase.assertNDArrayNear
assertNDArrayNear(
ndarray1,
ndarray2,
err,
msg=None
)
Asserts that two numpy arrays have near values.
Args:
ndarray1
: a numpy ndarray.ndarray2
: a numpy ndarray.err
: a float. The maximum absolute difference allowed.msg
: Optional message to report on failure.
tf.test.TestCase.assertNear
assertNear(
f1,
f2,
err,
msg=None
)
Asserts that two floats are near each other.
Checks that |f1 - f2| < err and asserts a test failure if not.
Args:
f1
: A float value.f2
: A float value.err
: A float value.msg
: An optional string message to append to the failure message.
tf.test.TestCase.assertNotAllClose
assertNotAllClose(
a,
b,
**kwargs
)
Assert that two numpy arrays, or or Tensors, do not have near values.
Args:
a
: the first value to compare.b
: the second value to compare.**kwargs
: additional keyword arguments to be passed to the underlyingassertAllClose
call.
Raises:
AssertionError
: Ifa
andb
are unexpectedly close at all elements.
tf.test.TestCase.assertNotAlmostEqual
assertNotAlmostEqual(
first,
second,
places=None,
msg=None,
delta=None
)
Fail if the two objects are equal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero, or by comparing that the between the two objects is less than the given delta.
Note that decimal places (from zero) are usually not the same as significant digits (measured from the most signficant digit).
Objects that are equal automatically fail.
tf.test.TestCase.assertNotAlmostEquals
assertNotAlmostEquals(
*args,
**kwargs
)
tf.test.TestCase.assertNotEqual
assertNotEqual(
first,
second,
msg=None
)
Fail if the two objects are equal as determined by the '!=' operator.
tf.test.TestCase.assertNotEquals
assertNotEquals(
*args,
**kwargs
)
tf.test.TestCase.assertNotIn
assertNotIn(
member,
container,
msg=None
)
Just like self.assertTrue(a not in b), but with a nicer default message.
tf.test.TestCase.assertNotIsInstance
assertNotIsInstance(
obj,
cls,
msg=None
)
Included for symmetry with assertIsInstance.
tf.test.TestCase.assertNotRegex
assertNotRegex(
text,
unexpected_regex,
msg=None
)
Fail the test if the text matches the regular expression.
tf.test.TestCase.assertNotRegexpMatches
assertNotRegexpMatches(
*args,
**kwargs
)
tf.test.TestCase.assertProtoEquals
assertProtoEquals(
expected_message_maybe_ascii,
message,
msg=None
)
Asserts that message is same as parsed expected_message_ascii.
Creates another prototype of message, reads the ascii message into it and then compares them using self._AssertProtoEqual().
Args:
expected_message_maybe_ascii
: proto message in original or ascii form.message
: the message to validate.msg
: Optional message to report on failure.
tf.test.TestCase.assertProtoEqualsVersion
assertProtoEqualsVersion(
expected,
actual,
producer=versions.GRAPH_DEF_VERSION,
min_consumer=versions.GRAPH_DEF_VERSION_MIN_CONSUMER,
msg=None
)
tf.test.TestCase.assertRaises
assertRaises(
expected_exception,
*args,
**kwargs
)
Fail unless an exception of class expected_exception is raised by the callable when invoked with specified positional and keyword arguments. If a different type of exception is raised, it will not be caught, and the test case will be deemed to have suffered an error, exactly as for an unexpected exception.
If called with the callable and arguments omitted, will return a context object used like this::
with self.assertRaises(SomeException):
do_something()
An optional keyword argument 'msg' can be provided when assertRaises is used as a context object.
The context manager keeps a reference to the exception as the 'exception' attribute. This allows you to inspect the exception after the assertion::
with self.assertRaises(SomeException) as cm:
do_something()
the_exception = cm.exception
self.assertEqual(the_exception.error_code, 3)
tf.test.TestCase.assertRaisesOpError
assertRaisesOpError(expected_err_re_or_predicate)
tf.test.TestCase.assertRaisesRegex
assertRaisesRegex(
expected_exception,
expected_regex,
*args,
**kwargs
)
Asserts that the message in a raised exception matches a regex.
Args:
expected_exception
: Exception class expected to be raised.expected_regex
: Regex (re pattern object or string) expected to be found in error message.args
: Function to be called and extra positional args.kwargs
: Extra kwargs.msg
: Optional message used in case of failure. Can only be used when assertRaisesRegex is used as a context manager.
tf.test.TestCase.assertRaisesRegexp
assertRaisesRegexp(
expected_exception,
expected_regex,
*args,
**kwargs
)
Asserts that the message in a raised exception matches a regex.
Args:
expected_exception
: Exception class expected to be raised.expected_regex
: Regex (re pattern object or string) expected to be found in error message.args
: Function to be called and extra positional args.kwargs
: Extra kwargs.msg
: Optional message used in case of failure. Can only be used when assertRaisesRegex is used as a context manager.
tf.test.TestCase.assertRaisesWithPredicateMatch
assertRaisesWithPredicateMatch(
*args,
**kwds
)
Returns a context manager to enclose code expected to raise an exception.
If the exception is an OpError, the op stack is also included in the message predicate search.
Args:
exception_type
: The expected type of exception that should be raised.expected_err_re_or_predicate
: If this is callable, it should be a function of one argument that inspects the passed-in exception and returns True (success) or False (please fail the test). Otherwise, the error message is expected to match this regular expression partially.
Returns:
A context manager to surround code that is expected to raise an exception.
tf.test.TestCase.assertRegex
assertRegex(
text,
expected_regex,
msg=None
)
Fail the test unless the text matches the regular expression.
tf.test.TestCase.assertRegexpMatches
assertRegexpMatches(
*args,
**kwargs
)
tf.test.TestCase.assertSequenceEqual
assertSequenceEqual(
seq1,
seq2,
msg=None,
seq_type=None
)
An equality assertion for ordered sequences (like lists and tuples).
For the purposes of this function, a valid ordered sequence type is one which can be indexed, has a length, and has an equality operator.
Args:
seq1
: The first sequence to compare.seq2
: The second sequence to compare.seq_type
: The expected datatype of the sequences, or None if no datatype should be enforced.msg
: Optional message to use on failure instead of a list of differences.
tf.test.TestCase.assertSetEqual
assertSetEqual(
set1,
set2,
msg=None
)
A set-specific equality assertion.
Args:
set1
: The first set to compare.set2
: The second set to compare.msg
: Optional message to use on failure instead of a list of differences.
assertSetEqual uses ducktyping to support different types of sets, and is optimized for sets specifically (parameters must support a difference method).
tf.test.TestCase.assertShapeEqual
assertShapeEqual(
np_array,
tf_tensor,
msg=None
)
Asserts that a Numpy ndarray and a TensorFlow tensor have the same shape.
Args:
np_array
: A Numpy ndarray or Numpy scalar.tf_tensor
: A Tensor.msg
: Optional message to report on failure.
Raises:
TypeError
: If the arguments have the wrong type.
tf.test.TestCase.assertStartsWith
assertStartsWith(
actual,
expected_start,
msg=None
)
Assert that actual.startswith(expected_start) is True.
Args:
actual
: strexpected_start
: strmsg
: Optional message to report on failure.
tf.test.TestCase.assertTrue
assertTrue(
expr,
msg=None
)
Check that the expression is true.
tf.test.TestCase.assertTupleEqual
assertTupleEqual(
tuple1,
tuple2,
msg=None
)
A tuple-specific equality assertion.
Args:
tuple1
: The first tuple to compare.tuple2
: The second tuple to compare.msg
: Optional message to use on failure instead of a list of differences.
tf.test.TestCase.assertWarns
assertWarns(
expected_warning,
*args,
**kwargs
)
Fail unless a warning of class warnClass is triggered by the callable when invoked with specified positional and keyword arguments. If a different type of warning is triggered, it will not be handled: depending on the other warning filtering rules in effect, it might be silenced, printed out, or raised as an exception.
If called with the callable and arguments omitted, will return a context object used like this::
with self.assertWarns(SomeWarning):
do_something()
An optional keyword argument 'msg' can be provided when assertWarns is used as a context object.
The context manager keeps a reference to the first matching warning as the 'warning' attribute; similarly, the 'filename' and 'lineno' attributes give you information about the line of Python code from which the warning was triggered. This allows you to inspect the warning after the assertion::
with self.assertWarns(SomeWarning) as cm:
do_something()
the_warning = cm.warning
self.assertEqual(the_warning.some_attribute, 147)
tf.test.TestCase.assertWarnsRegex
assertWarnsRegex(
expected_warning,
expected_regex,
*args,
**kwargs
)
Asserts that the message in a triggered warning matches a regexp. Basic functioning is similar to assertWarns() with the addition that only warnings whose messages also match the regular expression are considered successful matches.
Args:
expected_warning
: Warning class expected to be triggered.expected_regex
: Regex (re pattern object or string) expected to be found in error message.args
: Function to be called and extra positional args.kwargs
: Extra kwargs.msg
: Optional message used in case of failure. Can only be used when assertWarnsRegex is used as a context manager.
tf.test.TestCase.assert_
assert_(
*args,
**kwargs
)
tf.test.TestCase.cached_session
cached_session(
*args,
**kwds
)
Returns a TensorFlow Session for use in executing tests.
This method behaves differently than self.session(): for performance reasons
cached_session
will by default reuse the same session within the same
test. The session returned by this function will only be closed at the end
of the test (in the TearDown function).
Use the use_gpu
and force_gpu
options to control where ops are run. If
force_gpu
is True, all ops are pinned to /device:GPU:0
. Otherwise, if
use_gpu
is True, TensorFlow tries to run as many ops on the GPU as
possible. If both force_gpu and
use_gpu` are False, all ops are pinned to
the CPU.
Example:
class MyOperatorTest(test_util.TensorFlowTestCase):
def testMyOperator(self):
with self.cached_session(use_gpu=True) as sess:
valid_input = [1.0, 2.0, 3.0, 4.0, 5.0]
result = MyOperator(valid_input).eval()
self.assertEqual(result, [1.0, 2.0, 3.0, 5.0, 8.0]
invalid_input = [-1.0, 2.0, 7.0]
with self.assertRaisesOpError("negative input not supported"):
MyOperator(invalid_input).eval()
Args:
graph
: Optional graph to use during the returned session.config
: An optional config_pb2.ConfigProto to use to configure the session.use_gpu
: If True, attempt to run as many ops as possible on GPU.force_gpu
: If True, pin all ops to/device:GPU:0
.
Yields:
A Session object that should be used as a context manager to surround the graph building and execution code in a test case.
tf.test.TestCase.captureWritesToStream
captureWritesToStream(
*args,
**kwds
)
A context manager that captures the writes to a given stream.
This context manager captures all writes to a given stream inside of a
CapturedWrites
object. When this context manager is created, it yields
the CapturedWrites
object. The captured contents can be accessed by
calling .contents()
on the CapturedWrites
.
For this function to work, the stream must have a file descriptor that
can be modified using os.dup
and os.dup2
, and the stream must support
a .flush()
method. The default python sys.stdout and sys.stderr are
examples of this. Note that this does not work in Colab or Jupyter
notebooks, because those use alternate stdout streams.
Example:
class MyOperatorTest(test_util.TensorFlowTestCase):
def testMyOperator(self):
input = [1.0, 2.0, 3.0, 4.0, 5.0]
with self.captureWritesToStream(sys.stdout) as captured:
result = MyOperator(input).eval()
self.assertStartsWith(captured.contents(), "This was printed.")
Args:
stream
: The stream whose writes should be captured. This stream must have a file descriptor, support writing via using that file descriptor, and must have a.flush()
method.
Yields:
A CapturedWrites
object that contains all writes to the specified stream
made during this context.
tf.test.TestCase.checkedThread
checkedThread(
target,
args=None,
kwargs=None
)
Returns a Thread wrapper that asserts 'target' completes successfully.
This method should be used to create all threads in test cases, as otherwise there is a risk that a thread will silently fail, and/or assertions made in the thread will not be respected.
Args:
target
: A callable object to be executed in the thread.args
: The argument tuple for the target invocation. Defaults to ().kwargs
: A dictionary of keyword arguments for the target invocation. Defaults to {}.
Returns:
A wrapper for threading.Thread that supports start() and join() methods.
tf.test.TestCase.countTestCases
countTestCases()
tf.test.TestCase.debug
debug()
Run the test without collecting errors in a TestResult
tf.test.TestCase.defaultTestResult
defaultTestResult()
tf.test.TestCase.doCleanups
doCleanups()
Execute all cleanup functions. Normally called for you after tearDown.
tf.test.TestCase.evaluate
evaluate(tensors)
Evaluates tensors and returns numpy values.
Args:
tensors
: A Tensor or a nested list/tuple of Tensors.
Returns:
tensors numpy values.
tf.test.TestCase.fail
fail(msg=None)
Fail immediately, with the given message.
tf.test.TestCase.failIf
failIf(
*args,
**kwargs
)
tf.test.TestCase.failIfAlmostEqual
failIfAlmostEqual(
*args,
**kwargs
)
tf.test.TestCase.failIfEqual
failIfEqual(
*args,
**kwargs
)
tf.test.TestCase.failUnless
failUnless(
*args,
**kwargs
)
tf.test.TestCase.failUnlessAlmostEqual
failUnlessAlmostEqual(
*args,
**kwargs
)
tf.test.TestCase.failUnlessEqual
failUnlessEqual(
*args,
**kwargs
)
tf.test.TestCase.failUnlessRaises
failUnlessRaises(
*args,
**kwargs
)
tf.test.TestCase.get_temp_dir
get_temp_dir()
Returns a unique temporary directory for the test to use.
If you call this method multiple times during in a test, it will return the same folder. However, across different runs the directories will be different. This will ensure that across different runs tests will not be able to pollute each others environment. If you need multiple unique directories within a single test, you should use tempfile.mkdtemp as follows: tempfile.mkdtemp(dir=self.get_temp_dir()):
Returns:
string, the path to the unique temporary directory created for this test.
tf.test.TestCase.id
id()
tf.test.TestCase.run
run(result=None)
tf.test.TestCase.session
session(
*args,
**kwds
)
Returns a TensorFlow Session for use in executing tests.
Note that this will set this session and the graph as global defaults.
Use the use_gpu
and force_gpu
options to control where ops are run. If
force_gpu
is True, all ops are pinned to /device:GPU:0
. Otherwise, if
use_gpu
is True, TensorFlow tries to run as many ops on the GPU as
possible. If both force_gpu and
use_gpu` are False, all ops are pinned to
the CPU.
Example:
class MyOperatorTest(test_util.TensorFlowTestCase):
def testMyOperator(self):
with self.session(use_gpu=True):
valid_input = [1.0, 2.0, 3.0, 4.0, 5.0]
result = MyOperator(valid_input).eval()
self.assertEqual(result, [1.0, 2.0, 3.0, 5.0, 8.0]
invalid_input = [-1.0, 2.0, 7.0]
with self.assertRaisesOpError("negative input not supported"):
MyOperator(invalid_input).eval()
Args:
graph
: Optional graph to use during the returned session.config
: An optional config_pb2.ConfigProto to use to configure the session.use_gpu
: If True, attempt to run as many ops as possible on GPU.force_gpu
: If True, pin all ops to/device:GPU:0
.
Yields:
A Session object that should be used as a context manager to surround the graph building and execution code in a test case.
tf.test.TestCase.setUp
setUp()
Hook method for setting up the test fixture before exercising it.
tf.test.TestCase.setUpClass
setUpClass(cls)
Hook method for setting up class fixture before running tests in the class.
tf.test.TestCase.shortDescription
shortDescription()
Returns a one-line description of the test, or None if no description has been provided.
The default implementation of this method returns the first line of the specified test method's docstring.
tf.test.TestCase.skipTest
skipTest(reason)
Skip this test.
tf.test.TestCase.subTest
subTest(
*args,
**kwds
)
Return a context manager that will return the enclosed block of code in a subtest identified by the optional message and keyword parameters. A failure in the subtest marks the test case as failed but resumes execution at the end of the enclosed block, allowing further test code to be executed.
tf.test.TestCase.tearDown
tearDown()
Hook method for deconstructing the test fixture after testing it.
tf.test.TestCase.tearDownClass
tearDownClass(cls)
Hook method for deconstructing the class fixture after running all tests in the class.
tf.test.TestCase.test_session
test_session(
graph=None,
config=None,
use_gpu=False,
force_gpu=False
)
Use cached_session instead. (deprecated)