show-only-schema.json 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema#",
  3. "type": "object",
  4. "required": ["kind", "version", "backtraceGraph", "tests"],
  5. "properties": {
  6. "kind": {
  7. "type": "string",
  8. "const": "ctestInfo"
  9. },
  10. "version": {
  11. "type": "object",
  12. "required": ["major", "minor"],
  13. "properties": {
  14. "major": {
  15. "const": 1,
  16. "description": "A positive integer specifying the major version component of the JSON object model."
  17. },
  18. "minor": {
  19. "const": 0,
  20. "description": "A non-negative integer specifying the minor version component of the JSON object model."
  21. }
  22. }
  23. },
  24. "backtraceGraph": {
  25. "type": "object",
  26. "required": ["commands", "files", "nodes"],
  27. "properties": {
  28. "commands": {
  29. "type": "array",
  30. "description": "List of CMake command names.",
  31. "items": {
  32. "type": "string"
  33. }
  34. },
  35. "files": {
  36. "type": "array",
  37. "description": "List of file paths, which may be relative or absolute. Relative paths are relative to the top-level source directory.",
  38. "items": {
  39. "type": "string"
  40. }
  41. },
  42. "nodes": {
  43. "type": "array",
  44. "items": {
  45. "type": "object",
  46. "required": ["file"],
  47. "properties": {
  48. "command": {
  49. "type": "integer",
  50. "minimum": 0,
  51. "description": "An optional member present when the node represents a command invocation within the file. The value is an unsigned integer 0-based index into the commands member of the backtraceGraph."
  52. },
  53. "file": {
  54. "type": "integer",
  55. "minimum": 0,
  56. "description": "An unsigned integer 0-based index into the files member of the backtraceGraph."
  57. },
  58. "line": {
  59. "type": "integer",
  60. "minimum": 1,
  61. "description": "An optional member present when the node represents a line within the file. The value is an unsigned integer 1-based line number in the file where the backtrace was added."
  62. },
  63. "parent": {
  64. "type": "integer",
  65. "minimum": 0,
  66. "description": "An optional member present when the node is not the bottom of the call stack. The value is an unsigned integer 0-based index into the nodes member of the backtraceGraph representing the parent in the graph."
  67. }
  68. }
  69. }
  70. }
  71. }
  72. },
  73. "tests": {
  74. "type": "array",
  75. "items": {
  76. "type": "object",
  77. "required": ["name", "backtrace"],
  78. "properties": {
  79. "name": {
  80. "type": "string",
  81. "description": "Test name",
  82. "minLength": 1
  83. },
  84. "config": {
  85. "type": "string",
  86. "description": "Optional field specifying the configuration for which the test will run. This will always match the -C option specified on the ctest command line. If no such option was given, this field will not be present."
  87. },
  88. "command": {
  89. "type": "array",
  90. "items": {
  91. "type": "string"
  92. },
  93. "minItems": 1,
  94. "description": "Optional array where the first element is the test command and the remaining elements are the command arguments. Normally, this field should be present and non-empty, but in certain corner cases involving generator expressions, it is possible for a test to have no command and therefore this field can be missing."
  95. },
  96. "backtrace": {
  97. "type": "integer",
  98. "description": "Index into the nodes member of the backtraceGraph."
  99. },
  100. "properties": {
  101. "type": "array",
  102. "description": "Optional list of test properties associated with the test.",
  103. "items": {
  104. "type": "object",
  105. "properties": {
  106. "name": {
  107. "type": "string",
  108. "description": "Test property name.",
  109. "minLength": 1
  110. },
  111. "value": {
  112. "description": "Value of the test property. Any valid JSON type might be present."
  113. }
  114. }
  115. }
  116. }
  117. }
  118. }
  119. }
  120. }
  121. }