From 239145226837ed862e06e26b6adcac1f6e64190b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Zientkiewicz?= Date: Mon, 2 Aug 2021 18:07:00 +0200 Subject: [PATCH] Add more tests. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: MichaƂ Zientkiewicz --- dali/python/nvidia/dali/data_node.py | 5 +++++ dali/test/python/test_dali_cpu_only.py | 12 ++++++------ dali/test/python/test_operator_subscript.py | 13 +++++++++++++ 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/dali/python/nvidia/dali/data_node.py b/dali/python/nvidia/dali/data_node.py index 8556778d23..76145d4106 100644 --- a/dali/python/nvidia/dali/data_node.py +++ b/dali/python/nvidia/dali/data_node.py @@ -152,6 +152,7 @@ def __getitem__(self, val): # returns True if this index adds a new output dimension def process_index(idx, dim): if idx is None: + print("DUPA!") idxs.append((None, None, None, None)) return True elif isinstance(idx, slice): @@ -164,6 +165,10 @@ def process_index(idx, dim): if idx.name is not None: new_axis_names.append(idx.name) return True + elif idx is Ellipsis: + raise NotImplementedError("Ellipsis in indexing is not implemented") + elif isinstance(idx, (float, str)): + raise TypeError("Invalid type for an index: ", type) else: idxs.append((idx, None, None, None)) return False diff --git a/dali/test/python/test_dali_cpu_only.py b/dali/test/python/test_dali_cpu_only.py index 88f827f634..f309214f58 100644 --- a/dali/test/python/test_dali_cpu_only.py +++ b/dali/test/python/test_dali_cpu_only.py @@ -89,9 +89,9 @@ def get_data(): pipe.set_outputs(outs) assert_raises(RuntimeError, pipe.build) -#def test_gpu_op_bad_device(): -# for device_id in [None, 0]: -# yield check_bad_device, device_id +def test_gpu_op_bad_device(): + for device_id in [None, 0]: + yield check_bad_device, device_id def check_mixed_op_bad_device(device_id): pipe = Pipeline(batch_size=batch_size, num_threads=4, device_id=device_id) @@ -100,9 +100,9 @@ def check_mixed_op_bad_device(device_id): pipe.set_outputs(decoded) assert_raises(RuntimeError, pipe.build) -#def test_mixed_op_bad_device(): -# for device_id in [None, 0]: -# yield check_bad_device, device_id +def test_mixed_op_bad_device(): + for device_id in [None, 0]: + yield check_bad_device, device_id def test_image_decoder_cpu(): pipe = Pipeline(batch_size=batch_size, num_threads=4, device_id=None) diff --git a/dali/test/python/test_operator_subscript.py b/dali/test/python/test_operator_subscript.py index 52d05be338..6cf32abc48 100644 --- a/dali/test/python/test_operator_subscript.py +++ b/dali/test/python/test_operator_subscript.py @@ -172,3 +172,16 @@ def _test_too_many_indices(device): def test_too_many_indices(): for device in ["cpu", "gpu"]: yield _test_too_many_indices, device + +def test_stride_not_implemented(): + data = [np.uint8([1,2,3]),np.uint8([1,2])] + src = fn.external_source(lambda: data) + src[::1] + with assert_raises(NotImplementedError): + src[::2] + +def test_ellipsis_not_implemented(): + data = [np.uint8([1,2,3]),np.uint8([1,2])] + src = fn.external_source(lambda: data) + with assert_raises(NotImplementedError): + src[...,:1]