Skip to content

Commit

Permalink
test: make test-node-output-v8-warning generic
Browse files Browse the repository at this point in the history
  • Loading branch information
codebytere committed Jan 16, 2024
1 parent 036eee4 commit 5c05061
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 0 deletions.
1 change: 1 addition & 0 deletions patches/node/.patches
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,4 @@ src_update_default_v8_platform_to_override_functions_with_location.patch
fix_capture_embedder_exceptions_before_entering_v8.patch
spec_add_iterator_to_global_intrinsics.patch
build_do_not_rely_on_gn_helpers_in_gn_build.patch
test_make_test-node-output-v8-warning_generic.patch
51 changes: 51 additions & 0 deletions patches/node/test_make_test-node-output-v8-warning_generic.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shelley Vohr <shelley.vohr@gmail.com>
Date: Tue, 16 Jan 2024 14:53:31 +0100
Subject: test: make test-node-output-v8-warning generic

Ref https://github.com/nodejs/node/pull/50421.

The above CL migrated python snapshot testing to JS, and in the process
added string replace calls to change 'node' as a hardcoded string to an
asterisk. This was initially fixed in https://github.com/nodejs/node/pull/36489
before being regressed in the above, as that PR essentially makes the wildcard
meaningless. Fix it for now by replacing the process.argv0 basename instead.

Some form of fix for this should be upstreamed.

diff --git a/test/parallel/test-node-output-v8-warning.mjs b/test/parallel/test-node-output-v8-warning.mjs
index 8e497739d21c70d5c792f43c268746a200916063..cad1910e020b15775ee16122bc9d310680fed687 100644
--- a/test/parallel/test-node-output-v8-warning.mjs
+++ b/test/parallel/test-node-output-v8-warning.mjs
@@ -2,11 +2,18 @@ import '../common/index.mjs';
import * as fixtures from '../common/fixtures.mjs';
import * as snapshot from '../common/assertSnapshot.js';
import { describe, it } from 'node:test';
+import { basename } from 'node:path';

function replaceNodeVersion(str) {
return str.replaceAll(process.version, '*');
}

+function replaceExecName(str) {
+ // Copied from lib/internal/process/warning.js
+ const baseName = basename(process.argv0 || 'node', '.exe');
+ return str.replaceAll(`${baseName} --`, '* --');
+}
+
describe('v8 output', { concurrency: true }, () => {
function normalize(str) {
return str.replaceAll(snapshot.replaceWindowsPaths(process.cwd()), '')
@@ -15,10 +22,10 @@ describe('v8 output', { concurrency: true }, () => {
.replaceAll('*test*', '*')
.replaceAll(/.*?\*fixtures\*v8\*/g, '(node:*) V8: *') // Replace entire path before fixtures/v8
.replaceAll('*fixtures*v8*', '*')
- .replaceAll('node --', '* --');
}
+
const common = snapshot
- .transform(snapshot.replaceWindowsLineEndings, snapshot.replaceWindowsPaths, replaceNodeVersion);
+ .transform(snapshot.replaceWindowsLineEndings, snapshot.replaceWindowsPaths, replaceNodeVersion, replaceExecName);
const defaultTransform = snapshot.transform(common, normalize);
const tests = [
{ name: 'v8/v8_warning.js' },

0 comments on commit 5c05061

Please sign in to comment.