tf.test.TestCase

View source on GitHub

Base class for tests that need to test TensorFlow.

tf.test.TestCase(
    methodName='runTest'
)

Child Classes

class failureException

Methods

__call__

__call__(
    *args, **kwds
)

Call self as a function.

__eq__

__eq__(
    other
)

Return self==value.

addCleanup

addCleanup(
    *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).

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:

assertAllClose

View source

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:

Raises:

assertAllCloseAccordingToType

View source

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:

assertAllEqual

View source

assertAllEqual(
    a, b, msg=None
)

Asserts that two numpy arrays or Tensors have the same values.

Args:

assertAllGreater

View source

assertAllGreater(
    a, comparison_target
)

Assert element values are all greater than a target value.

Args:

assertAllGreaterEqual

View source

assertAllGreaterEqual(
    a, comparison_target
)

Assert element values are all greater than or equal to a target value.

Args:

assertAllInRange

View source

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:

Raises:

assertAllInSet

View source

assertAllInSet(
    target, expected_set
)

Assert that elements of a Tensor are all in a given closed set.

Args:

Raises:

assertAllLess

View source

assertAllLess(
    a, comparison_target
)

Assert element values are all less than a target value.

Args:

assertAllLessEqual

View source

assertAllLessEqual(
    a, comparison_target
)

Assert element values are all less than or equal to a target value.

Args:

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 difference 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 significant digit).

If the two objects compare equal then they will automatically compare almost equal.

assertAlmostEquals

assertAlmostEquals(
    *args, **kwargs
)

assertArrayNear

View source

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:

assertBetween

assertBetween(
    value, minv, maxv, msg=None
)

Asserts that value is between minv and maxv (inclusive).

assertCommandFails

assertCommandFails(
    command, regexes, env=None, close_fds=True, msg=None
)

Asserts a shell command fails and the error matches a regex in a list.

Args:

assertCommandSucceeds

assertCommandSucceeds(
    command, regexes=(b'',), env=None, close_fds=True, msg=None
)

Asserts that a shell command succeeds (i.e. exits with code 0).

Args:

assertContainsExactSubsequence

assertContainsExactSubsequence(
    container, subsequence, msg=None
)

Asserts that "container" contains "subsequence" as an exact subsequence.

Asserts that "container" contains all the elements of "subsequence", in order, and without other elements interspersed. For example, [1, 2, 3] is an exact subsequence of [0, 0, 1, 2, 3, 0] but not of [0, 0, 1, 2, 0, 3, 0].

Args:

assertContainsInOrder

assertContainsInOrder(
    strings, target, msg=None
)

Asserts that the strings provided are found in the target in order.

This may be useful for checking HTML output.

Args:

assertContainsSubsequence

assertContainsSubsequence(
    container, subsequence, msg=None
)

Asserts that "container" contains "subsequence" as a subsequence.

Asserts that "container" contains all the elements of "subsequence", in order, but possibly with other elements interspersed. For example, [1, 2, 3] is a subsequence of [0, 0, 1, 2, 0, 3, 0] but not of [0, 0, 1, 3, 0, 2, 0].

Args:

assertContainsSubset

assertContainsSubset(
    expected_subset, actual_set, msg=None
)

Checks whether actual iterable is a superset of expected iterable.

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.

assertDTypeEqual

View source

assertDTypeEqual(
    target, expected_dtype
)

Assert ndarray data type is equal to expected.

Args:

assertDeviceEqual

View source

assertDeviceEqual(
    device1, device2, msg=None
)

Asserts that the two given devices are the same.

Args:

assertDictContainsSubset

assertDictContainsSubset(
    subset, dictionary, msg=None
)

Checks whether dictionary is a superset of subset.

assertDictEqual

assertDictEqual(
    a, b, msg=None
)

Raises AssertionError if a and b are not equal dictionaries.

Args:

Raises:

assertEmpty

assertEmpty(
    container, msg=None
)

Asserts that an object has zero length.

Args:

assertEndsWith

assertEndsWith(
    actual, expected_end, msg=None
)

Asserts that actual.endswith(expected_end) is True.

Args:

assertEqual

assertEqual(
    first, second, msg=None
)

Fail if the two objects are unequal as determined by the '==' operator.

assertEquals

assertEquals(
    *args, **kwargs
)

assertFalse

assertFalse(
    expr, msg=None
)

Check that the expression is false.

assertGreater

assertGreater(
    a, b, msg=None
)

Just like self.assertTrue(a > b), but with a nicer default message.

assertGreaterEqual

assertGreaterEqual(
    a, b, msg=None
)

Just like self.assertTrue(a >= b), but with a nicer default message.

assertIn

assertIn(
    member, container, msg=None
)

