report: separate release metadata
Report release metadata separately from `componentVersions`. Test `componentVersions` and `release` values in the report. PR-URL: https://github.com/nodejs/node/pull/25826 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This commit is contained in:
parent
393c196605
commit
d0d84b009c
@ -39,6 +39,8 @@ is provided below for reference.
|
||||
"glibcVersionRuntime": "2.17",
|
||||
"glibcVersionCompiler": "2.17",
|
||||
"wordSize": "64 bit",
|
||||
"arch": "x64",
|
||||
"platform": "linux",
|
||||
"componentVersions": {
|
||||
"node": "12.0.0-pre",
|
||||
"v8": "7.1.302.28-node.5",
|
||||
@ -50,10 +52,10 @@ is provided below for reference.
|
||||
"napi": "3",
|
||||
"llhttp": "1.0.1",
|
||||
"http_parser": "2.8.0",
|
||||
"openssl": "1.1.0j",
|
||||
"arch": "x64",
|
||||
"platform": "linux",
|
||||
"release": "node"
|
||||
"openssl": "1.1.0j"
|
||||
},
|
||||
"release": {
|
||||
"name": "node"
|
||||
},
|
||||
"osVersion": "Linux 3.10.0-862.el7.x86_64 #1 SMP Wed Mar 21 18:14:51 EDT 2018",
|
||||
"machine": "Linux 3.10.0-862.el7.x86_64 #1 SMP Wed Mar 21 18:14:51 EDT 2018test_machine x86_64"
|
||||
|
@ -86,6 +86,7 @@ static void PrintGCStatistics(JSONWriter* writer, Isolate* isolate);
|
||||
static void PrintSystemInformation(JSONWriter* writer);
|
||||
static void PrintLoadedLibraries(JSONWriter* writer);
|
||||
static void PrintComponentVersions(JSONWriter* writer);
|
||||
static void PrintRelease(JSONWriter* writer);
|
||||
static void LocalTime(TIME_TYPE* tm_struct);
|
||||
|
||||
// Global variables
|
||||
@ -341,10 +342,15 @@ static void PrintVersionInformation(JSONWriter* writer) {
|
||||
|
||||
// Report Process word size
|
||||
writer->json_keyvalue("wordSize", sizeof(void*) * 8);
|
||||
writer->json_keyvalue("arch", node::per_process::metadata.arch);
|
||||
writer->json_keyvalue("platform", node::per_process::metadata.platform);
|
||||
|
||||
// Report deps component versions
|
||||
PrintComponentVersions(writer);
|
||||
|
||||
// Report release metadata.
|
||||
PrintRelease(writer);
|
||||
|
||||
// Report operating system and machine information (Windows)
|
||||
#ifdef _WIN32
|
||||
{
|
||||
@ -724,12 +730,27 @@ static void PrintComponentVersions(JSONWriter* writer) {
|
||||
NODE_VERSIONS_KEYS(V)
|
||||
#undef V
|
||||
|
||||
// Some extra information that is not present in node_metadata.
|
||||
writer->json_keyvalue("arch", NODE_ARCH);
|
||||
writer->json_keyvalue("platform", NODE_PLATFORM);
|
||||
writer->json_keyvalue("release", NODE_RELEASE);
|
||||
if (NODE_VERSION_IS_LTS != 0)
|
||||
writer->json_keyvalue("lts", NODE_VERSION_LTS_CODENAME);
|
||||
writer->json_objectend();
|
||||
}
|
||||
|
||||
// Report runtime release information.
|
||||
static void PrintRelease(JSONWriter* writer) {
|
||||
writer->json_objectstart("release");
|
||||
writer->json_keyvalue("name", node::per_process::metadata.release.name);
|
||||
#if NODE_VERSION_IS_LTS
|
||||
writer->json_keyvalue("lts", node::per_process::metadata.release.lts);
|
||||
#endif
|
||||
|
||||
#ifdef NODE_HAS_RELEASE_URLS
|
||||
writer->json_keyvalue("headersUrl",
|
||||
node::per_process::metadata.release.headers_url);
|
||||
writer->json_keyvalue("sourceUrl",
|
||||
node::per_process::metadata.release.source_url);
|
||||
#ifdef _WIN32
|
||||
writer->json_keyvalue("libUrl", node::per_process::metadata.release.lib_url);
|
||||
#endif // _WIN32
|
||||
#endif // NODE_HAS_RELEASE_URLS
|
||||
|
||||
writer->json_objectend();
|
||||
}
|
||||
|
||||
|
@ -34,6 +34,9 @@ function validateContent(data) {
|
||||
'libuv', 'environmentVariables', 'sharedObjects'].forEach((section) => {
|
||||
assert(report.hasOwnProperty(section));
|
||||
});
|
||||
|
||||
assert.deepStrictEqual(report.header.componentVersions, process.versions);
|
||||
assert.deepStrictEqual(report.header.release, process.release);
|
||||
}
|
||||
|
||||
module.exports = { findReports, validate, validateContent };
|
||||
|
Loading…
x
Reference in New Issue
Block a user