| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 67fe7d8 commit 8a57182
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -159,7 +159,8 @@ platforms: | |||
| 159 | 159 | ||
| 160 | 160 | * Windows | |
| 161 | 161 | * macOS | |
| 162 | - * Linux (AMD64 only) | ||
| 162 | + * Linux (all distributions [supported by Node.js][] except Alpine and all | ||
| 163 | + architectures [supported by Node.js][] except s390x and ppc64) | ||
| 163 | 164 | ||
| 164 | 165 | This is due to a lack of better tools to generate single-executables that can be | |
| 165 | 166 | used to test this feature on other platforms. | |
@@ -180,3 +181,4 @@ to help us document them. | |||
| 180 | 181 | [postject]: https://github.com/nodejs/postject | |
| 181 | 182 | [signtool]: https://learn.microsoft.com/en-us/windows/win32/seccrypto/signtool | |
| 182 | 183 | [single executable applications]: https://github.com/nodejs/single-executable | |
| 184 | + [supported by Node.js]: https://github.com/nodejs/node/blob/main/BUILDING.md#platform-list | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -54,7 +54,9 @@ for the following features are in the list of work we'd like to get to: | |||
| 54 | 54 | * Running an archive of multiple files. | |
| 55 | 55 | * Embedding [Node.js CLI options][] into the binary. | |
| 56 | 56 | * [XCOFF][] executable format. | |
| 57 | - * Run tests on Linux architectures/distributions other than AMD64 Ubuntu. | ||
| 57 | + * Run tests on Alpine Linux. | ||
| 58 | + * Run tests on s390x Linux. | ||
| 59 | + * Run tests on ppc64 Linux. | ||
| 58 | 60 | ||
| 59 | 61 | ## Disabling single executable application support | |
| 60 | 62 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -16,6 +16,11 @@ if (!process.config.variables.single_executable_application) | |||
| 16 | 16 | if (!['darwin', 'win32', 'linux'].includes(process.platform)) | |
| 17 | 17 | common.skip(`Unsupported platform ${process.platform}.`); | |
| 18 | 18 | ||
| 19 | + if (process.platform === 'linux' && process.config.variables.asan) { | ||
| 20 | + // Source of the memory leak - https://github.com/nodejs/node/blob/da0bc6db98cef98686122ea1e2cd2dbd2f52d123/src/node_sea.cc#L94. | ||
| 21 | + common.skip('Running the resultant binary fails because of a memory leak ASAN error.'); | ||
| 22 | + } | ||
| 23 | + | ||
| 19 | 24 | if (process.platform === 'linux' && process.config.variables.is_debug === 1) | |
| 20 | 25 | common.skip('Running the resultant binary fails with `Couldn\'t read target executable"`.'); | |
| 21 | 26 | ||
@@ -36,17 +41,16 @@ if (process.config.variables.want_separate_host_toolset !== 0) | |||
| 36 | 41 | common.skip('Running the resultant binary fails with `Segmentation fault (core dumped)`.'); | |
| 37 | 42 | ||
| 38 | 43 | if (process.platform === 'linux') { | |
| 39 | - try { | ||
| 40 | - const osReleaseText = readFileSync('/etc/os-release', { encoding: 'utf-8' }); | ||
| 41 | - if (!/^NAME="Ubuntu"/m.test(osReleaseText)) { | ||
| 42 | - throw new Error('Not Ubuntu.'); | ||
| 43 | - } | ||
| 44 | - } catch { | ||
| 45 | - common.skip('Only supported Linux distribution is Ubuntu.'); | ||
| 44 | + const osReleaseText = readFileSync('/etc/os-release', { encoding: 'utf-8' }); | ||
| 45 | + const isAlpine = /^NAME="Alpine Linux"/m.test(osReleaseText); | ||
| 46 | + if (isAlpine) common.skip('Alpine Linux is not supported.'); | ||
| 47 | + | ||
| 48 | + if (process.arch === 's390x') { | ||
| 49 | + common.skip('On s390x, postject fails with `memory access out of bounds`.'); | ||
| 46 | 50 | } | |
| 47 | 51 | ||
| 48 | - if (process.arch !== 'x64') { | ||
| 49 | - common.skip(`Unsupported architecture for Linux - ${process.arch}.`); | ||
| 52 | + if (process.arch === 'ppc64') { | ||
| 53 | + common.skip('On ppc64, this test times out.'); | ||
| 50 | 54 | } | |
| 51 | 55 | } | |
| 52 | 56 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments