From cce6be2a4d6d6f618b563da9e9d639a40aa273ef Mon Sep 17 00:00:00 2001
From: Andre Anjos <andre.dos.anjos@gmail.com>
Date: Tue, 21 Apr 2020 09:40:28 +0200
Subject: [PATCH] [test.test_cli] Be more verbose on CLI test errors

---
 bob/ip/binseg/test/test_cli.py | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/bob/ip/binseg/test/test_cli.py b/bob/ip/binseg/test/test_cli.py
index 69773fd4..656fbc99 100644
--- a/bob/ip/binseg/test/test_cli.py
+++ b/bob/ip/binseg/test/test_cli.py
@@ -8,8 +8,6 @@ import contextlib
 
 from click.testing import CliRunner
 
-from nose.plugins.attrib import attr
-
 ## special trick for CI builds
 from . import mock_dataset
 _, rc_variable_set = mock_dataset()
@@ -32,11 +30,17 @@ def stdout_logging():
     logger.removeHandler(ch)
 
 
+def _assert_exit_0(result):
+
+    assert result.exit_code == 0, (
+            f"Exit code != 0 ({result.exit_code}); Output:\n{result.output}"
+            )
+
 def _check_help(entry_point):
 
     runner = CliRunner()
     result = runner.invoke(entry_point, ["--help"])
-    assert result.exit_code == 0
+    _assert_exit_0(result)
     assert result.output.startswith("Usage:")
 
 
@@ -64,7 +68,7 @@ def test_experiment_stare():
     with runner.isolated_filesystem(), stdout_logging() as buf:
         result = runner.invoke(experiment, ["m2unet", "stare", "-vv",
             "--epochs=1", "--batch-size=1", "--overlayed"])
-        assert result.exit_code == 0
+        _assert_exit_0(result)
         keywords = {  #from different logging systems
             "Started training": 1,  #logging
             "epoch: 1|total-time": 1,  #logging
@@ -137,7 +141,7 @@ def test_config_list():
 
     runner = CliRunner()
     result = runner.invoke(list)
-    assert result.exit_code == 0
+    _assert_exit_0(result)
     assert "module: bob.ip.binseg.configs.datasets" in result.output
     assert "module: bob.ip.binseg.configs.models" in result.output
 
@@ -147,7 +151,7 @@ def test_config_list_v():
 
     runner = CliRunner()
     result = runner.invoke(list, ["--verbose"])
-    assert result.exit_code == 0
+    _assert_exit_0(result)
     assert "module: bob.ip.binseg.configs.datasets" in result.output
     assert "module: bob.ip.binseg.configs.models" in result.output
 
@@ -163,7 +167,7 @@ def test_config_describe_drive():
 
     runner = CliRunner()
     result = runner.invoke(describe, ["drive"])
-    assert result.exit_code == 0
+    _assert_exit_0(result)
     assert "[DRIVE-2004]" in result.output
 
 
@@ -179,7 +183,7 @@ def test_config_copy():
     runner = CliRunner()
     with runner.isolated_filesystem():
         result = runner.invoke(copy, ["drive", "test.py"])
-        assert result.exit_code == 0
+        _assert_exit_0(result)
         with open("test.py") as f:
             data = f.read()
         assert "[DRIVE-2004]" in data
@@ -202,7 +206,7 @@ def test_dataset_list():
 
     runner = CliRunner()
     result = runner.invoke(list)
-    assert result.exit_code == 0
+    _assert_exit_0(result)
     assert result.output.startswith("Supported datasets:")
 
 
@@ -212,10 +216,9 @@ def test_dataset_check_help():
     _check_help(check)
 
 
-@attr('slow')
 def test_dataset_check():
     from ..script.dataset import check
 
     runner = CliRunner()
-    result = runner.invoke(check, ["--verbose", "--verbose"])
-    assert result.exit_code == 0
+    result = runner.invoke(check, ["--verbose", "--verbose", "--limit=2"])
+    _assert_exit_0(result)
-- 
GitLab