[systemtest] Add test timeout

Time out tests; if tests time out, all existing logs are dumped, helping
to debug.

Signed-off-by: Philipp Wagner <phw@lowrisc.org>
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index b7d9893..01ef05c 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -219,6 +219,7 @@
   - bash: |
       . util/build_consts.sh
       export VERILATED_SYSTEM_PATH="$BIN_DIR/hw/top_earlgrey/Vtop_earlgrey_verilator"
+      pytest --version
       ci/run_verilator_pytest.sh
     displayName: 'Execute tests'
 
diff --git a/python-requirements.txt b/python-requirements.txt
index b004515..cb9e13d 100644
--- a/python-requirements.txt
+++ b/python-requirements.txt
@@ -14,6 +14,7 @@
 pyftdi
 pygments
 pytest
+pytest-timeout
 pyyaml
 yapf
 
diff --git a/test/systemtest/functional_verilator_test.py b/test/systemtest/functional_verilator_test.py
index 9a01bba..513172b 100644
--- a/test/systemtest/functional_verilator_test.py
+++ b/test/systemtest/functional_verilator_test.py
@@ -48,6 +48,7 @@
 
         p_sim.terminate()
 
+    @pytest.mark.timeout(120)
     def test_execute_binary(self, sim_top_earlgrey, uart_timeout, logfile):
         """
         Executes the binary and inspects its UART for "PASS!\r\n" or "FAIL!\r\n".