import os import unittest import mozharness.base.python as python here = os.path.dirname(os.path.abspath(__file__)) class TestVirtualenvMixin(unittest.TestCase): def test_package_versions(self): example = os.path.join(here, 'pip-freeze.example.txt') output = file(example).read() mixin = python.VirtualenvMixin() packages = mixin.package_versions(output) # from the file expected = {'MakeItSo': '0.2.6', 'PyYAML': '3.10', 'Tempita': '0.5.1', 'WebOb': '1.2b3', 'coverage': '3.5.1', 'logilab-astng': '0.23.1', 'logilab-common': '0.57.1', 'mozdevice': '0.2', 'mozhttpd': '0.3', 'mozinfo': '0.3.3', 'nose': '1.1.2', 'pyflakes': '0.5.0', 'pylint': '0.25.1', 'virtualenv': '1.7.1.2', 'wsgiref': '0.1.2'} self.assertEqual(packages, expected) if __name__ == '__main__': unittest.main()