| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 0f1ecbc commit 458671d
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -153,7 +153,8 @@ platforms: | |||
| 153 | 153 | ||
| 154 | 154 | * Windows | |
| 155 | 155 | * macOS | |
| 156 | - * Linux (AMD64 only) | ||
| 156 | + * Linux (all distributions [supported by Node.js][] except Alpine and all | ||
| 157 | + architectures [supported by Node.js][] except s390x and ppc64) | ||
| 157 | 158 | ||
| 158 | 159 | This is due to a lack of better tools to generate single-executables that can be | |
| 159 | 160 | used to test this feature on other platforms. | |
@@ -174,3 +175,4 @@ to help us document them. | |||
| 174 | 175 | [postject]: https://github.com/nodejs/postject | |
| 175 | 176 | [signtool]: https://learn.microsoft.com/en-us/windows/win32/seccrypto/signtool | |
| 176 | 177 | [single executable applications]: https://github.com/nodejs/single-executable | |
| 178 | + [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,8 +16,10 @@ 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 | - common.skip('Running the resultant binary fails with `Segmentation fault (core dumped)`.'); | ||
| 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 | + } | ||
| 21 | 23 | ||
| 22 | 24 | if (process.platform === 'linux' && process.config.variables.is_debug === 1) | |
| 23 | 25 | common.skip('Running the resultant binary fails with `Couldn\'t read target executable"`.'); | |
@@ -39,17 +41,16 @@ if (process.config.variables.want_separate_host_toolset !== 0) | |||
| 39 | 41 | common.skip('Running the resultant binary fails with `Segmentation fault (core dumped)`.'); | |
| 40 | 42 | ||
| 41 | 43 | if (process.platform === 'linux') { | |
| 42 | - try { | ||
| 43 | - const osReleaseText = readFileSync('/etc/os-release', { encoding: 'utf-8' }); | ||
| 44 | - if (!/^NAME="Ubuntu"/m.test(osReleaseText)) { | ||
| 45 | - throw new Error('Not Ubuntu.'); | ||
| 46 | - } | ||
| 47 | - } catch { | ||
| 48 | - 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`.'); | ||
| 49 | 50 | } | |
| 50 | 51 | ||
| 51 | - if (process.arch !== 'x64') { | ||
| 52 | - common.skip(`Unsupported architecture for Linux - ${process.arch}.`); | ||
| 52 | + if (process.arch === 'ppc64') { | ||
| 53 | + common.skip('On ppc64, this test times out.'); | ||
| 53 | 54 | } | |
| 54 | 55 | } | |
| 55 | 56 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments