From 1cdfcca8c9e4a6d9a47012970784cb879e5da044 Mon Sep 17 00:00:00 2001 From: ste Date: Mon, 23 Dec 2019 12:54:32 +0000 Subject: [PATCH 1/4] GPII-4279: Reduced the speed of the DPI tests. --- .../test/testDisplaySettingsHandler.js | 38 +++++++++++++++---- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/gpii/node_modules/displaySettingsHandler/test/testDisplaySettingsHandler.js b/gpii/node_modules/displaySettingsHandler/test/testDisplaySettingsHandler.js index 63ea899c5..c2114daf1 100644 --- a/gpii/node_modules/displaySettingsHandler/test/testDisplaySettingsHandler.js +++ b/gpii/node_modules/displaySettingsHandler/test/testDisplaySettingsHandler.js @@ -218,13 +218,37 @@ jqUnit.asyncTest("Testing setScreenDpi ", function () { overMaximum: Math.ceil(originalDpi.maximum + 1) }, gpii.tests.displaySettings.dpiTestDefs); - for (var index = 0; index < tests.length; index++) { + var nextTest = function (index) { var testData = tests[index]; - var actual = gpii.windows.display.setScreenDpi(testData.input); - - jqUnit.assertDeepEq("setScreenDpi " + testData.input, testData.expected, actual); - } - - jqUnit.start(); + if (testData) { + var actual = gpii.windows.display.setScreenDpi(testData.input); + var retryPromise; + + if (fluid.model.diff(testData.expected, actual)) { + retryPromise = fluid.promise().resolve(); + } else { + // [GPII-4279] This test randomly fails in CI. To work around this, keep trying to get the dpi + // (for 5 seconds) until it returns the expected result. + fluid.log("setScreenDpi returned an unexpected result - retrying"); + retryPromise = gpii.windows.waitForCondition(function () { + actual = gpii.windows.display.getScreenDpi(testData.input); + return fluid.model.diff(testData.expected, actual); + }, {dontReject: true, timeout: 5000}); + } + + retryPromise.then(function () { + jqUnit.assertDeepEq("setScreenDpi " + testData.input, testData.expected, actual); + // Delay the next test + setTimeout(function () { + nextTest(index + 1); + }, 500); + }); + + } else { + jqUnit.start(); + } + }; + + nextTest(0); }); }); From 3891a298f743c101fbbbb4f155a1eba7f5b35829 Mon Sep 17 00:00:00 2001 From: ste Date: Mon, 23 Dec 2019 12:59:21 +0000 Subject: [PATCH 2/4] GPII-4279: Added more output for the DPI tests. --- .../displaySettingsHandler/test/testDisplaySettingsHandler.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gpii/node_modules/displaySettingsHandler/test/testDisplaySettingsHandler.js b/gpii/node_modules/displaySettingsHandler/test/testDisplaySettingsHandler.js index c2114daf1..197e67a63 100644 --- a/gpii/node_modules/displaySettingsHandler/test/testDisplaySettingsHandler.js +++ b/gpii/node_modules/displaySettingsHandler/test/testDisplaySettingsHandler.js @@ -221,9 +221,12 @@ jqUnit.asyncTest("Testing setScreenDpi ", function () { var nextTest = function (index) { var testData = tests[index]; if (testData) { + fluid.log("expecting: ", testData.expected); var actual = gpii.windows.display.setScreenDpi(testData.input); var retryPromise; + fluid.log("first result: ", actual); + if (fluid.model.diff(testData.expected, actual)) { retryPromise = fluid.promise().resolve(); } else { @@ -232,6 +235,7 @@ jqUnit.asyncTest("Testing setScreenDpi ", function () { fluid.log("setScreenDpi returned an unexpected result - retrying"); retryPromise = gpii.windows.waitForCondition(function () { actual = gpii.windows.display.getScreenDpi(testData.input); + fluid.log("retry result: ", actual); return fluid.model.diff(testData.expected, actual); }, {dontReject: true, timeout: 5000}); } From 68f496eee25ea7bc23e0993f992a80568e0caac2 Mon Sep 17 00:00:00 2001 From: ste Date: Mon, 23 Dec 2019 13:01:52 +0000 Subject: [PATCH 3/4] GPII-4279: Isolated the display tests --- tests/UnitTests.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/UnitTests.js b/tests/UnitTests.js index 79735853c..fab06091f 100644 --- a/tests/UnitTests.js +++ b/tests/UnitTests.js @@ -17,6 +17,10 @@ https://github.com/gpii/universal/LICENSE.txt require("../index.js"); require("../gpii/node_modules/displaySettingsHandler/test/testDisplaySettingsHandler.js"); + +// Temporarily isolated the display tests. +return; + // Commenting out App Zoom tests since these fail fairly often in CI and vagrant in electron - GPII-3802 // require("../gpii/node_modules/gpii-app-zoom/test/testAppZoom.js"); require("../gpii/node_modules/gpii-localisation/test/testLanguage.js"); From a9b7453a519be3c1e168ee6cd9e33cc653dfbe28 Mon Sep 17 00:00:00 2001 From: ste Date: Mon, 23 Dec 2019 15:40:52 +0000 Subject: [PATCH 4/4] GPII-4279: Logging display info --- gpii/node_modules/displaySettingsHandler/src/dpiWindows10.js | 1 + 1 file changed, 1 insertion(+) diff --git a/gpii/node_modules/displaySettingsHandler/src/dpiWindows10.js b/gpii/node_modules/displaySettingsHandler/src/dpiWindows10.js index 266a02ca0..297afa73d 100644 --- a/gpii/node_modules/displaySettingsHandler/src/dpiWindows10.js +++ b/gpii/node_modules/displaySettingsHandler/src/dpiWindows10.js @@ -268,6 +268,7 @@ windows.display.getAdapter = function (deviceName) { } } + fluid.log("Display adapter " + deviceName, adapterToGo || "(null)"); return adapterToGo; };