11cb0ef41Sopenharmony_ci// Flags: --expose-internals 21cb0ef41Sopenharmony_ci'use strict'; 31cb0ef41Sopenharmony_cirequire('../common'); 41cb0ef41Sopenharmony_ciconst assert = require('assert'); 51cb0ef41Sopenharmony_ciconst { versionCheck } = require('internal/v8_prof_polyfill'); 61cb0ef41Sopenharmony_ci 71cb0ef41Sopenharmony_ciassert.strictEqual(versionCheck('v8-version,1,2,3,4,0', '1.2.3'), undefined); 81cb0ef41Sopenharmony_ciassert.strictEqual(versionCheck('v8-version,1,2,3,4,0', '1.2.3.3'), undefined); 91cb0ef41Sopenharmony_ciassert.strictEqual(versionCheck('v8-version,1,2,3,4,0', '1.2.3.4'), undefined); 101cb0ef41Sopenharmony_ciassert.strictEqual(versionCheck('v8-version,1,2,3,4,0', '1.2.3.5'), undefined); 111cb0ef41Sopenharmony_ciassert.strictEqual(versionCheck('v8-version,1,2,3,4,-node.1,0', '1.2.3'), 121cb0ef41Sopenharmony_ci undefined); 131cb0ef41Sopenharmony_ciassert.strictEqual(versionCheck('v8-version,1,2,3,4,-node.1,0', '1.2.3.4'), 141cb0ef41Sopenharmony_ci undefined); 151cb0ef41Sopenharmony_ciassert.strictEqual(versionCheck('v8-version,1,2,3,4,-node.1,0', '1.2.3-node.1'), 161cb0ef41Sopenharmony_ci undefined); 171cb0ef41Sopenharmony_ciassert.strictEqual(versionCheck('v8-version,1,2,3,4,-node.1,0', '1.2.3-node.2'), 181cb0ef41Sopenharmony_ci undefined); 191cb0ef41Sopenharmony_ciassert.strictEqual( 201cb0ef41Sopenharmony_ci versionCheck('v8-version,1,2,3,4,-node.1,0', '1.2.3.4-node.2'), 211cb0ef41Sopenharmony_ci undefined); 221cb0ef41Sopenharmony_ci 231cb0ef41Sopenharmony_ci{ 241cb0ef41Sopenharmony_ci const expected = 'Unable to read v8-version from log file.'; 251cb0ef41Sopenharmony_ci assert.strictEqual(versionCheck('faux', '1.2.3'), expected); 261cb0ef41Sopenharmony_ci assert.strictEqual(versionCheck('v8-version', '1.2.3'), expected); 271cb0ef41Sopenharmony_ci assert.strictEqual(versionCheck('v8-version,1', '1.2.3'), expected); 281cb0ef41Sopenharmony_ci assert.strictEqual(versionCheck('v8-version,1,2', '1.2.3'), expected); 291cb0ef41Sopenharmony_ci assert.strictEqual(versionCheck('v8-version,1,2,3', '1.2.3'), expected); 301cb0ef41Sopenharmony_ci assert.strictEqual(versionCheck('v8-version,1,2,3,4', '1.2.3'), expected); 311cb0ef41Sopenharmony_ci assert.strictEqual(versionCheck('v8-version,1,2,3,4,5,6,7', '1.2.3'), 321cb0ef41Sopenharmony_ci expected); 331cb0ef41Sopenharmony_ci} 341cb0ef41Sopenharmony_ci 351cb0ef41Sopenharmony_ci{ 361cb0ef41Sopenharmony_ci const expected = 'Testing v8 version different from logging version'; 371cb0ef41Sopenharmony_ci assert.strictEqual(versionCheck('v8-version,4,3,2,1,0', '1.2.3'), expected); 381cb0ef41Sopenharmony_ci assert.strictEqual(versionCheck('v8-version,4,3,2,1,0', '1.2.3.4'), expected); 391cb0ef41Sopenharmony_ci assert.strictEqual(versionCheck('v8-version,4,3,2,1,0', '4.3.1.1'), expected); 401cb0ef41Sopenharmony_ci assert.strictEqual(versionCheck('v8-version,4,3,2,1,0', '4.3.3.1'), expected); 411cb0ef41Sopenharmony_ci} 42