Just like self.assertTrue(a in b), but with a nicer default message.

assertIs

assertIs(
    expr1, expr2, msg=None
)

Just like self.assertTrue(a is b), but with a nicer default message.

assertIsInstance

assertIsInstance(
    obj, cls, msg=None
)

Same as self.assertTrue(isinstance(obj, cls)), with a nicer default message.

assertIsNone

assertIsNone(
    obj, msg=None
)

Same as self.assertTrue(obj is None), with a nicer default message.

assertIsNot

assertIsNot(
    expr1, expr2, msg=None
)

Just like self.assertTrue(a is not b), but with a nicer default message.

assertIsNotNone

assertIsNotNone(
    obj, msg=None
)

Included for symmetry with assertIsNone.

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.

assertJsonEqual

assertJsonEqual(
    first, second, msg=None
)

Asserts that the JSON objects defined in two strings are equal.

A summary of the differences will be included in the failure message using assertSameStructure.

Args:

assertLen

assertLen(
    container, expected_len, msg=None
)

Asserts that an object has the expected length.

Args:

assertLess

assertLess(
    a, b, msg=None
)

Just like self.assertTrue(a < b), but with a nicer default message.

assertLessEqual

assertLessEqual(
    a, b, msg=None
)

Just like self.assertTrue(a <= b), but with a nicer default message.

assertListEqual

assertListEqual(
    list1, list2, msg=None
)

A list-specific equality assertion.

Args:

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'])

assertMultiLineEqual

assertMultiLineEqual(
    first, second, msg=None, **kwargs
)

Asserts that two multi-line strings are equal.

assertNDArrayNear

View source

assertNDArrayNear(
    ndarray1, ndarray2, err, msg=None
)

Asserts that two numpy arrays have near values.

Args:

assertNear

View source

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:

assertNoCommonElements

assertNoCommonElements(
    expected_seq, actual_seq, msg=None
)

Checks whether actual iterable and expected iterable are disjoint.

assertNotAllClose

View source

assertNotAllClose(
    a, b, **kwargs
)

Assert that two numpy arrays, or Tensors, do not have near values.

Args:

Raises:

assertNotAllEqual

View source

assertNotAllEqual(
    a, b, msg=None
)

Asserts that two numpy arrays or Tensors do not have the same values.

Args:

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 difference 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 significant digit).

Objects that are equal automatically fail.

assertNotAlmostEquals

assertNotAlmostEquals(
    *args, **kwargs
)

assertNotEmpty

assertNotEmpty(
    container, msg=None
)

Asserts that an object has non-zero length.

Args:

assertNotEndsWith

assertNotEndsWith(
    actual, unexpected_end, msg=None
)

Asserts that actual.endswith(unexpected_end) is False.

Args:

assertNotEqual

assertNotEqual(
    first, second, msg=None
)

Fail if the two objects are equal as determined by the '!=' operator.

assertNotEquals

assertNotEquals(
    *args, **kwargs
)

assertNotIn

assertNotIn(
    member, container, msg=None
)

Just like self.assertTrue(a not in b), but with a nicer default message.

assertNotIsInstance

assertNotIsInstance(
    obj, cls, msg=None
)

Included for symmetry with assertIsInstance.

assertNotRegex

assertNotRegex(
    text, unexpected_regex, msg=None
)

Fail the test if the text matches the regular expression.

assertNotRegexpMatches

assertNotRegexpMatches(
    *args, **kwargs
)

assertNotStartsWith

assertNotStartsWith(
    actual, unexpected_start, msg=None
)

Asserts that actual.startswith(unexpected_start) is False.

Args:

assertProtoEquals

View source

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:

assertProtoEqualsVersion

View source

assertProtoEqualsVersion(
    expected, actual, producer=versions.GRAPH_DEF_VERSION,
    min_consumer=versions.GRAPH_DEF_VERSION_MIN_CONSUMER, msg=None
)

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)

assertRaisesOpError

View source

assertRaisesOpError(
    expected_err_re_or_predicate
)

assertRaisesRegex

assertRaisesRegex(
    expected_exception, expected_regex, *args, **kwargs
)

Asserts that the message in a raised exception matches a regex.

Args:

assertRaisesRegexp

assertRaisesRegexp(
    expected_exception, expected_regex, *args, **kwargs
)

Asserts that the message in a raised exception matches a regex.

Args:

assertRaisesWithLiteralMatch

assertRaisesWithLiteralMatch(
    expected_exception, expected_exception_message, callable_obj=None, *args,
    **kwargs
)

Asserts that the message in a raised exception equals the given string.

Unlike assertRaisesRegex, this method takes a literal string, not a regular expression.

with self.assertRaisesWithLiteralMatch(ExType, 'message'): DoSomething()

