mirror of https://github.com/nodejs/node.git
test: add a test to ensure the correctness of timezone upgrades
Currently, there's no way to know if a timezone upgrade PR is correct without building and testing the change locally. This change provides a solution for that. Tested in https://github.com/RaisinTen/node/pull/4. Signed-off-by: Darshan Sen <raisinten@gmail.com> PR-URL: https://github.com/nodejs/node/pull/45299 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This commit is contained in:
parent
f313b39d8f
commit
d55a7c3435
|
@ -36,6 +36,9 @@ jobs:
|
|||
|
||||
- run: ./tools/update-timezone.mjs
|
||||
|
||||
- name: Update the expected timezone version in test
|
||||
run: echo "${{ env.new_version }}" > test/fixtures/tz-version.txt
|
||||
|
||||
- name: Open Pull Request
|
||||
uses: gr2m/create-or-update-pull-request-action@dc1726cbf4dd3ce766af4ec29cfb660e0125e8ee # Create a PR or update the Action's existing PR
|
||||
env:
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
2022e
|
|
@ -0,0 +1,28 @@
|
|||
'use strict';
|
||||
|
||||
const common = require('../common');
|
||||
|
||||
if (!common.hasIntl) {
|
||||
common.skip('missing Intl');
|
||||
}
|
||||
|
||||
// Refs: https://github.com/nodejs/node/blob/1af63a90ca3a59ca05b3a12ad7dbea04008db7d9/configure.py#L1694-L1711
|
||||
if (process.config.variables.icu_path !== 'deps/icu-small') {
|
||||
// If Node.js is configured to use its built-in ICU, it uses a strict subset
|
||||
// of ICU formed using `tools/icu/shrink-icu-src.py`, which is present in
|
||||
// `deps/icu-small`. It is not the same as configuring the build with
|
||||
// `./configure --with-intl=small-icu`. The latter only uses a subset of the
|
||||
// locales, i.e., it uses the English locale, `root,en`, by default and other
|
||||
// locales can also be specified using the `--with-icu-locales` option.
|
||||
common.skip('not using the icu data file present in deps/icu-small/source/data/in/icudt##l.dat.bz2');
|
||||
}
|
||||
|
||||
const fixtures = require('../common/fixtures');
|
||||
|
||||
// This test ensures the correctness of the automated timezone upgrade PRs.
|
||||
|
||||
const { strictEqual } = require('assert');
|
||||
const { readFileSync } = require('fs');
|
||||
|
||||
const expectedVersion = readFileSync(fixtures.path('tz-version.txt'), 'utf8').trim();
|
||||
strictEqual(process.versions.tz, expectedVersion);
|
Loading…
Reference in New Issue