From 2635e23ed57257f0d47a6b459286959e73b2d6ad Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 19 Jun 2019 17:48:41 +0530 Subject: [PATCH] calibre now builds fully on windows The duktape tests are crashing have to figure out why at some point --- bypy/init_env.py | 3 +++ src/calibre/test_build.py | 12 ++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/bypy/init_env.py b/bypy/init_env.py index 1c42c43f2a..a790166e87 100644 --- a/bypy/init_env.py +++ b/bypy/init_env.py @@ -94,6 +94,9 @@ PYQT_MODULES = ( ) del dlls +if iswindows: + PYQT_MODULES += ('QtWinExtras',) + def read_cal_file(name): with open(os.path.join(CALIBRE_DIR, 'src', 'calibre', name), 'rb') as f: diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py index 215db3063d..c17a5ef785 100644 --- a/src/calibre/test_build.py +++ b/src/calibre/test_build.py @@ -142,7 +142,9 @@ class BuildTest(unittest.TestCase): winutil = plugins['winutil'][0] def au(x, name): - self.assertTrue(isinstance(x, unicode_type), name + '() did not return a unicode string') + self.assertTrue( + isinstance(x, unicode_type), + '%s() did not return a unicode string, instead returning: %r' % (name, x)) for x in winutil.argv(): au(x, 'argv') for x in 'username temp_path locale_name'.split(): @@ -152,12 +154,14 @@ class BuildTest(unittest.TestCase): au(d['decimal_point'], 'localeconv') for k, v in iteritems(d): au(v, k) - for k in os.environ: - au(getenv(k), 'getenv-' + k) os.environ['XXXTEST'] = 'YYY' self.assertEqual(getenv('XXXTEST'), 'YYY') del os.environ['XXXTEST'] self.assertIsNone(getenv('XXXTEST')) + for k in os.environ: + v = getenv(k) + if v is not None: + au(v, 'getenv-' + k) t = time.localtime() fmt = '%Y%a%b%e%H%M' for fmt in (fmt, fmt.encode('ascii')): @@ -311,8 +315,8 @@ class BuildTest(unittest.TestCase): def find_tests(): ans = unittest.defaultTestLoader.loadTestsFromTestCase(BuildTest) from calibre.utils.icu_test import find_tests - import duktape.tests as dtests ans.addTests(find_tests()) + import duktape.tests as dtests ans.addTests(unittest.defaultTestLoader.loadTestsFromModule(dtests)) from tinycss.tests.main import find_tests ans.addTests(find_tests())