Args:

Returns:

A context manager if callable_obj is None. Otherwise, None.

Raises:

self.failureException if callable_obj does not raise a matching exception.

assertRaisesWithPredicateMatch

@contextlib.contextmanager
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:

Returns:

A context manager to surround code that is expected to raise an exception.

assertRegex

assertRegex(
    text, expected_regex, msg=None
)

Fail the test unless the text matches the regular expression.

assertRegexMatch

assertRegexMatch(
    actual_str, regexes, message=None
)

Asserts that at least one regex in regexes matches str.

If possible you should use assertRegex, which is a simpler version of this method. assertRegex takes a single regular expression (a string or re compiled object) instead of a list.

Notes:

  1. This function uses substring matching, i.e. the matching succeeds if any substring of the error message matches any regex in the list. This is more convenient for the user than full-string matching.

  2. If regexes is the empty list, the matching will always fail.

  3. Use regexes=[''] for a regex that will always pass.

  4. '.' matches any single character except the newline. To match any character, use '(.|\n)'.

  5. '' matches the beginning of each line, not just the beginning of the string. Similarly, '$' matches the end of each line.

  6. An exception will be thrown if regexes contains an invalid regex.

Args:

assertRegexpMatches

assertRegexpMatches(
    *args, **kwargs
)

assertSameElements

assertSameElements(
    expected_seq, actual_seq, msg=None
)

Asserts that two sequences have the same elements (in any order).

This method, unlike assertCountEqual, doesn't care about any duplicates in the expected and actual sequences.

assertSameElements([1, 1, 1, 0, 0, 0], [0, 1]) # Doesn't raise an AssertionError

If possible, you should use assertCountEqual instead of assertSameElements.

Args:

assertSameStructure

assertSameStructure(
    a, b, aname='a', bname='b', msg=None
)

Asserts that two values contain the same structural content.

The two arguments should be data trees consisting of trees of dicts and lists. They will be deeply compared by walking into the contents of dicts and lists; other items will be compared using the == operator. If the two structures differ in content, the failure message will indicate the location within the structures where the first difference is found. This may be helpful when comparing large structures.

Mixed Sequence and Set types are supported. Mixed Mapping types are supported, but the order of the keys will not be considered in the comparison.

Args:

assertSequenceAlmostEqual

assertSequenceAlmostEqual(
    expected_seq, actual_seq, places=None, msg=None, delta=None
)

An approximate equality assertion for ordered sequences.

Fail if the two sequences are unequal as determined by their value differences rounded to the given number of decimal places (default 7) and comparing to zero, or by comparing that the difference between each value in the two sequences is more than the given delta.

Note that decimal places (from zero) are usually not the same as significant digits (measured from the most significant digit).

If the two sequences compare equal then they will automatically compare almost equal.

Args:

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:

assertSequenceStartsWith

assertSequenceStartsWith(
    prefix, whole, msg=None
)

An equality assertion for the beginning of ordered sequences.

If prefix is an empty sequence, it will raise an error unless whole is also an empty sequence.

If prefix is not a sequence, it will raise an error if the first element of whole does not match.

Args:

assertSetEqual

assertSetEqual(
    set1, set2, msg=None
)

A set-specific equality assertion.

Args:

assertSetEqual uses ducktyping to support different types of sets, and is optimized for sets specifically (parameters must support a difference method).

assertShapeEqual

View source

assertShapeEqual(
    np_array, tf_tensor, msg=None
)

Asserts that a Numpy ndarray and a TensorFlow tensor have the same shape.

Args:

Raises:

assertStartsWith

View source

assertStartsWith(
    actual, expected_start, msg=None
)

Assert that actual.startswith(expected_start) is True.

Args:

assertTotallyOrdered

assertTotallyOrdered(
    *groups, **kwargs
)

Asserts that total ordering has been implemented correctly.

For example, say you have a class A that compares only on its attribute x. Comparators other than lt are omitted for brevity.

class A(object): def init(self, x, y): self.x = x self.y = y

def hash(self): return hash(self.x)

def lt(self, other): try: return self.x < other.x except AttributeError: return NotImplemented

assertTotallyOrdered will check that instances can be ordered correctly. For example,

self.assertTotallyOrdered( [None], # None should come before everything else. [1], # Integers sort earlier. [A(1, 'a')], [A(2, 'b')], # 2 is after 1. [A(3, 'c'), A(3, 'd')], # The second argument is irrelevant. [A(4, 'z')], ['foo']) # Strings sort last.

Args:

assertTrue

assertTrue(
    expr, msg=None
)

Check that the expression is true.

assertTupleEqual

assertTupleEqual(
    tuple1, tuple2, msg=None
)

A tuple-specific equality assertion.

Args:

assertUrlEqual

assertUrlEqual(
    a, b, msg=None
)

Asserts that urls are equal, ignoring ordering of query params.

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)

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:

