From d7a917e2ab49a70e341e4c65812c92603d93107d Mon Sep 17 00:00:00 2001 From: karajan1001 Date: Fri, 10 Jun 2022 15:23:00 +0800 Subject: [PATCH] queue status: use a short rev to represent tasks 1. use a short rev to represent tasks 2. Add a unit test for the result shown --- dvc/commands/queue/status.py | 2 +- tests/unit/command/test_queue.py | 23 ++++++++++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/dvc/commands/queue/status.py b/dvc/commands/queue/status.py index 8e3852752..8a4cc8cad 100644 --- a/dvc/commands/queue/status.py +++ b/dvc/commands/queue/status.py @@ -23,7 +23,7 @@ class CmdQueueStatus(CmdBase): for exp in result: created = format_time(exp.get("timestamp")) td.append( - [exp["rev"], exp.get("name", ""), created, exp["status"]] + [exp["rev"][:7], exp.get("name", ""), created, exp["status"]] ) td.render() diff --git a/tests/unit/command/test_queue.py b/tests/unit/command/test_queue.py index d30a4d0fd..8c6067b35 100644 --- a/tests/unit/command/test_queue.py +++ b/tests/unit/command/test_queue.py @@ -99,7 +99,9 @@ def test_experiments_stop(dvc, scm, mocker): m.assert_called_once_with(kill=True) -def test_experiments_status(dvc, scm, mocker): +def test_experiments_status(dvc, scm, mocker, capsys, caplog): + from datetime import datetime + cli_args = parse_args( [ "queue", @@ -109,12 +111,31 @@ def test_experiments_status(dvc, scm, mocker): assert cli_args.func == CmdQueueStatus cmd = cli_args.func(cli_args) + status_result = [ + { + "rev": "c61a525a4ff39007301b4516fb6e54b323a0587b", + "name": "I40", + "timestamp": datetime(2022, 6, 9, 20, 49, 48), + "status": "Queued", + }, + { + "rev": "8da9c339da30636261a3491a90aafdb760a4168f", + "name": "I60", + "timestamp": datetime(2022, 6, 9, 20, 49, 43), + "status": "Running", + }, + ] m = mocker.patch( "dvc.repo.experiments.queue.local.LocalCeleryQueue.status", + return_value=status_result, ) assert cmd.run() == 0 m.assert_called_once_with() + log, _ = capsys.readouterr() + assert "Rev Name Created Status" in log + assert "c61a525 I40 Jun 09, 2022 Queued" in log + assert "8da9c33 I60 Jun 09, 2022 Running" in log def test_queue_logs(dvc, scm, mocker):