Skip 'test/parallel/test-fs-utimes-y2K38.js' on some platforms. This test fails if coreutils' touch was built with 64-bit time_t, while nodejs was built with 32-bit time_t. This is currently the case on i586, ppc and arm. Skip the failing last command on those platforms. The failure was seen since coreutils-9.0. Remove this patch once nodejs(1) also builds with 64-bit time_t. --- test/parallel/test-fs-utimes-y2K38.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) Index: node-v16.6.2/test/parallel/test-fs-utimes-y2K38.js =================================================================== --- node-v16.6.2.orig/test/parallel/test-fs-utimes-y2K38.js +++ node-v16.6.2/test/parallel/test-fs-utimes-y2K38.js @@ -20,6 +20,26 @@ if (!common.isWindows) { common.skip('File system appears to lack Y2K38 support (touch failed)'); } + // SUSE: touch-9.0 may succeed on platforms with 32-bit time_t, + // but the test would fail. Skip on those platforms for now. + const unameResult = spawnSync('uname', + ['-m'], + { encoding: 'utf8' }); + if (unameResult.status === 0) { + if (unameResult.stdout.trim() === 'i686') { + common.skip('SUSE: test skipped on platforms with 32-bit time_t'); + } + if (unameResult.stdout.trim() === 'ppc') { + common.skip('SUSE: test skipped on platforms with 32-bit time_t'); + } + if (unameResult.stdout.trim() === 'armv6l') { + common.skip('SUSE: test skipped on platforms with 32-bit time_t'); + } + if (unameResult.stdout.trim() === 'armv7l') { + common.skip('SUSE: test skipped on platforms with 32-bit time_t'); + } + } + // On some file systems that lack Y2K38 support, `touch` will succeed but // the time will be incorrect. const dateResult = spawnSync('date',