Files
nodejs17/test-skip-y2038-on-32bit-time_t.patch
Adam Majer ec89f014ab - Initial package of version 17.3.0. For complete list of changes
since 16.x series, please see
  https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V17.md#17.3.0
- patches carried from 16.x series with some adaptations include
  cares_public_headers.patch, fix_ci_tests.patch, flaky_test_rerun.patch,
  legacy_python.patch, linker_lto_jobs.patch, manual_configure.patch,
  node-gyp-addon-gypi.patch, nodejs-libpath.patch, npm_search_paths.patch,
  openssl_binary_detection.patch, skip_no_console.patch,
  sle12_python3_compat.patch, test-skip-y2038-on-32bit-time_t.patch,
  versioned.patch

OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs17?expand=0&rev=1
2022-01-03 19:59:25 +00:00

43 lines
1.7 KiB
Diff

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 armv7l. 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,23 @@ 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() === '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',