from __future__ import unicode_literals import os import subprocess import sys from unittest import TestCase from .helper import is_pypy, is_win32, on_github_actions, unittest class TestMain(TestCase): @unittest.skipIf( is_win32() and is_pypy() and on_github_actions(), "Failing on Windows on GitHub Actions running PyPy", ) def test_main(self): out = subprocess.check_output([sys.executable, "-m", "PIL"]).decode("utf-8") lines = out.splitlines() self.assertEqual(lines[0], "-" * 68) self.assertTrue(lines[1].startswith("Pillow ")) self.assertTrue(lines[2].startswith("Python ")) lines = lines[3:] while lines[0].startswith(" "): lines = lines[1:] self.assertEqual(lines[0], "-" * 68) self.assertTrue(lines[1].startswith("Python modules loaded from ")) self.assertTrue(lines[2].startswith("Binary modules loaded from ")) self.assertEqual(lines[3], "-" * 68) jpeg = ( os.linesep + "-" * 68 + os.linesep + "JPEG image/jpeg" + os.linesep + "Extensions: .jfif, .jpe, .jpeg, .jpg" + os.linesep + "Features: open, save" + os.linesep + "-" * 68 + os.linesep ) self.assertIn(jpeg, out)