nodejs21/test-skip-y2038-on-32bit-time_t.patch
Adam Majer b9ebe15f35 - Package new version 21.1.0
For overview of changes and details since 20.x and earlier see
  https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V21.md#21.0.0
- imported the following patches from prior patches:
  + cares_public_headers.patch
  + fix_ci_tests.patch
  + flaky_test_rerun.patch
  + gcc13.patch
  + legacy_python.patch
  + linker_lto_jobs.patch
  + manual_configure.patch
  + node-gyp-addon-gypi.patch
  + node-gyp-config.patch
  + nodejs20-zlib-1.3.patch
  + nodejs-libpath.patch
  + npm_search_paths.patch
  + openssl_binary_detection.patch
  + qemu_timeouts_arches.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/nodejs21?expand=0&rev=1
2023-11-07 09:48:41 +00:00

46 lines
1.8 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 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',