mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-09-22 06:01:26 +02:00
357 lines
11 KiB
Diff
357 lines
11 KiB
Diff
Patch-Source: https://github.com/nginx/njs/issues/454#issuecomment-1002699260
|
||
|
||
# HG changeset patch
|
||
# User Dmitry Volyntsev <xeioex@nginx.com>
|
||
# Date 1640797007 0
|
||
# Wed Dec 29 16:56:47 2021 +0000
|
||
# Node ID 1ad65f9d50f57e702164860fbb4d6d2cfd7ab1b2
|
||
# Parent 001bb59dc3a81c37d8879b795d3c9b92055b5e74
|
||
Configure: fixed custom NJS_BUILD_DIR values support.
|
||
|
||
The issue was introduced in 4d4657128baf (0.7.1).
|
||
|
||
This closes #454 issue on Github.
|
||
|
||
diff --git a/auto/make b/auto/make
|
||
--- a/auto/make
|
||
+++ b/auto/make
|
||
@@ -7,8 +7,8 @@
|
||
echo "creating $NJS_MAKEFILE"
|
||
|
||
mkdir -p $NJS_BUILD_DIR/src
|
||
-mkdir -p $NJS_BUILD_DIR/build
|
||
mkdir -p $NJS_BUILD_DIR/external
|
||
+mkdir -p $NJS_BUILD_DIR/$NJS_BUILD_DIR
|
||
mkdir -p $NJS_BUILD_DIR/test
|
||
|
||
njs_modules_c=$NJS_BUILD_DIR/njs_modules.c
|
||
# HG changeset patch
|
||
# User Dmitry Volyntsev <xeioex@nginx.com>
|
||
# Date 1640798395 0
|
||
# Wed Dec 29 17:19:55 2021 +0000
|
||
# Node ID d11d962c40cdea4682298337d6bb65491e32bc88
|
||
# Parent 1ad65f9d50f57e702164860fbb4d6d2cfd7ab1b2
|
||
Tests: fixed "fs" tests with custom build directory.
|
||
|
||
diff --git a/test/fs/methods.t.js b/test/fs/methods.t.js
|
||
--- a/test/fs/methods.t.js
|
||
+++ b/test/fs/methods.t.js
|
||
@@ -9,7 +9,7 @@ function p(args, default_opts) {
|
||
let fname = params.args[0];
|
||
|
||
if (fname[0] == '@') {
|
||
- let gen = `build/test/fs_test_${Math.round(Math.random() * 1000000)}`;
|
||
+ let gen = `${test_dir}/fs_test_${Math.round(Math.random() * 1000000)}`;
|
||
params.args = params.args.map(v => v);
|
||
params.args[0] = gen + fname.slice(1);
|
||
}
|
||
@@ -368,9 +368,9 @@ async function realpath_test(params) {
|
||
}
|
||
|
||
let realpath_tests = () => [
|
||
- { args: ["build/test/.."],
|
||
- check: (data) => data.endsWith("build") },
|
||
- { args: ["build/test/", {encoding:'buffer'}],
|
||
+ { args: ["test/fs/.."],
|
||
+ check: (data) => data.endsWith("test") },
|
||
+ { args: ["test/fs/ascii", {encoding:'buffer'}],
|
||
check: (data) => data instanceof Buffer },
|
||
];
|
||
|
||
@@ -478,14 +478,14 @@ let stat_tests = () => [
|
||
return true;
|
||
} },
|
||
|
||
- { args: ["build/"],
|
||
+ { args: ["test/fs/ascii"],
|
||
check: (st) => contains(Object.keys(st),
|
||
[ "atime", "atimeMs", "birthtime", "birthtimeMs",
|
||
"blksize", "blocks", "ctime", "ctimeMs", "dev",
|
||
"gid", "ino", "mode", "mtime", "mtimeMs","nlink",
|
||
"rdev", "size", "uid" ]) },
|
||
|
||
- { args: ["build/"],
|
||
+ { args: ["test/fs/ascii"],
|
||
check: (st) => Object.keys(st).every(p => {
|
||
let v = st[p];
|
||
if (p == 'atime' || p == 'ctime' || p == 'mtime' || p == 'birthtime') {
|
||
@@ -503,7 +503,7 @@ let stat_tests = () => [
|
||
return true;
|
||
}) },
|
||
|
||
- { args: ["build/"],
|
||
+ { args: ["test/fs/ascii"],
|
||
check: (st) => ['atime', 'birthtime', 'ctime', 'mtime'].every(p => {
|
||
let date = st[p].valueOf();
|
||
let num = st[p + 'Ms'];
|
||
@@ -515,7 +515,7 @@ let stat_tests = () => [
|
||
return true;
|
||
}) },
|
||
|
||
- { args: ["build/"],
|
||
+ { args: [test_dir],
|
||
check: (st) => ['isBlockDevice',
|
||
'isCharacterDevice',
|
||
'isDirectory',
|
||
diff --git a/test/fs/promises_01.t.js b/test/fs/promises_01.t.js
|
||
--- a/test/fs/promises_01.t.js
|
||
+++ b/test/fs/promises_01.t.js
|
||
@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js]
|
||
flags: [async]
|
||
---*/
|
||
|
||
-var fname = 'build/test/fs_promises_01';
|
||
+var fname = `${test_dir}/fs_promises_01`;
|
||
|
||
let stages = [];
|
||
|
||
diff --git a/test/fs/promises_02.t.js b/test/fs/promises_02.t.js
|
||
--- a/test/fs/promises_02.t.js
|
||
+++ b/test/fs/promises_02.t.js
|
||
@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js]
|
||
flags: [async]
|
||
---*/
|
||
|
||
-var fname = 'build/test/fs_promises_02';
|
||
+var fname = `${test_dir}/fs_promises_02`;
|
||
|
||
var testSync = new Promise((resolve, reject) => {
|
||
var failed = false;
|
||
diff --git a/test/fs/promises_03.t.js b/test/fs/promises_03.t.js
|
||
--- a/test/fs/promises_03.t.js
|
||
+++ b/test/fs/promises_03.t.js
|
||
@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js]
|
||
flags: [async]
|
||
---*/
|
||
|
||
-var fname = 'build/test/fs_promises_03';
|
||
+var fname = `${test_dir}/fs_promises_03`;
|
||
|
||
var testSync = () => new Promise((resolve, reject) => {
|
||
try {
|
||
diff --git a/test/fs/promises_04.t.js b/test/fs/promises_04.t.js
|
||
--- a/test/fs/promises_04.t.js
|
||
+++ b/test/fs/promises_04.t.js
|
||
@@ -3,10 +3,9 @@ includes: [compareArray.js, compatFs.js]
|
||
flags: [async]
|
||
---*/
|
||
|
||
-var dname = 'build/test/';
|
||
-var fname = dname + 'fs_promises_04';
|
||
-var fname_utf8 = dname + 'fs_promises_αβγ_04';
|
||
-var lname = dname + 'fs_promises_04_lnk';
|
||
+var fname = `${test_dir}/fs_promises_04`;
|
||
+var fname_utf8 = `${test_dir}/fs_promises_αβγ_04`;
|
||
+var lname = `${test_dir}/fs_promises_lnk_04`;
|
||
|
||
var testSync = () => new Promise((resolve, reject) => {
|
||
try {
|
||
diff --git a/test/fs/promises_05.t.js b/test/fs/promises_05.t.js
|
||
--- a/test/fs/promises_05.t.js
|
||
+++ b/test/fs/promises_05.t.js
|
||
@@ -3,9 +3,8 @@ includes: [compareArray.js, compatFs.js]
|
||
flags: [async]
|
||
---*/
|
||
|
||
-var rname = 'build/test/';
|
||
-var dname = rname + 'fs_promises_05';
|
||
-var dname_utf8 = rname + 'fs_promises_αβγ_05';
|
||
+var dname = `${test_dir}/fs_promises_05`;
|
||
+var dname_utf8 = `${test_dir}/fs_promises_αβγ_05`;
|
||
var fname = (d) => d + '/fs_promises_05_file';
|
||
|
||
var testSync = () => new Promise((resolve, reject) => {
|
||
diff --git a/test/fs/promises_06.t.js b/test/fs/promises_06.t.js
|
||
--- a/test/fs/promises_06.t.js
|
||
+++ b/test/fs/promises_06.t.js
|
||
@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js]
|
||
flags: [async]
|
||
---*/
|
||
|
||
-var dname = 'build/test/';
|
||
+var dname = `${test_dir}/`;
|
||
var fname = (d) => d + '/fs_promises_06_file';
|
||
var fname_utf8 = (d) => d + '/fs_promises_αβγ_06';
|
||
|
||
@@ -73,6 +73,9 @@ Promise.resolve()
|
||
.then(() => {
|
||
stages.push("renameSync");
|
||
})
|
||
+.catch((e) => {
|
||
+ console.log('test fs.renameSync failed', JSON.stringify(e));
|
||
+})
|
||
|
||
.then(testCallback)
|
||
.then(() => {
|
||
diff --git a/test/fs/promises_07.t.js b/test/fs/promises_07.t.js
|
||
--- a/test/fs/promises_07.t.js
|
||
+++ b/test/fs/promises_07.t.js
|
||
@@ -3,8 +3,8 @@ includes: [compareArray.js, compatFs.js]
|
||
flags: [async]
|
||
---*/
|
||
|
||
-var dname = 'build/test/fs_promises_07';
|
||
-var dname_utf8 = 'build/test/fs_promises_αβγ_07';
|
||
+var dname = `${test_dir}/fs_promises_07`;
|
||
+var dname_utf8 = `${test_dir}/fs_promises_αβγ_07`;
|
||
var fname = (d) => d + '/fs_promises_07_file';
|
||
var lname = (d) => d + '/fs_promises_07_link';
|
||
var cname = (d) => d + '/fs_promises_αβγ_07_dir';
|
||
diff --git a/test/fs/promises_08.t.js b/test/fs/promises_08.t.js
|
||
--- a/test/fs/promises_08.t.js
|
||
+++ b/test/fs/promises_08.t.js
|
||
@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js]
|
||
flags: [async]
|
||
---*/
|
||
|
||
-var dname = 'build/test/fs_promises_αβγ_08/';
|
||
+var dname = `${test_dir}/fs_promises_αβγ_08/`;
|
||
var path = 'one/two/three/αβγ';
|
||
|
||
var wipePath = (root, path, nofail) => {
|
||
diff --git a/test/fs/promises_09.t.js b/test/fs/promises_09.t.js
|
||
--- a/test/fs/promises_09.t.js
|
||
+++ b/test/fs/promises_09.t.js
|
||
@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js]
|
||
flags: [async]
|
||
---*/
|
||
|
||
-var root = 'build/test/';
|
||
+var root = test_dir;
|
||
var dname = 'fs_promises_αβγ_09/';
|
||
var lname = 'fs_promises_αβγ_09_lnk';
|
||
var path = 'one/two/three/αβγ';
|
||
diff --git a/test/harness/compatFs.js b/test/harness/compatFs.js
|
||
--- a/test/harness/compatFs.js
|
||
+++ b/test/harness/compatFs.js
|
||
@@ -9,3 +9,6 @@ if (typeof require == 'function') {
|
||
function has_fs() {
|
||
return fs;
|
||
}
|
||
+
|
||
+let test_dir = process.env && process.env['NJS_TEST_DIR'] || 'build';
|
||
+test_dir = `${test_dir}/test`;
|
||
diff --git a/test/help b/test/help
|
||
--- a/test/help
|
||
+++ b/test/help
|
||
@@ -17,6 +17,4 @@ default: "$NJS_TEST_LOG"
|
||
default: "$NJS_TEST_DIR"
|
||
--verbose=YES enables verbose output, \
|
||
default: "$NJS_TEST_VERBOSE"
|
||
- --leave=YES disables removing of "$NJS_TEST_DIR", \
|
||
-default: "$NJS_TEST_LEAVE"
|
||
END
|
||
diff --git a/test/test262 b/test/test262
|
||
--- a/test/test262
|
||
+++ b/test/test262
|
||
@@ -19,7 +19,7 @@ for njs_test in $NJS_TESTS; do
|
||
running $njs_test $njs_log
|
||
END
|
||
|
||
- if /bin/sh -c "($NJS_TEST_BINARY $NJS_TEST_DIR/$njs_test)" > $njs_log 2>&1; then
|
||
+ if /bin/sh -c "(NJS_TEST_DIR=$NJS_TEST_DIR $NJS_TEST_BINARY $NJS_TEST_DIR/$njs_test)" > $njs_log 2>&1; then
|
||
njs_success=yes
|
||
else
|
||
njs_success=no
|
||
# HG changeset patch
|
||
# User Dmitry Volyntsev <xeioex@nginx.com>
|
||
# Date 1640798409 0
|
||
# Wed Dec 29 17:20:09 2021 +0000
|
||
# Node ID c714088503bcf2f94767a9f10cbc48b22518f5b3
|
||
# Parent d11d962c40cdea4682298337d6bb65491e32bc88
|
||
Configure: added --build-dir option.
|
||
|
||
diff --git a/auto/help b/auto/help
|
||
--- a/auto/help
|
||
+++ b/auto/help
|
||
@@ -13,6 +13,7 @@
|
||
--ld-opt=OPTIONS set additional linker options, \
|
||
default: "$NJS_LD_OPT"
|
||
--ar=FILE set static linking program, default: "$AR"
|
||
+ --build-dir=DIR set build directory, default: "$NJS_BUILD_DIR"
|
||
|
||
--address-sanitizer=YES enables build with address sanitizer, \
|
||
default: "$NJS_ADDRESS_SANITIZER"
|
||
diff --git a/auto/init b/auto/init
|
||
--- a/auto/init
|
||
+++ b/auto/init
|
||
@@ -15,23 +15,7 @@ NJS_CFLAGS=${NJS_CFLAGS=}
|
||
|
||
NJS_BUILD_DIR=${NJS_BUILD_DIR:-build}
|
||
|
||
-NJS_AUTOTEST=$NJS_BUILD_DIR/autotest
|
||
-NJS_AUTOCONF_ERR=$NJS_BUILD_DIR/autoconf.err
|
||
-NJS_AUTO_CONFIG_H=$NJS_BUILD_DIR/njs_auto_config.h
|
||
-NJS_MAKEFILE=$NJS_BUILD_DIR/Makefile
|
||
-
|
||
NJS_LIB_MODULES=
|
||
-NJS_LIB_INCS="src $NJS_BUILD_DIR"
|
||
-
|
||
-test -d $NJS_BUILD_DIR || mkdir $NJS_BUILD_DIR
|
||
-
|
||
-> $NJS_AUTOCONF_ERR
|
||
-
|
||
-cat << END > $NJS_AUTO_CONFIG_H
|
||
-
|
||
-/* This file is auto-generated by configure */
|
||
-
|
||
-END
|
||
|
||
NJS_LIBRT=
|
||
|
||
diff --git a/auto/make b/auto/make
|
||
--- a/auto/make
|
||
+++ b/auto/make
|
||
@@ -242,7 +242,7 @@ lib_test: $NJS_BUILD_DIR/njs_auto_config
|
||
|
||
test262: njs
|
||
|
||
- test/test262
|
||
+ test/test262 --binary=$NJS_BUILD_DIR/njs
|
||
|
||
unit_test: $NJS_BUILD_DIR/njs_auto_config.h \\
|
||
$NJS_BUILD_DIR/njs_unit_test
|
||
diff --git a/auto/options b/auto/options
|
||
--- a/auto/options
|
||
+++ b/auto/options
|
||
@@ -31,6 +31,8 @@ do
|
||
--ld-opt=*) NJS_LD_OPT="$value" ;;
|
||
--ar=*) AR="$value" ;;
|
||
|
||
+ --build-dir=*) NJS_BUILD_DIR="$value" ;;
|
||
+
|
||
--address-sanitizer=*) NJS_ADDRESS_SANITIZER="$value" ;;
|
||
--debug=*) NJS_DEBUG="$value" ;;
|
||
--debug-memory=*) NJS_DEBUG_MEMORY="$value" ;;
|
||
diff --git a/configure b/configure
|
||
--- a/configure
|
||
+++ b/configure
|
||
@@ -14,8 +14,26 @@ set -e
|
||
set -u
|
||
|
||
. auto/init
|
||
+. auto/options
|
||
+
|
||
+NJS_AUTOTEST=$NJS_BUILD_DIR/autotest
|
||
+NJS_AUTOCONF_ERR=$NJS_BUILD_DIR/autoconf.err
|
||
+NJS_AUTO_CONFIG_H=$NJS_BUILD_DIR/njs_auto_config.h
|
||
+NJS_MAKEFILE=$NJS_BUILD_DIR/Makefile
|
||
+
|
||
+NJS_LIB_INCS="src $NJS_BUILD_DIR"
|
||
+
|
||
+test -d $NJS_BUILD_DIR || mkdir $NJS_BUILD_DIR
|
||
+
|
||
+> $NJS_AUTOCONF_ERR
|
||
+
|
||
+cat << END > $NJS_AUTO_CONFIG_H
|
||
+
|
||
+/* This file is auto-generated by configure */
|
||
+
|
||
+END
|
||
+
|
||
. auto/os
|
||
-. auto/options
|
||
. auto/cc
|
||
. auto/types
|
||
. auto/endianness
|