diff --git a/src/_pytest/terminal.py b/src/_pytest/terminal.py index 31c0da46d..c826337ea 100644 --- a/src/_pytest/terminal.py +++ b/src/_pytest/terminal.py @@ -9,6 +9,7 @@ from __future__ import print_function import argparse import collections import platform +import subprocess import sys import time @@ -574,6 +575,11 @@ class TerminalReporter(object): ): msg += " -- " + str(sys.executable) self.write_line(msg) + pipe = subprocess.Popen("pip list", shell=True, stdout=subprocess.PIPE).stdout + package_msg = pipe.read() + package_msg = package_msg[:-2] + if package_msg: + self.write_line(package_msg) lines = self.config.hook.pytest_report_header( config=self.config, startdir=self.startdir ) diff --git a/testing/test_terminal.py b/testing/test_terminal.py index d0fdce23e..c1155b1e4 100644 --- a/testing/test_terminal.py +++ b/testing/test_terminal.py @@ -278,6 +278,15 @@ class TestTerminal(object): tr.rewrite("hey", erase=True) assert f.getvalue() == "hello" + "\r" + "hey" + (6 * " ") + def test_packages_display(self, testdir): + testdir.makepyfile( + """ + def test_pass(num): + assert 1 == 1""" + ) + result = testdir.runpytest() + result.stdout.fnmatch_lines(["*Package*", "*Version*"]) + class TestCollectonly(object): def test_collectonly_basic(self, testdir):