mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-02 11:49:55 -06:00
@@ -1345,6 +1345,10 @@ the following resource specification file:
|
||||
.. code-block:: json
|
||||
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
{
|
||||
"gpus": [
|
||||
@@ -1376,6 +1380,11 @@ the following resource specification file:
|
||||
|
||||
The members are:
|
||||
|
||||
``version``
|
||||
An object containing a ``major`` integer field and a ``minor`` integer field.
|
||||
Currently, the only supported version is major ``1``, minor ``0``. Any other
|
||||
value is an error.
|
||||
|
||||
``local``
|
||||
A JSON array of resource sets present on the system. Currently, this array
|
||||
is restricted to being of size 1.
|
||||
|
||||
@@ -33,6 +33,32 @@ bool cmCTestResourceSpec::ReadFromJSONFile(const std::string& filename)
|
||||
return false;
|
||||
}
|
||||
|
||||
int majorVersion = 1;
|
||||
int minorVersion = 0;
|
||||
if (root.isMember("version")) {
|
||||
auto const& version = root["version"];
|
||||
if (version.isObject()) {
|
||||
if (!version.isMember("major") || !version.isMember("minor")) {
|
||||
return false;
|
||||
}
|
||||
auto const& major = version["major"];
|
||||
auto const& minor = version["minor"];
|
||||
if (!major.isInt() || !minor.isInt()) {
|
||||
return false;
|
||||
}
|
||||
majorVersion = major.asInt();
|
||||
minorVersion = minor.asInt();
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (majorVersion != 1 || minorVersion != 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
auto const& local = root["local"];
|
||||
if (!local.isArray()) {
|
||||
return false;
|
||||
|
||||
@@ -39,6 +39,23 @@ static const std::vector<ExpectedSpec> expectedResourceSpecs = {
|
||||
{"spec16.json", true, {{{}}}},
|
||||
{"spec17.json", false, {{{}}}},
|
||||
{"spec18.json", false, {{{}}}},
|
||||
{"spec19.json", false, {{{}}}},
|
||||
{"spec20.json", true, {{{}}}},
|
||||
{"spec21.json", false, {{{}}}},
|
||||
{"spec22.json", false, {{{}}}},
|
||||
{"spec23.json", false, {{{}}}},
|
||||
{"spec24.json", false, {{{}}}},
|
||||
{"spec25.json", false, {{{}}}},
|
||||
{"spec26.json", false, {{{}}}},
|
||||
{"spec27.json", false, {{{}}}},
|
||||
{"spec28.json", false, {{{}}}},
|
||||
{"spec29.json", false, {{{}}}},
|
||||
{"spec30.json", false, {{{}}}},
|
||||
{"spec31.json", false, {{{}}}},
|
||||
{"spec32.json", false, {{{}}}},
|
||||
{"spec33.json", false, {{{}}}},
|
||||
{"spec34.json", false, {{{}}}},
|
||||
{"spec35.json", false, {{{}}}},
|
||||
{"noexist.json", false, {{{}}}},
|
||||
/* clang-format on */
|
||||
};
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
{
|
||||
"gpus": [
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
{
|
||||
"gpus": [
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
{
|
||||
"gpus": [
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
{
|
||||
"0": [
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
{
|
||||
"-": [
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
{
|
||||
"A": [
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
{
|
||||
"gpus": [
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
{
|
||||
"gpus": [
|
||||
|
||||
5
Tests/CMakeLib/testCTestResourceSpec_data/spec19.json
Normal file
5
Tests/CMakeLib/testCTestResourceSpec_data/spec19.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 1,
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
|
||||
8
Tests/CMakeLib/testCTestResourceSpec_data/spec20.json
Normal file
8
Tests/CMakeLib/testCTestResourceSpec_data/spec20.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
5
Tests/CMakeLib/testCTestResourceSpec_data/spec21.json
Normal file
5
Tests/CMakeLib/testCTestResourceSpec_data/spec21.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": [1, 0],
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
5
Tests/CMakeLib/testCTestResourceSpec_data/spec22.json
Normal file
5
Tests/CMakeLib/testCTestResourceSpec_data/spec22.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 2,
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
7
Tests/CMakeLib/testCTestResourceSpec_data/spec23.json
Normal file
7
Tests/CMakeLib/testCTestResourceSpec_data/spec23.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1
|
||||
},
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
7
Tests/CMakeLib/testCTestResourceSpec_data/spec24.json
Normal file
7
Tests/CMakeLib/testCTestResourceSpec_data/spec24.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": {
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
8
Tests/CMakeLib/testCTestResourceSpec_data/spec25.json
Normal file
8
Tests/CMakeLib/testCTestResourceSpec_data/spec25.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 1
|
||||
},
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
8
Tests/CMakeLib/testCTestResourceSpec_data/spec26.json
Normal file
8
Tests/CMakeLib/testCTestResourceSpec_data/spec26.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 2,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
8
Tests/CMakeLib/testCTestResourceSpec_data/spec27.json
Normal file
8
Tests/CMakeLib/testCTestResourceSpec_data/spec27.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": "1",
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
8
Tests/CMakeLib/testCTestResourceSpec_data/spec28.json
Normal file
8
Tests/CMakeLib/testCTestResourceSpec_data/spec28.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": "0"
|
||||
},
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
5
Tests/CMakeLib/testCTestResourceSpec_data/spec29.json
Normal file
5
Tests/CMakeLib/testCTestResourceSpec_data/spec29.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": [1, 0, 0],
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
{
|
||||
},
|
||||
|
||||
5
Tests/CMakeLib/testCTestResourceSpec_data/spec30.json
Normal file
5
Tests/CMakeLib/testCTestResourceSpec_data/spec30.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": [1],
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
5
Tests/CMakeLib/testCTestResourceSpec_data/spec31.json
Normal file
5
Tests/CMakeLib/testCTestResourceSpec_data/spec31.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": [1, 1],
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
5
Tests/CMakeLib/testCTestResourceSpec_data/spec32.json
Normal file
5
Tests/CMakeLib/testCTestResourceSpec_data/spec32.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": [2, 0],
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
5
Tests/CMakeLib/testCTestResourceSpec_data/spec33.json
Normal file
5
Tests/CMakeLib/testCTestResourceSpec_data/spec33.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": ["1", 0],
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
5
Tests/CMakeLib/testCTestResourceSpec_data/spec34.json
Normal file
5
Tests/CMakeLib/testCTestResourceSpec_data/spec34.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": [1, "0"],
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
5
Tests/CMakeLib/testCTestResourceSpec_data/spec35.json
Normal file
5
Tests/CMakeLib/testCTestResourceSpec_data/spec35.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": "1",
|
||||
"local": [
|
||||
]
|
||||
}
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,2 +1,6 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
[]
|
||||
]
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
{
|
||||
"gpus": {
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
{
|
||||
"gpus": [
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
{
|
||||
"gpus": [
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
},
|
||||
"local": [
|
||||
{
|
||||
"widgets": [
|
||||
|
||||
Reference in New Issue
Block a user