From: Evan Shelhamer Date: Thu, 6 Aug 2015 07:27:59 +0000 (-0700) Subject: Merge pull request #2462 from longjon/correct-python-exceptions X-Git-Tag: submit/tizen/20180823.020014~426 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ac6d4b67c2307cae58a98077982d662773492b7c;p=platform%2Fupstream%2Fcaffeonacl.git Merge pull request #2462 from longjon/correct-python-exceptions Handle Python layer exceptions correctly --- ac6d4b67c2307cae58a98077982d662773492b7c diff --cc python/caffe/test/test_python_layer.py index f41e283,46c6e88..ff070a3 --- a/python/caffe/test/test_python_layer.py +++ b/python/caffe/test/test_python_layer.py @@@ -22,8 -21,15 +22,15 @@@ class SimpleLayer(caffe.Layer) bottom[0].diff[...] = 10 * top[0].diff + class ExceptionLayer(caffe.Layer): + """A layer for checking exceptions from Python""" + + def setup(self, bottom, top): + raise RuntimeError + + def python_net_file(): - with tempfile.NamedTemporaryFile(delete=False) as f: + with tempfile.NamedTemporaryFile(mode='w+', delete=False) as f: f.write("""name: 'pythonnet' force_backward: true input: 'data' input_shape { dim: 10 dim: 9 dim: 8 } layer { type: 'Python' name: 'one' bottom: 'data' top: 'one' @@@ -59,6 -75,11 +76,11 @@@ class TestPythonLayer(unittest.TestCase s = 4 self.net.blobs['data'].reshape(s, s, s, s) self.net.forward() - for blob in self.net.blobs.itervalues(): + for blob in six.itervalues(self.net.blobs): for d in blob.data.shape: self.assertEqual(s, d) + + def test_exception(self): + net_file = exception_net_file() + self.assertRaises(RuntimeError, caffe.Net, net_file, caffe.TEST) + os.remove(net_file)