assert_

assert_(
    *args, **kwargs
)

cached_session

@contextlib.contextmanager
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 anduse_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:

Yields:

A Session object that should be used as a context manager to surround the graph building and execution code in a test case.

captureWritesToStream

@contextlib.contextmanager
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:

Yields:

A CapturedWrites object that contains all writes to the specified stream made during this context.

checkedThread

View source

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:

Returns:

A wrapper for threading.Thread that supports start() and join() methods.

countTestCases

countTestCases()

create_tempdir

create_tempdir(
    name=None, cleanup=None
)

Create a temporary directory specific to the test.

NOTE: The directory and its contents will be recursively cleared before creation. This ensures that there is no pre-existing state.

This creates a named directory on disk that is isolated to this test, and will be properly cleaned up by the test. This avoids several pitfalls of creating temporary directories for test purposes, as well as makes it easier to setup directories and verify their contents.

See also: create_tempfile() for creating temporary files.

Args:

Returns:

A _TempDir representing the created directory.

create_tempfile

create_tempfile(
    file_path=None, content=None, mode='w', encoding='utf8', errors='strict',
    cleanup=None
)

Create a temporary file specific to the test.

This creates a named file on disk that is isolated to this test, and will be properly cleaned up by the test. This avoids several pitfalls of creating temporary files for test purposes, as well as makes it easier to setup files, their data, read them back, and inspect them when a test fails.

NOTE: This will zero-out the file. This ensures there is no pre-existing state. NOTE: If the file already exists, it will be made writable and overwritten.

See also: create_tempdir() for creating temporary directories, and _TempDir.create_file for creating files within a temporary directory.

Args:

Returns:

A _TempFile representing the created file.

debug

debug()

Run the test without collecting errors in a TestResult

defaultTestResult

defaultTestResult()

doCleanups

doCleanups()

Execute all cleanup functions. Normally called for you after tearDown.

enter_context

enter_context(
    manager
)

Returns the CM's value after registering it with the exit stack.

Entering a context pushes it onto a stack of contexts. The context is exited when the test completes. Contexts are are exited in the reverse order of entering. They will always be exited, regardless of test failure/success. The context stack is specific to the test being run.

This is useful to eliminate per-test boilerplate when context managers are used. For example, instead of decorating every test with @mock.patch, simply do self.foo = self.enter_context(mock.patch(...))' insetUp()`.

NOTE: The context managers will always be exited without any error information. This is an unfortunate implementation detail due to some internals of how unittest runs tests.

Args:

evaluate

View source

evaluate(
    tensors
)

Evaluates tensors and returns numpy values.

Args:

Returns:

tensors numpy values.

fail

fail(
    msg=None, prefix=None
)

Fail immediately with the given message, optionally prefixed.

failIf

failIf(
    *args, **kwargs
)

failIfAlmostEqual

failIfAlmostEqual(
    *args, **kwargs
)

failIfEqual

failIfEqual(
    *args, **kwargs
)

failUnless

failUnless(
    *args, **kwargs
)

failUnlessAlmostEqual

failUnlessAlmostEqual(
    *args, **kwargs
)

failUnlessEqual

failUnlessEqual(
    *args, **kwargs
)

failUnlessRaises

failUnlessRaises(
    *args, **kwargs
)

get_temp_dir

View source

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.

id

id()

run

run(
    result=None
)

session

@contextlib.contextmanager
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 anduse_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:

Yields:

A Session object that should be used as a context manager to surround the graph building and execution code in a test case.

setUp

View source

setUp()

Hook method for setting up the test fixture before exercising it.

setUpClass

@classmethod
setUpClass()

Hook method for setting up class fixture before running tests in the class.

shortDescription

shortDescription()

Formats both the test method name and the first line of its docstring.

If no docstring is given, only returns the method name.

This method overrides unittest.TestCase.shortDescription(), which only returns the first line of the docstring, obscuring the name of the test upon failure.

Returns:

skipTest

skipTest(
    reason
)

Skip this test.

subTest

@contextlib.contextmanager
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.

tearDown

View source

tearDown()

Hook method for deconstructing the test fixture after testing it.

tearDownClass

@classmethod
tearDownClass()

Hook method for deconstructing the class fixture after running all tests in the class.

test_session

View source

@contextlib.contextmanager
test_session(
    graph=None, config=None, use_gpu=False, force_gpu=False
)

Use cached_session instead. (deprecated)

Warning: THIS FUNCTION IS DEPRECATED. It will be removed in a future version. Instructions for updating: Use self.session() or self.cached_session() instead.

Class Variables