@pnpm/exe 11.0.0-dev.1003 → 11.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (584) hide show
  1. package/dist/node-gyp-bin/node-gyp +6 -0
  2. package/dist/node-gyp-bin/node-gyp.cmd +5 -0
  3. package/dist/node_modules/@gar/promise-retry/LICENSE +20 -0
  4. package/dist/node_modules/@gar/promise-retry/lib/index.js +62 -0
  5. package/dist/node_modules/@gar/promise-retry/lib/retry.js +109 -0
  6. package/dist/node_modules/@gar/promise-retry/package.json +45 -0
  7. package/dist/node_modules/@isaacs/fs-minipass/LICENSE +15 -0
  8. package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +430 -0
  9. package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +3 -0
  10. package/dist/node_modules/@isaacs/fs-minipass/dist/esm/index.js +420 -0
  11. package/dist/node_modules/@isaacs/fs-minipass/dist/esm/package.json +3 -0
  12. package/dist/node_modules/@isaacs/fs-minipass/package.json +72 -0
  13. package/dist/node_modules/@npmcli/agent/lib/agents.js +206 -0
  14. package/dist/node_modules/@npmcli/agent/lib/dns.js +53 -0
  15. package/dist/node_modules/@npmcli/agent/lib/errors.js +61 -0
  16. package/dist/node_modules/@npmcli/agent/lib/index.js +56 -0
  17. package/dist/node_modules/@npmcli/agent/lib/options.js +86 -0
  18. package/dist/node_modules/@npmcli/agent/lib/proxy.js +88 -0
  19. package/dist/node_modules/@npmcli/agent/package.json +60 -0
  20. package/dist/node_modules/@npmcli/fs/lib/common/get-options.js +20 -0
  21. package/dist/node_modules/@npmcli/fs/lib/common/node.js +9 -0
  22. package/dist/node_modules/@npmcli/fs/lib/cp/LICENSE +15 -0
  23. package/dist/node_modules/@npmcli/fs/lib/cp/errors.js +129 -0
  24. package/dist/node_modules/@npmcli/fs/lib/cp/index.js +22 -0
  25. package/dist/node_modules/@npmcli/fs/lib/cp/polyfill.js +428 -0
  26. package/dist/node_modules/@npmcli/fs/lib/index.js +13 -0
  27. package/dist/node_modules/@npmcli/fs/lib/move-file.js +78 -0
  28. package/dist/node_modules/@npmcli/fs/lib/readdir-scoped.js +20 -0
  29. package/dist/node_modules/@npmcli/fs/lib/with-temp-dir.js +39 -0
  30. package/dist/node_modules/@npmcli/fs/package.json +54 -0
  31. package/dist/node_modules/@npmcli/redact/LICENSE +21 -0
  32. package/dist/node_modules/@npmcli/redact/lib/deep-map.js +71 -0
  33. package/dist/node_modules/@npmcli/redact/lib/error.js +28 -0
  34. package/dist/node_modules/@npmcli/redact/lib/index.js +44 -0
  35. package/dist/node_modules/@npmcli/redact/lib/matchers.js +88 -0
  36. package/dist/node_modules/@npmcli/redact/lib/server.js +59 -0
  37. package/dist/node_modules/@npmcli/redact/lib/utils.js +202 -0
  38. package/dist/node_modules/@npmcli/redact/package.json +52 -0
  39. package/dist/node_modules/abbrev/LICENSE +46 -0
  40. package/dist/node_modules/abbrev/lib/index.js +53 -0
  41. package/dist/node_modules/abbrev/package.json +41 -0
  42. package/dist/node_modules/agent-base/LICENSE +22 -0
  43. package/dist/node_modules/agent-base/dist/helpers.js +66 -0
  44. package/dist/node_modules/agent-base/dist/index.js +178 -0
  45. package/dist/node_modules/agent-base/package.json +46 -0
  46. package/dist/node_modules/balanced-match/dist/commonjs/index.js +59 -0
  47. package/dist/node_modules/balanced-match/dist/commonjs/package.json +3 -0
  48. package/dist/node_modules/balanced-match/dist/esm/index.js +54 -0
  49. package/dist/node_modules/balanced-match/dist/esm/package.json +3 -0
  50. package/dist/node_modules/balanced-match/package.json +68 -0
  51. package/dist/node_modules/brace-expansion/LICENSE +23 -0
  52. package/dist/node_modules/brace-expansion/dist/commonjs/index.js +201 -0
  53. package/dist/node_modules/brace-expansion/dist/commonjs/package.json +3 -0
  54. package/dist/node_modules/brace-expansion/dist/esm/index.js +197 -0
  55. package/dist/node_modules/brace-expansion/dist/esm/package.json +3 -0
  56. package/dist/node_modules/brace-expansion/package.json +64 -0
  57. package/dist/node_modules/cacache/lib/content/path.js +29 -0
  58. package/dist/node_modules/cacache/lib/content/read.js +165 -0
  59. package/dist/node_modules/cacache/lib/content/rm.js +18 -0
  60. package/dist/node_modules/cacache/lib/content/write.js +206 -0
  61. package/dist/node_modules/cacache/lib/entry-index.js +336 -0
  62. package/dist/node_modules/cacache/lib/get.js +170 -0
  63. package/dist/node_modules/cacache/lib/index.js +42 -0
  64. package/dist/node_modules/cacache/lib/memoization.js +72 -0
  65. package/dist/node_modules/cacache/lib/put.js +80 -0
  66. package/dist/node_modules/cacache/lib/rm.js +31 -0
  67. package/dist/node_modules/cacache/lib/util/glob.js +7 -0
  68. package/dist/node_modules/cacache/lib/util/hash-to-segments.js +7 -0
  69. package/dist/node_modules/cacache/lib/util/tmp.js +32 -0
  70. package/dist/node_modules/cacache/lib/verify.js +258 -0
  71. package/dist/node_modules/cacache/package.json +81 -0
  72. package/dist/node_modules/chownr/dist/commonjs/index.js +93 -0
  73. package/dist/node_modules/chownr/dist/commonjs/package.json +3 -0
  74. package/dist/node_modules/chownr/dist/esm/index.js +85 -0
  75. package/dist/node_modules/chownr/dist/esm/package.json +3 -0
  76. package/dist/node_modules/chownr/package.json +69 -0
  77. package/dist/node_modules/debug/LICENSE +20 -0
  78. package/dist/node_modules/debug/package.json +64 -0
  79. package/dist/node_modules/debug/src/browser.js +272 -0
  80. package/dist/node_modules/debug/src/common.js +292 -0
  81. package/dist/node_modules/debug/src/index.js +10 -0
  82. package/dist/node_modules/debug/src/node.js +263 -0
  83. package/dist/node_modules/env-paths/index.js +74 -0
  84. package/dist/node_modules/env-paths/license +9 -0
  85. package/dist/node_modules/env-paths/package.json +45 -0
  86. package/dist/node_modules/exponential-backoff/LICENSE +202 -0
  87. package/dist/node_modules/exponential-backoff/dist/backoff.js +124 -0
  88. package/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js +25 -0
  89. package/dist/node_modules/exponential-backoff/dist/delay/delay.base.js +45 -0
  90. package/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js +17 -0
  91. package/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js +3 -0
  92. package/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js +82 -0
  93. package/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js +8 -0
  94. package/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js +15 -0
  95. package/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js +7 -0
  96. package/dist/node_modules/exponential-backoff/dist/options.js +31 -0
  97. package/dist/node_modules/exponential-backoff/package.json +62 -0
  98. package/dist/node_modules/fdir/LICENSE +7 -0
  99. package/dist/node_modules/fdir/dist/index.cjs +588 -0
  100. package/dist/node_modules/fdir/dist/index.d.cts +155 -0
  101. package/dist/node_modules/fdir/dist/index.d.mts +155 -0
  102. package/dist/node_modules/fdir/dist/index.mjs +570 -0
  103. package/dist/node_modules/fdir/package.json +103 -0
  104. package/dist/node_modules/fs-minipass/LICENSE +15 -0
  105. package/dist/node_modules/fs-minipass/lib/index.js +443 -0
  106. package/dist/node_modules/fs-minipass/package.json +54 -0
  107. package/dist/node_modules/glob/dist/commonjs/glob.js +248 -0
  108. package/dist/node_modules/glob/dist/commonjs/has-magic.js +27 -0
  109. package/dist/node_modules/glob/dist/commonjs/ignore.js +119 -0
  110. package/dist/node_modules/glob/dist/commonjs/index.js +68 -0
  111. package/dist/node_modules/glob/dist/commonjs/index.min.js +4 -0
  112. package/dist/node_modules/glob/dist/commonjs/package.json +3 -0
  113. package/dist/node_modules/glob/dist/commonjs/pattern.js +223 -0
  114. package/dist/node_modules/glob/dist/commonjs/processor.js +301 -0
  115. package/dist/node_modules/glob/dist/commonjs/walker.js +387 -0
  116. package/dist/node_modules/glob/dist/esm/glob.js +244 -0
  117. package/dist/node_modules/glob/dist/esm/has-magic.js +23 -0
  118. package/dist/node_modules/glob/dist/esm/ignore.js +115 -0
  119. package/dist/node_modules/glob/dist/esm/index.js +55 -0
  120. package/dist/node_modules/glob/dist/esm/index.min.js +4 -0
  121. package/dist/node_modules/glob/dist/esm/package.json +3 -0
  122. package/dist/node_modules/glob/dist/esm/pattern.js +219 -0
  123. package/dist/node_modules/glob/dist/esm/processor.js +294 -0
  124. package/dist/node_modules/glob/dist/esm/walker.js +381 -0
  125. package/dist/node_modules/glob/package.json +98 -0
  126. package/dist/node_modules/graceful-fs/LICENSE +15 -0
  127. package/dist/node_modules/graceful-fs/clone.js +23 -0
  128. package/dist/node_modules/graceful-fs/graceful-fs.js +448 -0
  129. package/dist/node_modules/graceful-fs/legacy-streams.js +118 -0
  130. package/dist/node_modules/graceful-fs/package.json +53 -0
  131. package/dist/node_modules/graceful-fs/polyfills.js +355 -0
  132. package/dist/node_modules/http-cache-semantics/LICENSE +9 -0
  133. package/dist/node_modules/http-cache-semantics/index.js +928 -0
  134. package/dist/node_modules/http-cache-semantics/package.json +22 -0
  135. package/dist/node_modules/http-proxy-agent/LICENSE +22 -0
  136. package/dist/node_modules/http-proxy-agent/dist/index.js +148 -0
  137. package/dist/node_modules/http-proxy-agent/package.json +47 -0
  138. package/dist/node_modules/https-proxy-agent/LICENSE +22 -0
  139. package/dist/node_modules/https-proxy-agent/dist/index.js +180 -0
  140. package/dist/node_modules/https-proxy-agent/dist/parse-proxy-response.js +101 -0
  141. package/dist/node_modules/https-proxy-agent/package.json +50 -0
  142. package/dist/node_modules/iconv-lite/LICENSE +21 -0
  143. package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  144. package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  145. package/dist/node_modules/iconv-lite/encodings/index.js +23 -0
  146. package/dist/node_modules/iconv-lite/encodings/internal.js +218 -0
  147. package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  148. package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  149. package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
  150. package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  151. package/dist/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  152. package/dist/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  153. package/dist/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  154. package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  155. package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  156. package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  157. package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  158. package/dist/node_modules/iconv-lite/encodings/utf16.js +187 -0
  159. package/dist/node_modules/iconv-lite/encodings/utf32.js +307 -0
  160. package/dist/node_modules/iconv-lite/encodings/utf7.js +283 -0
  161. package/dist/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  162. package/dist/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  163. package/dist/node_modules/iconv-lite/lib/index.js +182 -0
  164. package/dist/node_modules/iconv-lite/lib/streams.js +105 -0
  165. package/dist/node_modules/iconv-lite/package.json +70 -0
  166. package/dist/node_modules/ip-address/LICENSE +19 -0
  167. package/dist/node_modules/ip-address/dist/address-error.js +12 -0
  168. package/dist/node_modules/ip-address/dist/common.js +46 -0
  169. package/dist/node_modules/ip-address/dist/ip-address.js +35 -0
  170. package/dist/node_modules/ip-address/dist/ipv4.js +360 -0
  171. package/dist/node_modules/ip-address/dist/ipv6.js +1003 -0
  172. package/dist/node_modules/ip-address/dist/v4/constants.js +8 -0
  173. package/dist/node_modules/ip-address/dist/v6/constants.js +76 -0
  174. package/dist/node_modules/ip-address/dist/v6/helpers.js +45 -0
  175. package/dist/node_modules/ip-address/dist/v6/regular-expressions.js +95 -0
  176. package/dist/node_modules/ip-address/package.json +78 -0
  177. package/dist/node_modules/isexe/dist/commonjs/index.js +56 -0
  178. package/dist/node_modules/isexe/dist/commonjs/index.min.js +2 -0
  179. package/dist/node_modules/isexe/dist/commonjs/options.js +3 -0
  180. package/dist/node_modules/isexe/dist/commonjs/package.json +3 -0
  181. package/dist/node_modules/isexe/dist/commonjs/posix.js +67 -0
  182. package/dist/node_modules/isexe/dist/commonjs/win32.js +63 -0
  183. package/dist/node_modules/isexe/dist/esm/index.js +16 -0
  184. package/dist/node_modules/isexe/dist/esm/index.min.js +2 -0
  185. package/dist/node_modules/isexe/dist/esm/options.js +2 -0
  186. package/dist/node_modules/isexe/dist/esm/package.json +3 -0
  187. package/dist/node_modules/isexe/dist/esm/posix.js +62 -0
  188. package/dist/node_modules/isexe/dist/esm/win32.js +58 -0
  189. package/dist/node_modules/isexe/package.json +78 -0
  190. package/dist/node_modules/lru-cache/dist/commonjs/index.js +1595 -0
  191. package/dist/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  192. package/dist/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  193. package/dist/node_modules/lru-cache/dist/esm/index.js +1591 -0
  194. package/dist/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  195. package/dist/node_modules/lru-cache/dist/esm/package.json +3 -0
  196. package/dist/node_modules/lru-cache/package.json +93 -0
  197. package/dist/node_modules/make-fetch-happen/LICENSE +16 -0
  198. package/dist/node_modules/make-fetch-happen/lib/cache/entry.js +471 -0
  199. package/dist/node_modules/make-fetch-happen/lib/cache/errors.js +11 -0
  200. package/dist/node_modules/make-fetch-happen/lib/cache/index.js +49 -0
  201. package/dist/node_modules/make-fetch-happen/lib/cache/key.js +17 -0
  202. package/dist/node_modules/make-fetch-happen/lib/cache/policy.js +161 -0
  203. package/dist/node_modules/make-fetch-happen/lib/fetch.js +118 -0
  204. package/dist/node_modules/make-fetch-happen/lib/index.js +41 -0
  205. package/dist/node_modules/make-fetch-happen/lib/options.js +59 -0
  206. package/dist/node_modules/make-fetch-happen/lib/pipeline.js +41 -0
  207. package/dist/node_modules/make-fetch-happen/lib/remote.js +134 -0
  208. package/dist/node_modules/make-fetch-happen/package.json +75 -0
  209. package/dist/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
  210. package/dist/node_modules/minimatch/dist/commonjs/ast.js +846 -0
  211. package/dist/node_modules/minimatch/dist/commonjs/brace-expressions.js +150 -0
  212. package/dist/node_modules/minimatch/dist/commonjs/escape.js +30 -0
  213. package/dist/node_modules/minimatch/dist/commonjs/index.js +1121 -0
  214. package/dist/node_modules/minimatch/dist/commonjs/package.json +3 -0
  215. package/dist/node_modules/minimatch/dist/commonjs/unescape.js +38 -0
  216. package/dist/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
  217. package/dist/node_modules/minimatch/dist/esm/ast.js +842 -0
  218. package/dist/node_modules/minimatch/dist/esm/brace-expressions.js +146 -0
  219. package/dist/node_modules/minimatch/dist/esm/escape.js +26 -0
  220. package/dist/node_modules/minimatch/dist/esm/index.js +1108 -0
  221. package/dist/node_modules/minimatch/dist/esm/package.json +3 -0
  222. package/dist/node_modules/minimatch/dist/esm/unescape.js +34 -0
  223. package/dist/node_modules/minimatch/package.json +67 -0
  224. package/dist/node_modules/minipass/dist/commonjs/index.js +1038 -0
  225. package/dist/node_modules/minipass/dist/commonjs/package.json +3 -0
  226. package/dist/node_modules/minipass/dist/esm/index.js +1020 -0
  227. package/dist/node_modules/minipass/dist/esm/package.json +3 -0
  228. package/dist/node_modules/minipass/package.json +77 -0
  229. package/dist/node_modules/minipass-collect/LICENSE +15 -0
  230. package/dist/node_modules/minipass-collect/index.js +71 -0
  231. package/dist/node_modules/minipass-collect/package.json +30 -0
  232. package/dist/node_modules/minipass-fetch/LICENSE +28 -0
  233. package/dist/node_modules/minipass-fetch/lib/abort-error.js +17 -0
  234. package/dist/node_modules/minipass-fetch/lib/blob.js +97 -0
  235. package/dist/node_modules/minipass-fetch/lib/body.js +360 -0
  236. package/dist/node_modules/minipass-fetch/lib/fetch-error.js +32 -0
  237. package/dist/node_modules/minipass-fetch/lib/headers.js +267 -0
  238. package/dist/node_modules/minipass-fetch/lib/index.js +376 -0
  239. package/dist/node_modules/minipass-fetch/lib/request.js +282 -0
  240. package/dist/node_modules/minipass-fetch/lib/response.js +90 -0
  241. package/dist/node_modules/minipass-fetch/package.json +70 -0
  242. package/dist/node_modules/minipass-flush/LICENSE +15 -0
  243. package/dist/node_modules/minipass-flush/index.js +39 -0
  244. package/dist/node_modules/minipass-flush/node_modules/minipass/LICENSE +15 -0
  245. package/dist/node_modules/minipass-flush/node_modules/minipass/index.js +649 -0
  246. package/dist/node_modules/minipass-flush/node_modules/minipass/package.json +56 -0
  247. package/dist/node_modules/minipass-flush/package.json +39 -0
  248. package/dist/node_modules/minipass-pipeline/LICENSE +15 -0
  249. package/dist/node_modules/minipass-pipeline/index.js +128 -0
  250. package/dist/node_modules/minipass-pipeline/node_modules/minipass/LICENSE +15 -0
  251. package/dist/node_modules/minipass-pipeline/node_modules/minipass/index.js +649 -0
  252. package/dist/node_modules/minipass-pipeline/node_modules/minipass/package.json +56 -0
  253. package/dist/node_modules/minipass-pipeline/package.json +29 -0
  254. package/dist/node_modules/minipass-sized/LICENSE +15 -0
  255. package/dist/node_modules/minipass-sized/dist/commonjs/index.js +69 -0
  256. package/dist/node_modules/minipass-sized/dist/commonjs/package.json +3 -0
  257. package/dist/node_modules/minipass-sized/dist/esm/index.js +64 -0
  258. package/dist/node_modules/minipass-sized/dist/esm/package.json +3 -0
  259. package/dist/node_modules/minipass-sized/package.json +69 -0
  260. package/dist/node_modules/minizlib/LICENSE +26 -0
  261. package/dist/node_modules/minizlib/dist/commonjs/constants.js +123 -0
  262. package/dist/node_modules/minizlib/dist/commonjs/index.js +416 -0
  263. package/dist/node_modules/minizlib/dist/commonjs/package.json +3 -0
  264. package/dist/node_modules/minizlib/dist/esm/constants.js +117 -0
  265. package/dist/node_modules/minizlib/dist/esm/index.js +363 -0
  266. package/dist/node_modules/minizlib/dist/esm/package.json +3 -0
  267. package/dist/node_modules/minizlib/package.json +80 -0
  268. package/dist/node_modules/ms/index.js +162 -0
  269. package/dist/node_modules/ms/package.json +38 -0
  270. package/dist/node_modules/negotiator/LICENSE +24 -0
  271. package/dist/node_modules/negotiator/index.js +83 -0
  272. package/dist/node_modules/negotiator/lib/charset.js +169 -0
  273. package/dist/node_modules/negotiator/lib/encoding.js +205 -0
  274. package/dist/node_modules/negotiator/lib/language.js +179 -0
  275. package/dist/node_modules/negotiator/lib/mediaType.js +294 -0
  276. package/dist/node_modules/negotiator/package.json +43 -0
  277. package/dist/node_modules/node-gyp/.release-please-manifest.json +3 -0
  278. package/dist/node_modules/node-gyp/LICENSE +24 -0
  279. package/dist/node_modules/node-gyp/addon.gypi +204 -0
  280. package/dist/node_modules/node-gyp/bin/node-gyp.js +145 -0
  281. package/dist/node_modules/node-gyp/eslint.config.js +3 -0
  282. package/dist/node_modules/node-gyp/gyp/.release-please-manifest.json +3 -0
  283. package/dist/node_modules/node-gyp/gyp/LICENSE +28 -0
  284. package/dist/node_modules/node-gyp/gyp/data/ninja/build.ninja +4 -0
  285. package/dist/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +12 -0
  286. package/dist/node_modules/node-gyp/gyp/gyp +8 -0
  287. package/dist/node_modules/node-gyp/gyp/gyp.bat +5 -0
  288. package/dist/node_modules/node-gyp/gyp/gyp_main.py +45 -0
  289. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +365 -0
  290. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +206 -0
  291. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +1283 -0
  292. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +1545 -0
  293. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +59 -0
  294. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +152 -0
  295. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +270 -0
  296. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +599 -0
  297. package/dist/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +707 -0
  298. package/dist/node_modules/node-gyp/gyp/pylib/gyp/common.py +725 -0
  299. package/dist/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +186 -0
  300. package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +170 -0
  301. package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +113 -0
  302. package/dist/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +55 -0
  303. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
  304. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +805 -0
  305. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +1169 -0
  306. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +1316 -0
  307. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +128 -0
  308. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +104 -0
  309. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +461 -0
  310. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +88 -0
  311. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +55 -0
  312. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +2755 -0
  313. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +3970 -0
  314. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +44 -0
  315. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +2956 -0
  316. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +67 -0
  317. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +1389 -0
  318. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +26 -0
  319. package/dist/node_modules/node-gyp/gyp/pylib/gyp/input.py +3097 -0
  320. package/dist/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +99 -0
  321. package/dist/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +765 -0
  322. package/dist/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +1255 -0
  323. package/dist/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +174 -0
  324. package/dist/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +61 -0
  325. package/dist/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +371 -0
  326. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +1936 -0
  327. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation_test.py +54 -0
  328. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +301 -0
  329. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +3180 -0
  330. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +64 -0
  331. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE +3 -0
  332. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.APACHE +177 -0
  333. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.BSD +23 -0
  334. package/dist/node_modules/node-gyp/gyp/pylib/packaging/__init__.py +15 -0
  335. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_elffile.py +107 -0
  336. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_manylinux.py +252 -0
  337. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_musllinux.py +83 -0
  338. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_parser.py +359 -0
  339. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_structures.py +61 -0
  340. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_tokenizer.py +192 -0
  341. package/dist/node_modules/node-gyp/gyp/pylib/packaging/markers.py +251 -0
  342. package/dist/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +824 -0
  343. package/dist/node_modules/node-gyp/gyp/pylib/packaging/py.typed +0 -0
  344. package/dist/node_modules/node-gyp/gyp/pylib/packaging/requirements.py +90 -0
  345. package/dist/node_modules/node-gyp/gyp/pylib/packaging/specifiers.py +1030 -0
  346. package/dist/node_modules/node-gyp/gyp/pylib/packaging/tags.py +553 -0
  347. package/dist/node_modules/node-gyp/gyp/pylib/packaging/utils.py +172 -0
  348. package/dist/node_modules/node-gyp/gyp/pylib/packaging/version.py +563 -0
  349. package/dist/node_modules/node-gyp/gyp/pyproject.toml +114 -0
  350. package/dist/node_modules/node-gyp/gyp/release-please-config.json +11 -0
  351. package/dist/node_modules/node-gyp/gyp/test_gyp.py +260 -0
  352. package/dist/node_modules/node-gyp/lib/Find-VisualStudio.cs +250 -0
  353. package/dist/node_modules/node-gyp/lib/build.js +230 -0
  354. package/dist/node_modules/node-gyp/lib/clean.js +15 -0
  355. package/dist/node_modules/node-gyp/lib/configure.js +328 -0
  356. package/dist/node_modules/node-gyp/lib/create-config-gypi.js +153 -0
  357. package/dist/node_modules/node-gyp/lib/download.js +39 -0
  358. package/dist/node_modules/node-gyp/lib/find-node-directory.js +63 -0
  359. package/dist/node_modules/node-gyp/lib/find-python.js +304 -0
  360. package/dist/node_modules/node-gyp/lib/find-visualstudio.js +606 -0
  361. package/dist/node_modules/node-gyp/lib/install.js +411 -0
  362. package/dist/node_modules/node-gyp/lib/list.js +26 -0
  363. package/dist/node_modules/node-gyp/lib/log.js +168 -0
  364. package/dist/node_modules/node-gyp/lib/node-gyp.js +199 -0
  365. package/dist/node_modules/node-gyp/lib/process-release.js +146 -0
  366. package/dist/node_modules/node-gyp/lib/rebuild.js +12 -0
  367. package/dist/node_modules/node-gyp/lib/remove.js +43 -0
  368. package/dist/node_modules/node-gyp/lib/util.js +81 -0
  369. package/dist/node_modules/node-gyp/macOS_Catalina_acid_test.sh +21 -0
  370. package/dist/node_modules/node-gyp/package.json +52 -0
  371. package/dist/node_modules/node-gyp/release-please-config.json +40 -0
  372. package/dist/node_modules/node-gyp/src/win_delay_load_hook.cc +41 -0
  373. package/dist/node_modules/nopt/LICENSE +15 -0
  374. package/dist/node_modules/nopt/bin/nopt.js +29 -0
  375. package/dist/node_modules/nopt/lib/debug.js +5 -0
  376. package/dist/node_modules/nopt/lib/nopt-lib.js +514 -0
  377. package/dist/node_modules/nopt/lib/nopt.js +34 -0
  378. package/dist/node_modules/nopt/lib/type-defs.js +91 -0
  379. package/dist/node_modules/nopt/package.json +52 -0
  380. package/dist/node_modules/p-map/index.js +283 -0
  381. package/dist/node_modules/p-map/license +9 -0
  382. package/dist/node_modules/p-map/package.json +57 -0
  383. package/dist/node_modules/path-scurry/dist/commonjs/index.js +2018 -0
  384. package/dist/node_modules/path-scurry/dist/commonjs/package.json +3 -0
  385. package/dist/node_modules/path-scurry/dist/esm/index.js +1983 -0
  386. package/dist/node_modules/path-scurry/dist/esm/package.json +3 -0
  387. package/dist/node_modules/path-scurry/package.json +72 -0
  388. package/dist/node_modules/picomatch/LICENSE +21 -0
  389. package/dist/node_modules/picomatch/index.js +17 -0
  390. package/dist/node_modules/picomatch/lib/constants.js +184 -0
  391. package/dist/node_modules/picomatch/lib/parse.js +1386 -0
  392. package/dist/node_modules/picomatch/lib/picomatch.js +349 -0
  393. package/dist/node_modules/picomatch/lib/scan.js +391 -0
  394. package/dist/node_modules/picomatch/lib/utils.js +72 -0
  395. package/dist/node_modules/picomatch/package.json +82 -0
  396. package/dist/node_modules/picomatch/posix.js +3 -0
  397. package/dist/node_modules/proc-log/LICENSE +15 -0
  398. package/dist/node_modules/proc-log/lib/index.js +158 -0
  399. package/dist/node_modules/proc-log/package.json +46 -0
  400. package/dist/node_modules/safer-buffer/LICENSE +21 -0
  401. package/dist/node_modules/safer-buffer/dangerous.js +58 -0
  402. package/dist/node_modules/safer-buffer/package.json +34 -0
  403. package/dist/node_modules/safer-buffer/safer.js +77 -0
  404. package/dist/node_modules/safer-buffer/tests.js +406 -0
  405. package/dist/node_modules/semver/LICENSE +15 -0
  406. package/dist/node_modules/semver/bin/semver.js +191 -0
  407. package/dist/node_modules/semver/classes/comparator.js +143 -0
  408. package/dist/node_modules/semver/classes/index.js +7 -0
  409. package/dist/node_modules/semver/classes/range.js +557 -0
  410. package/dist/node_modules/semver/classes/semver.js +333 -0
  411. package/dist/node_modules/semver/functions/clean.js +8 -0
  412. package/dist/node_modules/semver/functions/cmp.js +54 -0
  413. package/dist/node_modules/semver/functions/coerce.js +62 -0
  414. package/dist/node_modules/semver/functions/compare-build.js +9 -0
  415. package/dist/node_modules/semver/functions/compare-loose.js +5 -0
  416. package/dist/node_modules/semver/functions/compare.js +7 -0
  417. package/dist/node_modules/semver/functions/diff.js +60 -0
  418. package/dist/node_modules/semver/functions/eq.js +5 -0
  419. package/dist/node_modules/semver/functions/gt.js +5 -0
  420. package/dist/node_modules/semver/functions/gte.js +5 -0
  421. package/dist/node_modules/semver/functions/inc.js +21 -0
  422. package/dist/node_modules/semver/functions/lt.js +5 -0
  423. package/dist/node_modules/semver/functions/lte.js +5 -0
  424. package/dist/node_modules/semver/functions/major.js +5 -0
  425. package/dist/node_modules/semver/functions/minor.js +5 -0
  426. package/dist/node_modules/semver/functions/neq.js +5 -0
  427. package/dist/node_modules/semver/functions/parse.js +18 -0
  428. package/dist/node_modules/semver/functions/patch.js +5 -0
  429. package/dist/node_modules/semver/functions/prerelease.js +8 -0
  430. package/dist/node_modules/semver/functions/rcompare.js +5 -0
  431. package/dist/node_modules/semver/functions/rsort.js +5 -0
  432. package/dist/node_modules/semver/functions/satisfies.js +12 -0
  433. package/dist/node_modules/semver/functions/sort.js +5 -0
  434. package/dist/node_modules/semver/functions/valid.js +8 -0
  435. package/dist/node_modules/semver/index.js +91 -0
  436. package/dist/node_modules/semver/internal/constants.js +37 -0
  437. package/dist/node_modules/semver/internal/debug.js +11 -0
  438. package/dist/node_modules/semver/internal/identifiers.js +29 -0
  439. package/dist/node_modules/semver/internal/lrucache.js +42 -0
  440. package/dist/node_modules/semver/internal/parse-options.js +17 -0
  441. package/dist/node_modules/semver/internal/re.js +223 -0
  442. package/dist/node_modules/semver/package.json +78 -0
  443. package/dist/node_modules/semver/preload.js +4 -0
  444. package/dist/node_modules/semver/range.bnf +16 -0
  445. package/dist/node_modules/semver/ranges/gtr.js +6 -0
  446. package/dist/node_modules/semver/ranges/intersects.js +9 -0
  447. package/dist/node_modules/semver/ranges/ltr.js +6 -0
  448. package/dist/node_modules/semver/ranges/max-satisfying.js +27 -0
  449. package/dist/node_modules/semver/ranges/min-satisfying.js +26 -0
  450. package/dist/node_modules/semver/ranges/min-version.js +63 -0
  451. package/dist/node_modules/semver/ranges/outside.js +82 -0
  452. package/dist/node_modules/semver/ranges/simplify.js +49 -0
  453. package/dist/node_modules/semver/ranges/subset.js +249 -0
  454. package/dist/node_modules/semver/ranges/to-comparators.js +10 -0
  455. package/dist/node_modules/semver/ranges/valid.js +13 -0
  456. package/dist/node_modules/smart-buffer/.prettierrc.yaml +5 -0
  457. package/dist/node_modules/smart-buffer/LICENSE +20 -0
  458. package/dist/node_modules/smart-buffer/build/smartbuffer.js +1233 -0
  459. package/dist/node_modules/smart-buffer/build/utils.js +108 -0
  460. package/dist/node_modules/smart-buffer/package.json +79 -0
  461. package/dist/node_modules/socks/.eslintrc.cjs +11 -0
  462. package/dist/node_modules/socks/.prettierrc.yaml +7 -0
  463. package/dist/node_modules/socks/LICENSE +20 -0
  464. package/dist/node_modules/socks/build/client/socksclient.js +793 -0
  465. package/dist/node_modules/socks/build/common/constants.js +108 -0
  466. package/dist/node_modules/socks/build/common/helpers.js +167 -0
  467. package/dist/node_modules/socks/build/common/receivebuffer.js +43 -0
  468. package/dist/node_modules/socks/build/common/util.js +25 -0
  469. package/dist/node_modules/socks/build/index.js +18 -0
  470. package/dist/node_modules/socks/package.json +58 -0
  471. package/dist/node_modules/socks-proxy-agent/LICENSE +22 -0
  472. package/dist/node_modules/socks-proxy-agent/dist/index.js +195 -0
  473. package/dist/node_modules/socks-proxy-agent/package.json +142 -0
  474. package/dist/node_modules/ssri/lib/index.js +550 -0
  475. package/dist/node_modules/ssri/package.json +66 -0
  476. package/dist/node_modules/tar/dist/commonjs/create.js +82 -0
  477. package/dist/node_modules/tar/dist/commonjs/cwd-error.js +18 -0
  478. package/dist/node_modules/tar/dist/commonjs/extract.js +88 -0
  479. package/dist/node_modules/tar/dist/commonjs/get-write-flag.js +32 -0
  480. package/dist/node_modules/tar/dist/commonjs/header.js +312 -0
  481. package/dist/node_modules/tar/dist/commonjs/index.js +64 -0
  482. package/dist/node_modules/tar/dist/commonjs/index.min.js +4 -0
  483. package/dist/node_modules/tar/dist/commonjs/large-numbers.js +99 -0
  484. package/dist/node_modules/tar/dist/commonjs/list.js +145 -0
  485. package/dist/node_modules/tar/dist/commonjs/make-command.js +52 -0
  486. package/dist/node_modules/tar/dist/commonjs/mkdir.js +187 -0
  487. package/dist/node_modules/tar/dist/commonjs/mode-fix.js +29 -0
  488. package/dist/node_modules/tar/dist/commonjs/normalize-unicode.js +38 -0
  489. package/dist/node_modules/tar/dist/commonjs/normalize-windows-path.js +12 -0
  490. package/dist/node_modules/tar/dist/commonjs/options.js +66 -0
  491. package/dist/node_modules/tar/dist/commonjs/pack.js +511 -0
  492. package/dist/node_modules/tar/dist/commonjs/package.json +3 -0
  493. package/dist/node_modules/tar/dist/commonjs/parse.js +610 -0
  494. package/dist/node_modules/tar/dist/commonjs/path-reservations.js +170 -0
  495. package/dist/node_modules/tar/dist/commonjs/pax.js +158 -0
  496. package/dist/node_modules/tar/dist/commonjs/process-umask.js +7 -0
  497. package/dist/node_modules/tar/dist/commonjs/read-entry.js +136 -0
  498. package/dist/node_modules/tar/dist/commonjs/replace.js +227 -0
  499. package/dist/node_modules/tar/dist/commonjs/strip-absolute-path.js +29 -0
  500. package/dist/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +18 -0
  501. package/dist/node_modules/tar/dist/commonjs/symlink-error.js +19 -0
  502. package/dist/node_modules/tar/dist/commonjs/types.js +50 -0
  503. package/dist/node_modules/tar/dist/commonjs/unpack.js +932 -0
  504. package/dist/node_modules/tar/dist/commonjs/update.js +33 -0
  505. package/dist/node_modules/tar/dist/commonjs/warn-method.js +31 -0
  506. package/dist/node_modules/tar/dist/commonjs/winchars.js +14 -0
  507. package/dist/node_modules/tar/dist/commonjs/write-entry.js +698 -0
  508. package/dist/node_modules/tar/dist/esm/create.js +76 -0
  509. package/dist/node_modules/tar/dist/esm/cwd-error.js +14 -0
  510. package/dist/node_modules/tar/dist/esm/extract.js +49 -0
  511. package/dist/node_modules/tar/dist/esm/get-write-flag.js +26 -0
  512. package/dist/node_modules/tar/dist/esm/header.js +275 -0
  513. package/dist/node_modules/tar/dist/esm/index.js +20 -0
  514. package/dist/node_modules/tar/dist/esm/index.min.js +4 -0
  515. package/dist/node_modules/tar/dist/esm/large-numbers.js +94 -0
  516. package/dist/node_modules/tar/dist/esm/list.js +105 -0
  517. package/dist/node_modules/tar/dist/esm/make-command.js +48 -0
  518. package/dist/node_modules/tar/dist/esm/mkdir.js +179 -0
  519. package/dist/node_modules/tar/dist/esm/mode-fix.js +25 -0
  520. package/dist/node_modules/tar/dist/esm/normalize-unicode.js +34 -0
  521. package/dist/node_modules/tar/dist/esm/normalize-windows-path.js +9 -0
  522. package/dist/node_modules/tar/dist/esm/options.js +54 -0
  523. package/dist/node_modules/tar/dist/esm/pack.js +469 -0
  524. package/dist/node_modules/tar/dist/esm/package.json +3 -0
  525. package/dist/node_modules/tar/dist/esm/parse.js +606 -0
  526. package/dist/node_modules/tar/dist/esm/path-reservations.js +166 -0
  527. package/dist/node_modules/tar/dist/esm/pax.js +154 -0
  528. package/dist/node_modules/tar/dist/esm/process-umask.js +3 -0
  529. package/dist/node_modules/tar/dist/esm/read-entry.js +132 -0
  530. package/dist/node_modules/tar/dist/esm/replace.js +221 -0
  531. package/dist/node_modules/tar/dist/esm/strip-absolute-path.js +25 -0
  532. package/dist/node_modules/tar/dist/esm/strip-trailing-slashes.js +14 -0
  533. package/dist/node_modules/tar/dist/esm/symlink-error.js +15 -0
  534. package/dist/node_modules/tar/dist/esm/types.js +45 -0
  535. package/dist/node_modules/tar/dist/esm/unpack.js +891 -0
  536. package/dist/node_modules/tar/dist/esm/update.js +30 -0
  537. package/dist/node_modules/tar/dist/esm/warn-method.js +27 -0
  538. package/dist/node_modules/tar/dist/esm/winchars.js +9 -0
  539. package/dist/node_modules/tar/dist/esm/write-entry.js +656 -0
  540. package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/index.js +384 -0
  541. package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/package.json +3 -0
  542. package/dist/node_modules/tar/node_modules/yallist/dist/esm/index.js +379 -0
  543. package/dist/node_modules/tar/node_modules/yallist/dist/esm/package.json +3 -0
  544. package/dist/node_modules/tar/node_modules/yallist/package.json +68 -0
  545. package/dist/node_modules/tar/package.json +297 -0
  546. package/dist/node_modules/tinyglobby/LICENSE +21 -0
  547. package/dist/node_modules/tinyglobby/dist/index.cjs +350 -0
  548. package/dist/node_modules/tinyglobby/dist/index.d.cts +147 -0
  549. package/dist/node_modules/tinyglobby/dist/index.d.mts +147 -0
  550. package/dist/node_modules/tinyglobby/dist/index.mjs +318 -0
  551. package/dist/node_modules/tinyglobby/package.json +73 -0
  552. package/{LICENSE → dist/node_modules/v8-compile-cache/LICENSE} +1 -2
  553. package/dist/node_modules/v8-compile-cache/package.json +34 -0
  554. package/dist/node_modules/v8-compile-cache/v8-compile-cache.js +373 -0
  555. package/dist/node_modules/which/LICENSE +15 -0
  556. package/dist/node_modules/which/bin/which.js +52 -0
  557. package/dist/node_modules/which/lib/index.js +111 -0
  558. package/dist/node_modules/which/package.json +52 -0
  559. package/dist/node_modules/yallist/LICENSE +15 -0
  560. package/dist/node_modules/yallist/iterator.js +8 -0
  561. package/dist/node_modules/yallist/package.json +29 -0
  562. package/dist/node_modules/yallist/yallist.js +426 -0
  563. package/dist/pnpm.mjs +266382 -0
  564. package/dist/pnpmrc +2 -0
  565. package/dist/templates/completion.bash +31 -0
  566. package/dist/templates/completion.fish +22 -0
  567. package/dist/templates/completion.ps1 +193 -0
  568. package/dist/templates/completion.zsh +27 -0
  569. package/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
  570. package/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
  571. package/dist/worker.js +10958 -0
  572. package/package.json +34 -12
  573. package/pn +2 -0
  574. package/pn.cmd +2 -0
  575. package/pn.ps1 +1 -0
  576. package/pnpx +2 -0
  577. package/pnpx.cmd +2 -0
  578. package/pnpx.ps1 +1 -0
  579. package/pnx +2 -0
  580. package/pnx.cmd +2 -0
  581. package/pnx.ps1 +1 -0
  582. package/prepare.js +26 -3
  583. package/setup.js +22 -11
  584. package/CHANGELOG.md +0 -15
@@ -0,0 +1,1545 @@
1
+ #!/usr/bin/env python3
2
+
3
+ # Copyright (c) 2012 Google Inc. All rights reserved.
4
+ # Use of this source code is governed by a BSD-style license that can be
5
+ # found in the LICENSE file.
6
+
7
+ """Unit tests for the MSVSSettings.py file."""
8
+
9
+ import unittest
10
+ from io import StringIO
11
+
12
+ from gyp import MSVSSettings
13
+
14
+
15
+ class TestSequenceFunctions(unittest.TestCase):
16
+ def setUp(self):
17
+ self.stderr = StringIO()
18
+
19
+ def _ExpectedWarnings(self, expected):
20
+ """Compares recorded lines to expected warnings."""
21
+ self.stderr.seek(0)
22
+ actual = self.stderr.read().split("\n")
23
+ actual = [line for line in actual if line]
24
+ self.assertEqual(sorted(expected), sorted(actual))
25
+
26
+ def testValidateMSVSSettings_tool_names(self):
27
+ """Tests that only MSVS tool names are allowed."""
28
+ MSVSSettings.ValidateMSVSSettings(
29
+ {
30
+ "VCCLCompilerTool": {},
31
+ "VCLinkerTool": {},
32
+ "VCMIDLTool": {},
33
+ "foo": {},
34
+ "VCResourceCompilerTool": {},
35
+ "VCLibrarianTool": {},
36
+ "VCManifestTool": {},
37
+ "ClCompile": {},
38
+ },
39
+ self.stderr,
40
+ )
41
+ self._ExpectedWarnings(
42
+ ["Warning: unrecognized tool foo", "Warning: unrecognized tool ClCompile"]
43
+ )
44
+
45
+ def testValidateMSVSSettings_settings(self):
46
+ """Tests that for invalid MSVS settings."""
47
+ MSVSSettings.ValidateMSVSSettings(
48
+ {
49
+ "VCCLCompilerTool": {
50
+ "AdditionalIncludeDirectories": "folder1;folder2",
51
+ "AdditionalOptions": ["string1", "string2"],
52
+ "AdditionalUsingDirectories": "folder1;folder2",
53
+ "AssemblerListingLocation": "a_file_name",
54
+ "AssemblerOutput": "0",
55
+ "BasicRuntimeChecks": "5",
56
+ "BrowseInformation": "fdkslj",
57
+ "BrowseInformationFile": "a_file_name",
58
+ "BufferSecurityCheck": "true",
59
+ "CallingConvention": "-1",
60
+ "CompileAs": "1",
61
+ "DebugInformationFormat": "2",
62
+ "DefaultCharIsUnsigned": "true",
63
+ "Detect64BitPortabilityProblems": "true",
64
+ "DisableLanguageExtensions": "true",
65
+ "DisableSpecificWarnings": "string1;string2",
66
+ "EnableEnhancedInstructionSet": "1",
67
+ "EnableFiberSafeOptimizations": "true",
68
+ "EnableFunctionLevelLinking": "true",
69
+ "EnableIntrinsicFunctions": "true",
70
+ "EnablePREfast": "true",
71
+ "Enableprefast": "bogus",
72
+ "ErrorReporting": "1",
73
+ "ExceptionHandling": "1",
74
+ "ExpandAttributedSource": "true",
75
+ "FavorSizeOrSpeed": "1",
76
+ "FloatingPointExceptions": "true",
77
+ "FloatingPointModel": "1",
78
+ "ForceConformanceInForLoopScope": "true",
79
+ "ForcedIncludeFiles": "file1;file2",
80
+ "ForcedUsingFiles": "file1;file2",
81
+ "GeneratePreprocessedFile": "1",
82
+ "GenerateXMLDocumentationFiles": "true",
83
+ "IgnoreStandardIncludePath": "true",
84
+ "InlineFunctionExpansion": "1",
85
+ "KeepComments": "true",
86
+ "MinimalRebuild": "true",
87
+ "ObjectFile": "a_file_name",
88
+ "OmitDefaultLibName": "true",
89
+ "OmitFramePointers": "true",
90
+ "OpenMP": "true",
91
+ "Optimization": "1",
92
+ "PrecompiledHeaderFile": "a_file_name",
93
+ "PrecompiledHeaderThrough": "a_file_name",
94
+ "PreprocessorDefinitions": "string1;string2",
95
+ "ProgramDataBaseFileName": "a_file_name",
96
+ "RuntimeLibrary": "1",
97
+ "RuntimeTypeInfo": "true",
98
+ "ShowIncludes": "true",
99
+ "SmallerTypeCheck": "true",
100
+ "StringPooling": "true",
101
+ "StructMemberAlignment": "1",
102
+ "SuppressStartupBanner": "true",
103
+ "TreatWChar_tAsBuiltInType": "true",
104
+ "UndefineAllPreprocessorDefinitions": "true",
105
+ "UndefinePreprocessorDefinitions": "string1;string2",
106
+ "UseFullPaths": "true",
107
+ "UsePrecompiledHeader": "1",
108
+ "UseUnicodeResponseFiles": "true",
109
+ "WarnAsError": "true",
110
+ "WarningLevel": "1",
111
+ "WholeProgramOptimization": "true",
112
+ "XMLDocumentationFileName": "a_file_name",
113
+ "ZZXYZ": "bogus",
114
+ },
115
+ "VCLinkerTool": {
116
+ "AdditionalDependencies": "file1;file2",
117
+ "AdditionalDependencies_excluded": "file3",
118
+ "AdditionalLibraryDirectories": "folder1;folder2",
119
+ "AdditionalManifestDependencies": "file1;file2",
120
+ "AdditionalOptions": "a string1",
121
+ "AddModuleNamesToAssembly": "file1;file2",
122
+ "AllowIsolation": "true",
123
+ "AssemblyDebug": "2",
124
+ "AssemblyLinkResource": "file1;file2",
125
+ "BaseAddress": "a string1",
126
+ "CLRImageType": "2",
127
+ "CLRThreadAttribute": "2",
128
+ "CLRUnmanagedCodeCheck": "true",
129
+ "DataExecutionPrevention": "2",
130
+ "DelayLoadDLLs": "file1;file2",
131
+ "DelaySign": "true",
132
+ "Driver": "2",
133
+ "EmbedManagedResourceFile": "file1;file2",
134
+ "EnableCOMDATFolding": "2",
135
+ "EnableUAC": "true",
136
+ "EntryPointSymbol": "a string1",
137
+ "ErrorReporting": "2",
138
+ "FixedBaseAddress": "2",
139
+ "ForceSymbolReferences": "file1;file2",
140
+ "FunctionOrder": "a_file_name",
141
+ "GenerateDebugInformation": "true",
142
+ "GenerateManifest": "true",
143
+ "GenerateMapFile": "true",
144
+ "HeapCommitSize": "a string1",
145
+ "HeapReserveSize": "a string1",
146
+ "IgnoreAllDefaultLibraries": "true",
147
+ "IgnoreDefaultLibraryNames": "file1;file2",
148
+ "IgnoreEmbeddedIDL": "true",
149
+ "IgnoreImportLibrary": "true",
150
+ "ImportLibrary": "a_file_name",
151
+ "KeyContainer": "a_file_name",
152
+ "KeyFile": "a_file_name",
153
+ "LargeAddressAware": "2",
154
+ "LinkIncremental": "2",
155
+ "LinkLibraryDependencies": "true",
156
+ "LinkTimeCodeGeneration": "2",
157
+ "ManifestFile": "a_file_name",
158
+ "MapExports": "true",
159
+ "MapFileName": "a_file_name",
160
+ "MergedIDLBaseFileName": "a_file_name",
161
+ "MergeSections": "a string1",
162
+ "MidlCommandFile": "a_file_name",
163
+ "ModuleDefinitionFile": "a_file_name",
164
+ "OptimizeForWindows98": "1",
165
+ "OptimizeReferences": "2",
166
+ "OutputFile": "a_file_name",
167
+ "PerUserRedirection": "true",
168
+ "Profile": "true",
169
+ "ProfileGuidedDatabase": "a_file_name",
170
+ "ProgramDatabaseFile": "a_file_name",
171
+ "RandomizedBaseAddress": "2",
172
+ "RegisterOutput": "true",
173
+ "ResourceOnlyDLL": "true",
174
+ "SetChecksum": "true",
175
+ "ShowProgress": "2",
176
+ "StackCommitSize": "a string1",
177
+ "StackReserveSize": "a string1",
178
+ "StripPrivateSymbols": "a_file_name",
179
+ "SubSystem": "2",
180
+ "SupportUnloadOfDelayLoadedDLL": "true",
181
+ "SuppressStartupBanner": "true",
182
+ "SwapRunFromCD": "true",
183
+ "SwapRunFromNet": "true",
184
+ "TargetMachine": "2",
185
+ "TerminalServerAware": "2",
186
+ "TurnOffAssemblyGeneration": "true",
187
+ "TypeLibraryFile": "a_file_name",
188
+ "TypeLibraryResourceID": "33",
189
+ "UACExecutionLevel": "2",
190
+ "UACUIAccess": "true",
191
+ "UseLibraryDependencyInputs": "true",
192
+ "UseUnicodeResponseFiles": "true",
193
+ "Version": "a string1",
194
+ },
195
+ "VCMIDLTool": {
196
+ "AdditionalIncludeDirectories": "folder1;folder2",
197
+ "AdditionalOptions": "a string1",
198
+ "CPreprocessOptions": "a string1",
199
+ "DefaultCharType": "1",
200
+ "DLLDataFileName": "a_file_name",
201
+ "EnableErrorChecks": "1",
202
+ "ErrorCheckAllocations": "true",
203
+ "ErrorCheckBounds": "true",
204
+ "ErrorCheckEnumRange": "true",
205
+ "ErrorCheckRefPointers": "true",
206
+ "ErrorCheckStubData": "true",
207
+ "GenerateStublessProxies": "true",
208
+ "GenerateTypeLibrary": "true",
209
+ "HeaderFileName": "a_file_name",
210
+ "IgnoreStandardIncludePath": "true",
211
+ "InterfaceIdentifierFileName": "a_file_name",
212
+ "MkTypLibCompatible": "true",
213
+ "notgood": "bogus",
214
+ "OutputDirectory": "a string1",
215
+ "PreprocessorDefinitions": "string1;string2",
216
+ "ProxyFileName": "a_file_name",
217
+ "RedirectOutputAndErrors": "a_file_name",
218
+ "StructMemberAlignment": "1",
219
+ "SuppressStartupBanner": "true",
220
+ "TargetEnvironment": "1",
221
+ "TypeLibraryName": "a_file_name",
222
+ "UndefinePreprocessorDefinitions": "string1;string2",
223
+ "ValidateParameters": "true",
224
+ "WarnAsError": "true",
225
+ "WarningLevel": "1",
226
+ },
227
+ "VCResourceCompilerTool": {
228
+ "AdditionalOptions": "a string1",
229
+ "AdditionalIncludeDirectories": "folder1;folder2",
230
+ "Culture": "1003",
231
+ "IgnoreStandardIncludePath": "true",
232
+ "notgood2": "bogus",
233
+ "PreprocessorDefinitions": "string1;string2",
234
+ "ResourceOutputFileName": "a string1",
235
+ "ShowProgress": "true",
236
+ "SuppressStartupBanner": "true",
237
+ "UndefinePreprocessorDefinitions": "string1;string2",
238
+ },
239
+ "VCLibrarianTool": {
240
+ "AdditionalDependencies": "file1;file2",
241
+ "AdditionalLibraryDirectories": "folder1;folder2",
242
+ "AdditionalOptions": "a string1",
243
+ "ExportNamedFunctions": "string1;string2",
244
+ "ForceSymbolReferences": "a string1",
245
+ "IgnoreAllDefaultLibraries": "true",
246
+ "IgnoreSpecificDefaultLibraries": "file1;file2",
247
+ "LinkLibraryDependencies": "true",
248
+ "ModuleDefinitionFile": "a_file_name",
249
+ "OutputFile": "a_file_name",
250
+ "SuppressStartupBanner": "true",
251
+ "UseUnicodeResponseFiles": "true",
252
+ },
253
+ "VCManifestTool": {
254
+ "AdditionalManifestFiles": "file1;file2",
255
+ "AdditionalOptions": "a string1",
256
+ "AssemblyIdentity": "a string1",
257
+ "ComponentFileName": "a_file_name",
258
+ "DependencyInformationFile": "a_file_name",
259
+ "GenerateCatalogFiles": "true",
260
+ "InputResourceManifests": "a string1",
261
+ "ManifestResourceFile": "a_file_name",
262
+ "OutputManifestFile": "a_file_name",
263
+ "RegistrarScriptFile": "a_file_name",
264
+ "ReplacementsFile": "a_file_name",
265
+ "SuppressStartupBanner": "true",
266
+ "TypeLibraryFile": "a_file_name",
267
+ "UpdateFileHashes": "truel",
268
+ "UpdateFileHashesSearchPath": "a_file_name",
269
+ "UseFAT32Workaround": "true",
270
+ "UseUnicodeResponseFiles": "true",
271
+ "VerboseOutput": "true",
272
+ },
273
+ },
274
+ self.stderr,
275
+ )
276
+ self._ExpectedWarnings(
277
+ [
278
+ "Warning: for VCCLCompilerTool/BasicRuntimeChecks, "
279
+ "index value (5) not in expected range [0, 4)",
280
+ "Warning: for VCCLCompilerTool/BrowseInformation, "
281
+ "invalid literal for int() with base 10: 'fdkslj'",
282
+ "Warning: for VCCLCompilerTool/CallingConvention, "
283
+ "index value (-1) not in expected range [0, 4)",
284
+ "Warning: for VCCLCompilerTool/DebugInformationFormat, "
285
+ "converted value for 2 not specified.",
286
+ "Warning: unrecognized setting VCCLCompilerTool/Enableprefast",
287
+ "Warning: unrecognized setting VCCLCompilerTool/ZZXYZ",
288
+ "Warning: for VCLinkerTool/TargetMachine, "
289
+ "converted value for 2 not specified.",
290
+ "Warning: unrecognized setting VCMIDLTool/notgood",
291
+ "Warning: unrecognized setting VCResourceCompilerTool/notgood2",
292
+ "Warning: for VCManifestTool/UpdateFileHashes, "
293
+ "expected bool; got 'truel'"
294
+ "",
295
+ ]
296
+ )
297
+
298
+ def testValidateMSBuildSettings_settings(self):
299
+ """Tests that for invalid MSBuild settings."""
300
+ MSVSSettings.ValidateMSBuildSettings(
301
+ {
302
+ "ClCompile": {
303
+ "AdditionalIncludeDirectories": "folder1;folder2",
304
+ "AdditionalOptions": ["string1", "string2"],
305
+ "AdditionalUsingDirectories": "folder1;folder2",
306
+ "AssemblerListingLocation": "a_file_name",
307
+ "AssemblerOutput": "NoListing",
308
+ "BasicRuntimeChecks": "StackFrameRuntimeCheck",
309
+ "BrowseInformation": "false",
310
+ "BrowseInformationFile": "a_file_name",
311
+ "BufferSecurityCheck": "true",
312
+ "BuildingInIDE": "true",
313
+ "CallingConvention": "Cdecl",
314
+ "CompileAs": "CompileAsC",
315
+ "CompileAsManaged": "true",
316
+ "CreateHotpatchableImage": "true",
317
+ "DebugInformationFormat": "ProgramDatabase",
318
+ "DisableLanguageExtensions": "true",
319
+ "DisableSpecificWarnings": "string1;string2",
320
+ "EnableEnhancedInstructionSet": "StreamingSIMDExtensions",
321
+ "EnableFiberSafeOptimizations": "true",
322
+ "EnablePREfast": "true",
323
+ "Enableprefast": "bogus",
324
+ "ErrorReporting": "Prompt",
325
+ "ExceptionHandling": "SyncCThrow",
326
+ "ExpandAttributedSource": "true",
327
+ "FavorSizeOrSpeed": "Neither",
328
+ "FloatingPointExceptions": "true",
329
+ "FloatingPointModel": "Precise",
330
+ "ForceConformanceInForLoopScope": "true",
331
+ "ForcedIncludeFiles": "file1;file2",
332
+ "ForcedUsingFiles": "file1;file2",
333
+ "FunctionLevelLinking": "false",
334
+ "GenerateXMLDocumentationFiles": "true",
335
+ "IgnoreStandardIncludePath": "true",
336
+ "InlineFunctionExpansion": "OnlyExplicitInline",
337
+ "IntrinsicFunctions": "false",
338
+ "MinimalRebuild": "true",
339
+ "MultiProcessorCompilation": "true",
340
+ "ObjectFileName": "a_file_name",
341
+ "OmitDefaultLibName": "true",
342
+ "OmitFramePointers": "true",
343
+ "OpenMPSupport": "true",
344
+ "Optimization": "Disabled",
345
+ "PrecompiledHeader": "NotUsing",
346
+ "PrecompiledHeaderFile": "a_file_name",
347
+ "PrecompiledHeaderOutputFile": "a_file_name",
348
+ "PreprocessKeepComments": "true",
349
+ "PreprocessorDefinitions": "string1;string2",
350
+ "PreprocessOutputPath": "a string1",
351
+ "PreprocessSuppressLineNumbers": "false",
352
+ "PreprocessToFile": "false",
353
+ "ProcessorNumber": "33",
354
+ "ProgramDataBaseFileName": "a_file_name",
355
+ "RuntimeLibrary": "MultiThreaded",
356
+ "RuntimeTypeInfo": "true",
357
+ "ShowIncludes": "true",
358
+ "SmallerTypeCheck": "true",
359
+ "StringPooling": "true",
360
+ "StructMemberAlignment": "1Byte",
361
+ "SuppressStartupBanner": "true",
362
+ "TrackerLogDirectory": "a_folder",
363
+ "TreatSpecificWarningsAsErrors": "string1;string2",
364
+ "TreatWarningAsError": "true",
365
+ "TreatWChar_tAsBuiltInType": "true",
366
+ "UndefineAllPreprocessorDefinitions": "true",
367
+ "UndefinePreprocessorDefinitions": "string1;string2",
368
+ "UseFullPaths": "true",
369
+ "UseUnicodeForAssemblerListing": "true",
370
+ "WarningLevel": "TurnOffAllWarnings",
371
+ "WholeProgramOptimization": "true",
372
+ "XMLDocumentationFileName": "a_file_name",
373
+ "ZZXYZ": "bogus",
374
+ },
375
+ "Link": {
376
+ "AdditionalDependencies": "file1;file2",
377
+ "AdditionalLibraryDirectories": "folder1;folder2",
378
+ "AdditionalManifestDependencies": "file1;file2",
379
+ "AdditionalOptions": "a string1",
380
+ "AddModuleNamesToAssembly": "file1;file2",
381
+ "AllowIsolation": "true",
382
+ "AssemblyDebug": "",
383
+ "AssemblyLinkResource": "file1;file2",
384
+ "BaseAddress": "a string1",
385
+ "BuildingInIDE": "true",
386
+ "CLRImageType": "ForceIJWImage",
387
+ "CLRSupportLastError": "Enabled",
388
+ "CLRThreadAttribute": "MTAThreadingAttribute",
389
+ "CLRUnmanagedCodeCheck": "true",
390
+ "CreateHotPatchableImage": "X86Image",
391
+ "DataExecutionPrevention": "false",
392
+ "DelayLoadDLLs": "file1;file2",
393
+ "DelaySign": "true",
394
+ "Driver": "NotSet",
395
+ "EmbedManagedResourceFile": "file1;file2",
396
+ "EnableCOMDATFolding": "false",
397
+ "EnableUAC": "true",
398
+ "EntryPointSymbol": "a string1",
399
+ "FixedBaseAddress": "false",
400
+ "ForceFileOutput": "Enabled",
401
+ "ForceSymbolReferences": "file1;file2",
402
+ "FunctionOrder": "a_file_name",
403
+ "GenerateDebugInformation": "true",
404
+ "GenerateMapFile": "true",
405
+ "HeapCommitSize": "a string1",
406
+ "HeapReserveSize": "a string1",
407
+ "IgnoreAllDefaultLibraries": "true",
408
+ "IgnoreEmbeddedIDL": "true",
409
+ "IgnoreSpecificDefaultLibraries": "a_file_list",
410
+ "ImageHasSafeExceptionHandlers": "true",
411
+ "ImportLibrary": "a_file_name",
412
+ "KeyContainer": "a_file_name",
413
+ "KeyFile": "a_file_name",
414
+ "LargeAddressAware": "false",
415
+ "LinkDLL": "true",
416
+ "LinkErrorReporting": "SendErrorReport",
417
+ "LinkStatus": "true",
418
+ "LinkTimeCodeGeneration": "UseLinkTimeCodeGeneration",
419
+ "ManifestFile": "a_file_name",
420
+ "MapExports": "true",
421
+ "MapFileName": "a_file_name",
422
+ "MergedIDLBaseFileName": "a_file_name",
423
+ "MergeSections": "a string1",
424
+ "MidlCommandFile": "a_file_name",
425
+ "MinimumRequiredVersion": "a string1",
426
+ "ModuleDefinitionFile": "a_file_name",
427
+ "MSDOSStubFileName": "a_file_name",
428
+ "NoEntryPoint": "true",
429
+ "OptimizeReferences": "false",
430
+ "OutputFile": "a_file_name",
431
+ "PerUserRedirection": "true",
432
+ "PreventDllBinding": "true",
433
+ "Profile": "true",
434
+ "ProfileGuidedDatabase": "a_file_name",
435
+ "ProgramDatabaseFile": "a_file_name",
436
+ "RandomizedBaseAddress": "false",
437
+ "RegisterOutput": "true",
438
+ "SectionAlignment": "33",
439
+ "SetChecksum": "true",
440
+ "ShowProgress": "LinkVerboseREF",
441
+ "SpecifySectionAttributes": "a string1",
442
+ "StackCommitSize": "a string1",
443
+ "StackReserveSize": "a string1",
444
+ "StripPrivateSymbols": "a_file_name",
445
+ "SubSystem": "Console",
446
+ "SupportNobindOfDelayLoadedDLL": "true",
447
+ "SupportUnloadOfDelayLoadedDLL": "true",
448
+ "SuppressStartupBanner": "true",
449
+ "SwapRunFromCD": "true",
450
+ "SwapRunFromNET": "true",
451
+ "TargetMachine": "MachineX86",
452
+ "TerminalServerAware": "false",
453
+ "TrackerLogDirectory": "a_folder",
454
+ "TreatLinkerWarningAsErrors": "true",
455
+ "TurnOffAssemblyGeneration": "true",
456
+ "TypeLibraryFile": "a_file_name",
457
+ "TypeLibraryResourceID": "33",
458
+ "UACExecutionLevel": "AsInvoker",
459
+ "UACUIAccess": "true",
460
+ "Version": "a string1",
461
+ },
462
+ "ResourceCompile": {
463
+ "AdditionalIncludeDirectories": "folder1;folder2",
464
+ "AdditionalOptions": "a string1",
465
+ "Culture": "0x236",
466
+ "IgnoreStandardIncludePath": "true",
467
+ "NullTerminateStrings": "true",
468
+ "PreprocessorDefinitions": "string1;string2",
469
+ "ResourceOutputFileName": "a string1",
470
+ "ShowProgress": "true",
471
+ "SuppressStartupBanner": "true",
472
+ "TrackerLogDirectory": "a_folder",
473
+ "UndefinePreprocessorDefinitions": "string1;string2",
474
+ },
475
+ "Midl": {
476
+ "AdditionalIncludeDirectories": "folder1;folder2",
477
+ "AdditionalOptions": "a string1",
478
+ "ApplicationConfigurationMode": "true",
479
+ "ClientStubFile": "a_file_name",
480
+ "CPreprocessOptions": "a string1",
481
+ "DefaultCharType": "Signed",
482
+ "DllDataFileName": "a_file_name",
483
+ "EnableErrorChecks": "EnableCustom",
484
+ "ErrorCheckAllocations": "true",
485
+ "ErrorCheckBounds": "true",
486
+ "ErrorCheckEnumRange": "true",
487
+ "ErrorCheckRefPointers": "true",
488
+ "ErrorCheckStubData": "true",
489
+ "GenerateClientFiles": "Stub",
490
+ "GenerateServerFiles": "None",
491
+ "GenerateStublessProxies": "true",
492
+ "GenerateTypeLibrary": "true",
493
+ "HeaderFileName": "a_file_name",
494
+ "IgnoreStandardIncludePath": "true",
495
+ "InterfaceIdentifierFileName": "a_file_name",
496
+ "LocaleID": "33",
497
+ "MkTypLibCompatible": "true",
498
+ "OutputDirectory": "a string1",
499
+ "PreprocessorDefinitions": "string1;string2",
500
+ "ProxyFileName": "a_file_name",
501
+ "RedirectOutputAndErrors": "a_file_name",
502
+ "ServerStubFile": "a_file_name",
503
+ "StructMemberAlignment": "NotSet",
504
+ "SuppressCompilerWarnings": "true",
505
+ "SuppressStartupBanner": "true",
506
+ "TargetEnvironment": "Itanium",
507
+ "TrackerLogDirectory": "a_folder",
508
+ "TypeLibFormat": "NewFormat",
509
+ "TypeLibraryName": "a_file_name",
510
+ "UndefinePreprocessorDefinitions": "string1;string2",
511
+ "ValidateAllParameters": "true",
512
+ "WarnAsError": "true",
513
+ "WarningLevel": "1",
514
+ },
515
+ "Lib": {
516
+ "AdditionalDependencies": "file1;file2",
517
+ "AdditionalLibraryDirectories": "folder1;folder2",
518
+ "AdditionalOptions": "a string1",
519
+ "DisplayLibrary": "a string1",
520
+ "ErrorReporting": "PromptImmediately",
521
+ "ExportNamedFunctions": "string1;string2",
522
+ "ForceSymbolReferences": "a string1",
523
+ "IgnoreAllDefaultLibraries": "true",
524
+ "IgnoreSpecificDefaultLibraries": "file1;file2",
525
+ "LinkTimeCodeGeneration": "true",
526
+ "MinimumRequiredVersion": "a string1",
527
+ "ModuleDefinitionFile": "a_file_name",
528
+ "Name": "a_file_name",
529
+ "OutputFile": "a_file_name",
530
+ "RemoveObjects": "file1;file2",
531
+ "SubSystem": "Console",
532
+ "SuppressStartupBanner": "true",
533
+ "TargetMachine": "MachineX86i",
534
+ "TrackerLogDirectory": "a_folder",
535
+ "TreatLibWarningAsErrors": "true",
536
+ "UseUnicodeResponseFiles": "true",
537
+ "Verbose": "true",
538
+ },
539
+ "Manifest": {
540
+ "AdditionalManifestFiles": "file1;file2",
541
+ "AdditionalOptions": "a string1",
542
+ "AssemblyIdentity": "a string1",
543
+ "ComponentFileName": "a_file_name",
544
+ "EnableDPIAwareness": "fal",
545
+ "GenerateCatalogFiles": "truel",
546
+ "GenerateCategoryTags": "true",
547
+ "InputResourceManifests": "a string1",
548
+ "ManifestFromManagedAssembly": "a_file_name",
549
+ "notgood3": "bogus",
550
+ "OutputManifestFile": "a_file_name",
551
+ "OutputResourceManifests": "a string1",
552
+ "RegistrarScriptFile": "a_file_name",
553
+ "ReplacementsFile": "a_file_name",
554
+ "SuppressDependencyElement": "true",
555
+ "SuppressStartupBanner": "true",
556
+ "TrackerLogDirectory": "a_folder",
557
+ "TypeLibraryFile": "a_file_name",
558
+ "UpdateFileHashes": "true",
559
+ "UpdateFileHashesSearchPath": "a_file_name",
560
+ "VerboseOutput": "true",
561
+ },
562
+ "ProjectReference": {
563
+ "LinkLibraryDependencies": "true",
564
+ "UseLibraryDependencyInputs": "true",
565
+ },
566
+ "ManifestResourceCompile": {"ResourceOutputFileName": "a_file_name"},
567
+ "": {
568
+ "EmbedManifest": "true",
569
+ "GenerateManifest": "true",
570
+ "IgnoreImportLibrary": "true",
571
+ "LinkIncremental": "false",
572
+ },
573
+ },
574
+ self.stderr,
575
+ )
576
+ self._ExpectedWarnings(
577
+ [
578
+ "Warning: unrecognized setting ClCompile/Enableprefast",
579
+ "Warning: unrecognized setting ClCompile/ZZXYZ",
580
+ "Warning: unrecognized setting Manifest/notgood3",
581
+ "Warning: for Manifest/GenerateCatalogFiles, "
582
+ "expected bool; got 'truel'",
583
+ "Warning: for Lib/TargetMachine, unrecognized enumerated value "
584
+ "MachineX86i",
585
+ "Warning: for Manifest/EnableDPIAwareness, expected bool; got 'fal'",
586
+ ]
587
+ )
588
+
589
+ def testConvertToMSBuildSettings_empty(self):
590
+ """Tests an empty conversion."""
591
+ msvs_settings = {}
592
+ expected_msbuild_settings = {}
593
+ actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(
594
+ msvs_settings, self.stderr
595
+ )
596
+ self.assertEqual(expected_msbuild_settings, actual_msbuild_settings)
597
+ self._ExpectedWarnings([])
598
+
599
+ def testConvertToMSBuildSettings_minimal(self):
600
+ """Tests a minimal conversion."""
601
+ msvs_settings = {
602
+ "VCCLCompilerTool": {
603
+ "AdditionalIncludeDirectories": "dir1",
604
+ "AdditionalOptions": "/foo",
605
+ "BasicRuntimeChecks": "0",
606
+ },
607
+ "VCLinkerTool": {
608
+ "LinkTimeCodeGeneration": "1",
609
+ "ErrorReporting": "1",
610
+ "DataExecutionPrevention": "2",
611
+ },
612
+ }
613
+ expected_msbuild_settings = {
614
+ "ClCompile": {
615
+ "AdditionalIncludeDirectories": "dir1",
616
+ "AdditionalOptions": "/foo",
617
+ "BasicRuntimeChecks": "Default",
618
+ },
619
+ "Link": {
620
+ "LinkTimeCodeGeneration": "UseLinkTimeCodeGeneration",
621
+ "LinkErrorReporting": "PromptImmediately",
622
+ "DataExecutionPrevention": "true",
623
+ },
624
+ }
625
+ actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(
626
+ msvs_settings, self.stderr
627
+ )
628
+ self.assertEqual(expected_msbuild_settings, actual_msbuild_settings)
629
+ self._ExpectedWarnings([])
630
+
631
+ def testConvertToMSBuildSettings_warnings(self):
632
+ """Tests conversion that generates warnings."""
633
+ msvs_settings = {
634
+ "VCCLCompilerTool": {
635
+ "AdditionalIncludeDirectories": "1",
636
+ "AdditionalOptions": "2",
637
+ # These are incorrect values:
638
+ "BasicRuntimeChecks": "12",
639
+ "BrowseInformation": "21",
640
+ "UsePrecompiledHeader": "13",
641
+ "GeneratePreprocessedFile": "14",
642
+ },
643
+ "VCLinkerTool": {
644
+ # These are incorrect values:
645
+ "Driver": "10",
646
+ "LinkTimeCodeGeneration": "31",
647
+ "ErrorReporting": "21",
648
+ "FixedBaseAddress": "6",
649
+ },
650
+ "VCResourceCompilerTool": {
651
+ # Custom
652
+ "Culture": "1003"
653
+ },
654
+ }
655
+ expected_msbuild_settings = {
656
+ "ClCompile": {
657
+ "AdditionalIncludeDirectories": "1",
658
+ "AdditionalOptions": "2",
659
+ },
660
+ "Link": {},
661
+ "ResourceCompile": {
662
+ # Custom
663
+ "Culture": "0x03eb"
664
+ },
665
+ }
666
+ actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(
667
+ msvs_settings, self.stderr
668
+ )
669
+ self.assertEqual(expected_msbuild_settings, actual_msbuild_settings)
670
+ self._ExpectedWarnings(
671
+ [
672
+ "Warning: while converting VCCLCompilerTool/BasicRuntimeChecks to "
673
+ "MSBuild, index value (12) not in expected range [0, 4)",
674
+ "Warning: while converting VCCLCompilerTool/BrowseInformation to "
675
+ "MSBuild, index value (21) not in expected range [0, 3)",
676
+ "Warning: while converting VCCLCompilerTool/UsePrecompiledHeader to "
677
+ "MSBuild, index value (13) not in expected range [0, 3)",
678
+ "Warning: while converting "
679
+ "VCCLCompilerTool/GeneratePreprocessedFile to "
680
+ "MSBuild, value must be one of [0, 1, 2]; got 14",
681
+ "Warning: while converting VCLinkerTool/Driver to "
682
+ "MSBuild, index value (10) not in expected range [0, 4)",
683
+ "Warning: while converting VCLinkerTool/LinkTimeCodeGeneration to "
684
+ "MSBuild, index value (31) not in expected range [0, 5)",
685
+ "Warning: while converting VCLinkerTool/ErrorReporting to "
686
+ "MSBuild, index value (21) not in expected range [0, 3)",
687
+ "Warning: while converting VCLinkerTool/FixedBaseAddress to "
688
+ "MSBuild, index value (6) not in expected range [0, 3)",
689
+ ]
690
+ )
691
+
692
+ def testConvertToMSBuildSettings_full_synthetic(self):
693
+ """Tests conversion of all the MSBuild settings."""
694
+ msvs_settings = {
695
+ "VCCLCompilerTool": {
696
+ "AdditionalIncludeDirectories": "folder1;folder2;folder3",
697
+ "AdditionalOptions": "a_string",
698
+ "AdditionalUsingDirectories": "folder1;folder2;folder3",
699
+ "AssemblerListingLocation": "a_file_name",
700
+ "AssemblerOutput": "0",
701
+ "BasicRuntimeChecks": "1",
702
+ "BrowseInformation": "2",
703
+ "BrowseInformationFile": "a_file_name",
704
+ "BufferSecurityCheck": "true",
705
+ "CallingConvention": "0",
706
+ "CompileAs": "1",
707
+ "DebugInformationFormat": "4",
708
+ "DefaultCharIsUnsigned": "true",
709
+ "Detect64BitPortabilityProblems": "true",
710
+ "DisableLanguageExtensions": "true",
711
+ "DisableSpecificWarnings": "d1;d2;d3",
712
+ "EnableEnhancedInstructionSet": "0",
713
+ "EnableFiberSafeOptimizations": "true",
714
+ "EnableFunctionLevelLinking": "true",
715
+ "EnableIntrinsicFunctions": "true",
716
+ "EnablePREfast": "true",
717
+ "ErrorReporting": "1",
718
+ "ExceptionHandling": "2",
719
+ "ExpandAttributedSource": "true",
720
+ "FavorSizeOrSpeed": "0",
721
+ "FloatingPointExceptions": "true",
722
+ "FloatingPointModel": "1",
723
+ "ForceConformanceInForLoopScope": "true",
724
+ "ForcedIncludeFiles": "file1;file2;file3",
725
+ "ForcedUsingFiles": "file1;file2;file3",
726
+ "GeneratePreprocessedFile": "1",
727
+ "GenerateXMLDocumentationFiles": "true",
728
+ "IgnoreStandardIncludePath": "true",
729
+ "InlineFunctionExpansion": "2",
730
+ "KeepComments": "true",
731
+ "MinimalRebuild": "true",
732
+ "ObjectFile": "a_file_name",
733
+ "OmitDefaultLibName": "true",
734
+ "OmitFramePointers": "true",
735
+ "OpenMP": "true",
736
+ "Optimization": "3",
737
+ "PrecompiledHeaderFile": "a_file_name",
738
+ "PrecompiledHeaderThrough": "a_file_name",
739
+ "PreprocessorDefinitions": "d1;d2;d3",
740
+ "ProgramDataBaseFileName": "a_file_name",
741
+ "RuntimeLibrary": "0",
742
+ "RuntimeTypeInfo": "true",
743
+ "ShowIncludes": "true",
744
+ "SmallerTypeCheck": "true",
745
+ "StringPooling": "true",
746
+ "StructMemberAlignment": "1",
747
+ "SuppressStartupBanner": "true",
748
+ "TreatWChar_tAsBuiltInType": "true",
749
+ "UndefineAllPreprocessorDefinitions": "true",
750
+ "UndefinePreprocessorDefinitions": "d1;d2;d3",
751
+ "UseFullPaths": "true",
752
+ "UsePrecompiledHeader": "1",
753
+ "UseUnicodeResponseFiles": "true",
754
+ "WarnAsError": "true",
755
+ "WarningLevel": "2",
756
+ "WholeProgramOptimization": "true",
757
+ "XMLDocumentationFileName": "a_file_name",
758
+ },
759
+ "VCLinkerTool": {
760
+ "AdditionalDependencies": "file1;file2;file3",
761
+ "AdditionalLibraryDirectories": "folder1;folder2;folder3",
762
+ "AdditionalLibraryDirectories_excluded": "folder1;folder2;folder3",
763
+ "AdditionalManifestDependencies": "file1;file2;file3",
764
+ "AdditionalOptions": "a_string",
765
+ "AddModuleNamesToAssembly": "file1;file2;file3",
766
+ "AllowIsolation": "true",
767
+ "AssemblyDebug": "0",
768
+ "AssemblyLinkResource": "file1;file2;file3",
769
+ "BaseAddress": "a_string",
770
+ "CLRImageType": "1",
771
+ "CLRThreadAttribute": "2",
772
+ "CLRUnmanagedCodeCheck": "true",
773
+ "DataExecutionPrevention": "0",
774
+ "DelayLoadDLLs": "file1;file2;file3",
775
+ "DelaySign": "true",
776
+ "Driver": "1",
777
+ "EmbedManagedResourceFile": "file1;file2;file3",
778
+ "EnableCOMDATFolding": "0",
779
+ "EnableUAC": "true",
780
+ "EntryPointSymbol": "a_string",
781
+ "ErrorReporting": "0",
782
+ "FixedBaseAddress": "1",
783
+ "ForceSymbolReferences": "file1;file2;file3",
784
+ "FunctionOrder": "a_file_name",
785
+ "GenerateDebugInformation": "true",
786
+ "GenerateManifest": "true",
787
+ "GenerateMapFile": "true",
788
+ "HeapCommitSize": "a_string",
789
+ "HeapReserveSize": "a_string",
790
+ "IgnoreAllDefaultLibraries": "true",
791
+ "IgnoreDefaultLibraryNames": "file1;file2;file3",
792
+ "IgnoreEmbeddedIDL": "true",
793
+ "IgnoreImportLibrary": "true",
794
+ "ImportLibrary": "a_file_name",
795
+ "KeyContainer": "a_file_name",
796
+ "KeyFile": "a_file_name",
797
+ "LargeAddressAware": "2",
798
+ "LinkIncremental": "1",
799
+ "LinkLibraryDependencies": "true",
800
+ "LinkTimeCodeGeneration": "2",
801
+ "ManifestFile": "a_file_name",
802
+ "MapExports": "true",
803
+ "MapFileName": "a_file_name",
804
+ "MergedIDLBaseFileName": "a_file_name",
805
+ "MergeSections": "a_string",
806
+ "MidlCommandFile": "a_file_name",
807
+ "ModuleDefinitionFile": "a_file_name",
808
+ "OptimizeForWindows98": "1",
809
+ "OptimizeReferences": "0",
810
+ "OutputFile": "a_file_name",
811
+ "PerUserRedirection": "true",
812
+ "Profile": "true",
813
+ "ProfileGuidedDatabase": "a_file_name",
814
+ "ProgramDatabaseFile": "a_file_name",
815
+ "RandomizedBaseAddress": "1",
816
+ "RegisterOutput": "true",
817
+ "ResourceOnlyDLL": "true",
818
+ "SetChecksum": "true",
819
+ "ShowProgress": "0",
820
+ "StackCommitSize": "a_string",
821
+ "StackReserveSize": "a_string",
822
+ "StripPrivateSymbols": "a_file_name",
823
+ "SubSystem": "2",
824
+ "SupportUnloadOfDelayLoadedDLL": "true",
825
+ "SuppressStartupBanner": "true",
826
+ "SwapRunFromCD": "true",
827
+ "SwapRunFromNet": "true",
828
+ "TargetMachine": "3",
829
+ "TerminalServerAware": "2",
830
+ "TurnOffAssemblyGeneration": "true",
831
+ "TypeLibraryFile": "a_file_name",
832
+ "TypeLibraryResourceID": "33",
833
+ "UACExecutionLevel": "1",
834
+ "UACUIAccess": "true",
835
+ "UseLibraryDependencyInputs": "false",
836
+ "UseUnicodeResponseFiles": "true",
837
+ "Version": "a_string",
838
+ },
839
+ "VCResourceCompilerTool": {
840
+ "AdditionalIncludeDirectories": "folder1;folder2;folder3",
841
+ "AdditionalOptions": "a_string",
842
+ "Culture": "1003",
843
+ "IgnoreStandardIncludePath": "true",
844
+ "PreprocessorDefinitions": "d1;d2;d3",
845
+ "ResourceOutputFileName": "a_string",
846
+ "ShowProgress": "true",
847
+ "SuppressStartupBanner": "true",
848
+ "UndefinePreprocessorDefinitions": "d1;d2;d3",
849
+ },
850
+ "VCMIDLTool": {
851
+ "AdditionalIncludeDirectories": "folder1;folder2;folder3",
852
+ "AdditionalOptions": "a_string",
853
+ "CPreprocessOptions": "a_string",
854
+ "DefaultCharType": "0",
855
+ "DLLDataFileName": "a_file_name",
856
+ "EnableErrorChecks": "2",
857
+ "ErrorCheckAllocations": "true",
858
+ "ErrorCheckBounds": "true",
859
+ "ErrorCheckEnumRange": "true",
860
+ "ErrorCheckRefPointers": "true",
861
+ "ErrorCheckStubData": "true",
862
+ "GenerateStublessProxies": "true",
863
+ "GenerateTypeLibrary": "true",
864
+ "HeaderFileName": "a_file_name",
865
+ "IgnoreStandardIncludePath": "true",
866
+ "InterfaceIdentifierFileName": "a_file_name",
867
+ "MkTypLibCompatible": "true",
868
+ "OutputDirectory": "a_string",
869
+ "PreprocessorDefinitions": "d1;d2;d3",
870
+ "ProxyFileName": "a_file_name",
871
+ "RedirectOutputAndErrors": "a_file_name",
872
+ "StructMemberAlignment": "3",
873
+ "SuppressStartupBanner": "true",
874
+ "TargetEnvironment": "1",
875
+ "TypeLibraryName": "a_file_name",
876
+ "UndefinePreprocessorDefinitions": "d1;d2;d3",
877
+ "ValidateParameters": "true",
878
+ "WarnAsError": "true",
879
+ "WarningLevel": "4",
880
+ },
881
+ "VCLibrarianTool": {
882
+ "AdditionalDependencies": "file1;file2;file3",
883
+ "AdditionalLibraryDirectories": "folder1;folder2;folder3",
884
+ "AdditionalLibraryDirectories_excluded": "folder1;folder2;folder3",
885
+ "AdditionalOptions": "a_string",
886
+ "ExportNamedFunctions": "d1;d2;d3",
887
+ "ForceSymbolReferences": "a_string",
888
+ "IgnoreAllDefaultLibraries": "true",
889
+ "IgnoreSpecificDefaultLibraries": "file1;file2;file3",
890
+ "LinkLibraryDependencies": "true",
891
+ "ModuleDefinitionFile": "a_file_name",
892
+ "OutputFile": "a_file_name",
893
+ "SuppressStartupBanner": "true",
894
+ "UseUnicodeResponseFiles": "true",
895
+ },
896
+ "VCManifestTool": {
897
+ "AdditionalManifestFiles": "file1;file2;file3",
898
+ "AdditionalOptions": "a_string",
899
+ "AssemblyIdentity": "a_string",
900
+ "ComponentFileName": "a_file_name",
901
+ "DependencyInformationFile": "a_file_name",
902
+ "EmbedManifest": "true",
903
+ "GenerateCatalogFiles": "true",
904
+ "InputResourceManifests": "a_string",
905
+ "ManifestResourceFile": "my_name",
906
+ "OutputManifestFile": "a_file_name",
907
+ "RegistrarScriptFile": "a_file_name",
908
+ "ReplacementsFile": "a_file_name",
909
+ "SuppressStartupBanner": "true",
910
+ "TypeLibraryFile": "a_file_name",
911
+ "UpdateFileHashes": "true",
912
+ "UpdateFileHashesSearchPath": "a_file_name",
913
+ "UseFAT32Workaround": "true",
914
+ "UseUnicodeResponseFiles": "true",
915
+ "VerboseOutput": "true",
916
+ },
917
+ }
918
+ expected_msbuild_settings = {
919
+ "ClCompile": {
920
+ "AdditionalIncludeDirectories": "folder1;folder2;folder3",
921
+ "AdditionalOptions": "a_string /J",
922
+ "AdditionalUsingDirectories": "folder1;folder2;folder3",
923
+ "AssemblerListingLocation": "a_file_name",
924
+ "AssemblerOutput": "NoListing",
925
+ "BasicRuntimeChecks": "StackFrameRuntimeCheck",
926
+ "BrowseInformation": "true",
927
+ "BrowseInformationFile": "a_file_name",
928
+ "BufferSecurityCheck": "true",
929
+ "CallingConvention": "Cdecl",
930
+ "CompileAs": "CompileAsC",
931
+ "DebugInformationFormat": "EditAndContinue",
932
+ "DisableLanguageExtensions": "true",
933
+ "DisableSpecificWarnings": "d1;d2;d3",
934
+ "EnableEnhancedInstructionSet": "NotSet",
935
+ "EnableFiberSafeOptimizations": "true",
936
+ "EnablePREfast": "true",
937
+ "ErrorReporting": "Prompt",
938
+ "ExceptionHandling": "Async",
939
+ "ExpandAttributedSource": "true",
940
+ "FavorSizeOrSpeed": "Neither",
941
+ "FloatingPointExceptions": "true",
942
+ "FloatingPointModel": "Strict",
943
+ "ForceConformanceInForLoopScope": "true",
944
+ "ForcedIncludeFiles": "file1;file2;file3",
945
+ "ForcedUsingFiles": "file1;file2;file3",
946
+ "FunctionLevelLinking": "true",
947
+ "GenerateXMLDocumentationFiles": "true",
948
+ "IgnoreStandardIncludePath": "true",
949
+ "InlineFunctionExpansion": "AnySuitable",
950
+ "IntrinsicFunctions": "true",
951
+ "MinimalRebuild": "true",
952
+ "ObjectFileName": "a_file_name",
953
+ "OmitDefaultLibName": "true",
954
+ "OmitFramePointers": "true",
955
+ "OpenMPSupport": "true",
956
+ "Optimization": "Full",
957
+ "PrecompiledHeader": "Create",
958
+ "PrecompiledHeaderFile": "a_file_name",
959
+ "PrecompiledHeaderOutputFile": "a_file_name",
960
+ "PreprocessKeepComments": "true",
961
+ "PreprocessorDefinitions": "d1;d2;d3",
962
+ "PreprocessSuppressLineNumbers": "false",
963
+ "PreprocessToFile": "true",
964
+ "ProgramDataBaseFileName": "a_file_name",
965
+ "RuntimeLibrary": "MultiThreaded",
966
+ "RuntimeTypeInfo": "true",
967
+ "ShowIncludes": "true",
968
+ "SmallerTypeCheck": "true",
969
+ "StringPooling": "true",
970
+ "StructMemberAlignment": "1Byte",
971
+ "SuppressStartupBanner": "true",
972
+ "TreatWarningAsError": "true",
973
+ "TreatWChar_tAsBuiltInType": "true",
974
+ "UndefineAllPreprocessorDefinitions": "true",
975
+ "UndefinePreprocessorDefinitions": "d1;d2;d3",
976
+ "UseFullPaths": "true",
977
+ "WarningLevel": "Level2",
978
+ "WholeProgramOptimization": "true",
979
+ "XMLDocumentationFileName": "a_file_name",
980
+ },
981
+ "Link": {
982
+ "AdditionalDependencies": "file1;file2;file3",
983
+ "AdditionalLibraryDirectories": "folder1;folder2;folder3",
984
+ "AdditionalManifestDependencies": "file1;file2;file3",
985
+ "AdditionalOptions": "a_string",
986
+ "AddModuleNamesToAssembly": "file1;file2;file3",
987
+ "AllowIsolation": "true",
988
+ "AssemblyDebug": "",
989
+ "AssemblyLinkResource": "file1;file2;file3",
990
+ "BaseAddress": "a_string",
991
+ "CLRImageType": "ForceIJWImage",
992
+ "CLRThreadAttribute": "STAThreadingAttribute",
993
+ "CLRUnmanagedCodeCheck": "true",
994
+ "DataExecutionPrevention": "",
995
+ "DelayLoadDLLs": "file1;file2;file3",
996
+ "DelaySign": "true",
997
+ "Driver": "Driver",
998
+ "EmbedManagedResourceFile": "file1;file2;file3",
999
+ "EnableCOMDATFolding": "",
1000
+ "EnableUAC": "true",
1001
+ "EntryPointSymbol": "a_string",
1002
+ "FixedBaseAddress": "false",
1003
+ "ForceSymbolReferences": "file1;file2;file3",
1004
+ "FunctionOrder": "a_file_name",
1005
+ "GenerateDebugInformation": "true",
1006
+ "GenerateMapFile": "true",
1007
+ "HeapCommitSize": "a_string",
1008
+ "HeapReserveSize": "a_string",
1009
+ "IgnoreAllDefaultLibraries": "true",
1010
+ "IgnoreEmbeddedIDL": "true",
1011
+ "IgnoreSpecificDefaultLibraries": "file1;file2;file3",
1012
+ "ImportLibrary": "a_file_name",
1013
+ "KeyContainer": "a_file_name",
1014
+ "KeyFile": "a_file_name",
1015
+ "LargeAddressAware": "true",
1016
+ "LinkErrorReporting": "NoErrorReport",
1017
+ "LinkTimeCodeGeneration": "PGInstrument",
1018
+ "ManifestFile": "a_file_name",
1019
+ "MapExports": "true",
1020
+ "MapFileName": "a_file_name",
1021
+ "MergedIDLBaseFileName": "a_file_name",
1022
+ "MergeSections": "a_string",
1023
+ "MidlCommandFile": "a_file_name",
1024
+ "ModuleDefinitionFile": "a_file_name",
1025
+ "NoEntryPoint": "true",
1026
+ "OptimizeReferences": "",
1027
+ "OutputFile": "a_file_name",
1028
+ "PerUserRedirection": "true",
1029
+ "Profile": "true",
1030
+ "ProfileGuidedDatabase": "a_file_name",
1031
+ "ProgramDatabaseFile": "a_file_name",
1032
+ "RandomizedBaseAddress": "false",
1033
+ "RegisterOutput": "true",
1034
+ "SetChecksum": "true",
1035
+ "ShowProgress": "NotSet",
1036
+ "StackCommitSize": "a_string",
1037
+ "StackReserveSize": "a_string",
1038
+ "StripPrivateSymbols": "a_file_name",
1039
+ "SubSystem": "Windows",
1040
+ "SupportUnloadOfDelayLoadedDLL": "true",
1041
+ "SuppressStartupBanner": "true",
1042
+ "SwapRunFromCD": "true",
1043
+ "SwapRunFromNET": "true",
1044
+ "TargetMachine": "MachineARM",
1045
+ "TerminalServerAware": "true",
1046
+ "TurnOffAssemblyGeneration": "true",
1047
+ "TypeLibraryFile": "a_file_name",
1048
+ "TypeLibraryResourceID": "33",
1049
+ "UACExecutionLevel": "HighestAvailable",
1050
+ "UACUIAccess": "true",
1051
+ "Version": "a_string",
1052
+ },
1053
+ "ResourceCompile": {
1054
+ "AdditionalIncludeDirectories": "folder1;folder2;folder3",
1055
+ "AdditionalOptions": "a_string",
1056
+ "Culture": "0x03eb",
1057
+ "IgnoreStandardIncludePath": "true",
1058
+ "PreprocessorDefinitions": "d1;d2;d3",
1059
+ "ResourceOutputFileName": "a_string",
1060
+ "ShowProgress": "true",
1061
+ "SuppressStartupBanner": "true",
1062
+ "UndefinePreprocessorDefinitions": "d1;d2;d3",
1063
+ },
1064
+ "Midl": {
1065
+ "AdditionalIncludeDirectories": "folder1;folder2;folder3",
1066
+ "AdditionalOptions": "a_string",
1067
+ "CPreprocessOptions": "a_string",
1068
+ "DefaultCharType": "Unsigned",
1069
+ "DllDataFileName": "a_file_name",
1070
+ "EnableErrorChecks": "All",
1071
+ "ErrorCheckAllocations": "true",
1072
+ "ErrorCheckBounds": "true",
1073
+ "ErrorCheckEnumRange": "true",
1074
+ "ErrorCheckRefPointers": "true",
1075
+ "ErrorCheckStubData": "true",
1076
+ "GenerateStublessProxies": "true",
1077
+ "GenerateTypeLibrary": "true",
1078
+ "HeaderFileName": "a_file_name",
1079
+ "IgnoreStandardIncludePath": "true",
1080
+ "InterfaceIdentifierFileName": "a_file_name",
1081
+ "MkTypLibCompatible": "true",
1082
+ "OutputDirectory": "a_string",
1083
+ "PreprocessorDefinitions": "d1;d2;d3",
1084
+ "ProxyFileName": "a_file_name",
1085
+ "RedirectOutputAndErrors": "a_file_name",
1086
+ "StructMemberAlignment": "4",
1087
+ "SuppressStartupBanner": "true",
1088
+ "TargetEnvironment": "Win32",
1089
+ "TypeLibraryName": "a_file_name",
1090
+ "UndefinePreprocessorDefinitions": "d1;d2;d3",
1091
+ "ValidateAllParameters": "true",
1092
+ "WarnAsError": "true",
1093
+ "WarningLevel": "4",
1094
+ },
1095
+ "Lib": {
1096
+ "AdditionalDependencies": "file1;file2;file3",
1097
+ "AdditionalLibraryDirectories": "folder1;folder2;folder3",
1098
+ "AdditionalOptions": "a_string",
1099
+ "ExportNamedFunctions": "d1;d2;d3",
1100
+ "ForceSymbolReferences": "a_string",
1101
+ "IgnoreAllDefaultLibraries": "true",
1102
+ "IgnoreSpecificDefaultLibraries": "file1;file2;file3",
1103
+ "ModuleDefinitionFile": "a_file_name",
1104
+ "OutputFile": "a_file_name",
1105
+ "SuppressStartupBanner": "true",
1106
+ "UseUnicodeResponseFiles": "true",
1107
+ },
1108
+ "Manifest": {
1109
+ "AdditionalManifestFiles": "file1;file2;file3",
1110
+ "AdditionalOptions": "a_string",
1111
+ "AssemblyIdentity": "a_string",
1112
+ "ComponentFileName": "a_file_name",
1113
+ "GenerateCatalogFiles": "true",
1114
+ "InputResourceManifests": "a_string",
1115
+ "OutputManifestFile": "a_file_name",
1116
+ "RegistrarScriptFile": "a_file_name",
1117
+ "ReplacementsFile": "a_file_name",
1118
+ "SuppressStartupBanner": "true",
1119
+ "TypeLibraryFile": "a_file_name",
1120
+ "UpdateFileHashes": "true",
1121
+ "UpdateFileHashesSearchPath": "a_file_name",
1122
+ "VerboseOutput": "true",
1123
+ },
1124
+ "ManifestResourceCompile": {"ResourceOutputFileName": "my_name"},
1125
+ "ProjectReference": {
1126
+ "LinkLibraryDependencies": "true",
1127
+ "UseLibraryDependencyInputs": "false",
1128
+ },
1129
+ "": {
1130
+ "EmbedManifest": "true",
1131
+ "GenerateManifest": "true",
1132
+ "IgnoreImportLibrary": "true",
1133
+ "LinkIncremental": "false",
1134
+ },
1135
+ }
1136
+ self.maxDiff = 9999 # on failure display a long diff
1137
+ actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(
1138
+ msvs_settings, self.stderr
1139
+ )
1140
+ self.assertEqual(expected_msbuild_settings, actual_msbuild_settings)
1141
+ self._ExpectedWarnings([])
1142
+
1143
+ def testConvertToMSBuildSettings_actual(self):
1144
+ """Tests the conversion of an actual project.
1145
+
1146
+ A VS2008 project with most of the options defined was created through the
1147
+ VS2008 IDE. It was then converted to VS2010. The tool settings found in
1148
+ the .vcproj and .vcxproj files were converted to the two dictionaries
1149
+ msvs_settings and expected_msbuild_settings.
1150
+
1151
+ Note that for many settings, the VS2010 converter adds macros like
1152
+ %(AdditionalIncludeDirectories) to make sure than inherited values are
1153
+ included. Since the Gyp projects we generate do not use inheritance,
1154
+ we removed these macros. They were:
1155
+ ClCompile:
1156
+ AdditionalIncludeDirectories: ';%(AdditionalIncludeDirectories)'
1157
+ AdditionalOptions: ' %(AdditionalOptions)'
1158
+ AdditionalUsingDirectories: ';%(AdditionalUsingDirectories)'
1159
+ DisableSpecificWarnings: ';%(DisableSpecificWarnings)',
1160
+ ForcedIncludeFiles: ';%(ForcedIncludeFiles)',
1161
+ ForcedUsingFiles: ';%(ForcedUsingFiles)',
1162
+ PreprocessorDefinitions: ';%(PreprocessorDefinitions)',
1163
+ UndefinePreprocessorDefinitions:
1164
+ ';%(UndefinePreprocessorDefinitions)',
1165
+ Link:
1166
+ AdditionalDependencies: ';%(AdditionalDependencies)',
1167
+ AdditionalLibraryDirectories: ';%(AdditionalLibraryDirectories)',
1168
+ AdditionalManifestDependencies:
1169
+ ';%(AdditionalManifestDependencies)',
1170
+ AdditionalOptions: ' %(AdditionalOptions)',
1171
+ AddModuleNamesToAssembly: ';%(AddModuleNamesToAssembly)',
1172
+ AssemblyLinkResource: ';%(AssemblyLinkResource)',
1173
+ DelayLoadDLLs: ';%(DelayLoadDLLs)',
1174
+ EmbedManagedResourceFile: ';%(EmbedManagedResourceFile)',
1175
+ ForceSymbolReferences: ';%(ForceSymbolReferences)',
1176
+ IgnoreSpecificDefaultLibraries:
1177
+ ';%(IgnoreSpecificDefaultLibraries)',
1178
+ ResourceCompile:
1179
+ AdditionalIncludeDirectories: ';%(AdditionalIncludeDirectories)',
1180
+ AdditionalOptions: ' %(AdditionalOptions)',
1181
+ PreprocessorDefinitions: ';%(PreprocessorDefinitions)',
1182
+ Manifest:
1183
+ AdditionalManifestFiles: ';%(AdditionalManifestFiles)',
1184
+ AdditionalOptions: ' %(AdditionalOptions)',
1185
+ InputResourceManifests: ';%(InputResourceManifests)',
1186
+ """
1187
+ msvs_settings = {
1188
+ "VCCLCompilerTool": {
1189
+ "AdditionalIncludeDirectories": "dir1",
1190
+ "AdditionalOptions": "/more",
1191
+ "AdditionalUsingDirectories": "test",
1192
+ "AssemblerListingLocation": "$(IntDir)\\a",
1193
+ "AssemblerOutput": "1",
1194
+ "BasicRuntimeChecks": "3",
1195
+ "BrowseInformation": "1",
1196
+ "BrowseInformationFile": "$(IntDir)\\e",
1197
+ "BufferSecurityCheck": "false",
1198
+ "CallingConvention": "1",
1199
+ "CompileAs": "1",
1200
+ "DebugInformationFormat": "4",
1201
+ "DefaultCharIsUnsigned": "true",
1202
+ "Detect64BitPortabilityProblems": "true",
1203
+ "DisableLanguageExtensions": "true",
1204
+ "DisableSpecificWarnings": "abc",
1205
+ "EnableEnhancedInstructionSet": "1",
1206
+ "EnableFiberSafeOptimizations": "true",
1207
+ "EnableFunctionLevelLinking": "true",
1208
+ "EnableIntrinsicFunctions": "true",
1209
+ "EnablePREfast": "true",
1210
+ "ErrorReporting": "2",
1211
+ "ExceptionHandling": "2",
1212
+ "ExpandAttributedSource": "true",
1213
+ "FavorSizeOrSpeed": "2",
1214
+ "FloatingPointExceptions": "true",
1215
+ "FloatingPointModel": "1",
1216
+ "ForceConformanceInForLoopScope": "false",
1217
+ "ForcedIncludeFiles": "def",
1218
+ "ForcedUsingFiles": "ge",
1219
+ "GeneratePreprocessedFile": "2",
1220
+ "GenerateXMLDocumentationFiles": "true",
1221
+ "IgnoreStandardIncludePath": "true",
1222
+ "InlineFunctionExpansion": "1",
1223
+ "KeepComments": "true",
1224
+ "MinimalRebuild": "true",
1225
+ "ObjectFile": "$(IntDir)\\b",
1226
+ "OmitDefaultLibName": "true",
1227
+ "OmitFramePointers": "true",
1228
+ "OpenMP": "true",
1229
+ "Optimization": "3",
1230
+ "PrecompiledHeaderFile": "$(IntDir)\\$(TargetName).pche",
1231
+ "PrecompiledHeaderThrough": "StdAfx.hd",
1232
+ "PreprocessorDefinitions": "WIN32;_DEBUG;_CONSOLE",
1233
+ "ProgramDataBaseFileName": "$(IntDir)\\vc90b.pdb",
1234
+ "RuntimeLibrary": "3",
1235
+ "RuntimeTypeInfo": "false",
1236
+ "ShowIncludes": "true",
1237
+ "SmallerTypeCheck": "true",
1238
+ "StringPooling": "true",
1239
+ "StructMemberAlignment": "3",
1240
+ "SuppressStartupBanner": "false",
1241
+ "TreatWChar_tAsBuiltInType": "false",
1242
+ "UndefineAllPreprocessorDefinitions": "true",
1243
+ "UndefinePreprocessorDefinitions": "wer",
1244
+ "UseFullPaths": "true",
1245
+ "UsePrecompiledHeader": "0",
1246
+ "UseUnicodeResponseFiles": "false",
1247
+ "WarnAsError": "true",
1248
+ "WarningLevel": "3",
1249
+ "WholeProgramOptimization": "true",
1250
+ "XMLDocumentationFileName": "$(IntDir)\\c",
1251
+ },
1252
+ "VCLinkerTool": {
1253
+ "AdditionalDependencies": "zx",
1254
+ "AdditionalLibraryDirectories": "asd",
1255
+ "AdditionalManifestDependencies": "s2",
1256
+ "AdditionalOptions": "/mor2",
1257
+ "AddModuleNamesToAssembly": "d1",
1258
+ "AllowIsolation": "false",
1259
+ "AssemblyDebug": "1",
1260
+ "AssemblyLinkResource": "d5",
1261
+ "BaseAddress": "23423",
1262
+ "CLRImageType": "3",
1263
+ "CLRThreadAttribute": "1",
1264
+ "CLRUnmanagedCodeCheck": "true",
1265
+ "DataExecutionPrevention": "0",
1266
+ "DelayLoadDLLs": "d4",
1267
+ "DelaySign": "true",
1268
+ "Driver": "2",
1269
+ "EmbedManagedResourceFile": "d2",
1270
+ "EnableCOMDATFolding": "1",
1271
+ "EnableUAC": "false",
1272
+ "EntryPointSymbol": "f5",
1273
+ "ErrorReporting": "2",
1274
+ "FixedBaseAddress": "1",
1275
+ "ForceSymbolReferences": "d3",
1276
+ "FunctionOrder": "fssdfsd",
1277
+ "GenerateDebugInformation": "true",
1278
+ "GenerateManifest": "false",
1279
+ "GenerateMapFile": "true",
1280
+ "HeapCommitSize": "13",
1281
+ "HeapReserveSize": "12",
1282
+ "IgnoreAllDefaultLibraries": "true",
1283
+ "IgnoreDefaultLibraryNames": "flob;flok",
1284
+ "IgnoreEmbeddedIDL": "true",
1285
+ "IgnoreImportLibrary": "true",
1286
+ "ImportLibrary": "f4",
1287
+ "KeyContainer": "f7",
1288
+ "KeyFile": "f6",
1289
+ "LargeAddressAware": "2",
1290
+ "LinkIncremental": "0",
1291
+ "LinkLibraryDependencies": "false",
1292
+ "LinkTimeCodeGeneration": "1",
1293
+ "ManifestFile": "$(IntDir)\\$(TargetFileName).2intermediate.manifest",
1294
+ "MapExports": "true",
1295
+ "MapFileName": "d5",
1296
+ "MergedIDLBaseFileName": "f2",
1297
+ "MergeSections": "f5",
1298
+ "MidlCommandFile": "f1",
1299
+ "ModuleDefinitionFile": "sdsd",
1300
+ "OptimizeForWindows98": "2",
1301
+ "OptimizeReferences": "2",
1302
+ "OutputFile": "$(OutDir)\\$(ProjectName)2.exe",
1303
+ "PerUserRedirection": "true",
1304
+ "Profile": "true",
1305
+ "ProfileGuidedDatabase": "$(TargetDir)$(TargetName).pgdd",
1306
+ "ProgramDatabaseFile": "Flob.pdb",
1307
+ "RandomizedBaseAddress": "1",
1308
+ "RegisterOutput": "true",
1309
+ "ResourceOnlyDLL": "true",
1310
+ "SetChecksum": "false",
1311
+ "ShowProgress": "1",
1312
+ "StackCommitSize": "15",
1313
+ "StackReserveSize": "14",
1314
+ "StripPrivateSymbols": "d3",
1315
+ "SubSystem": "1",
1316
+ "SupportUnloadOfDelayLoadedDLL": "true",
1317
+ "SuppressStartupBanner": "false",
1318
+ "SwapRunFromCD": "true",
1319
+ "SwapRunFromNet": "true",
1320
+ "TargetMachine": "1",
1321
+ "TerminalServerAware": "1",
1322
+ "TurnOffAssemblyGeneration": "true",
1323
+ "TypeLibraryFile": "f3",
1324
+ "TypeLibraryResourceID": "12",
1325
+ "UACExecutionLevel": "2",
1326
+ "UACUIAccess": "true",
1327
+ "UseLibraryDependencyInputs": "true",
1328
+ "UseUnicodeResponseFiles": "false",
1329
+ "Version": "333",
1330
+ },
1331
+ "VCResourceCompilerTool": {
1332
+ "AdditionalIncludeDirectories": "f3",
1333
+ "AdditionalOptions": "/more3",
1334
+ "Culture": "3084",
1335
+ "IgnoreStandardIncludePath": "true",
1336
+ "PreprocessorDefinitions": "_UNICODE;UNICODE2",
1337
+ "ResourceOutputFileName": "$(IntDir)/$(InputName)3.res",
1338
+ "ShowProgress": "true",
1339
+ },
1340
+ "VCManifestTool": {
1341
+ "AdditionalManifestFiles": "sfsdfsd",
1342
+ "AdditionalOptions": "afdsdafsd",
1343
+ "AssemblyIdentity": "sddfdsadfsa",
1344
+ "ComponentFileName": "fsdfds",
1345
+ "DependencyInformationFile": "$(IntDir)\\mt.depdfd",
1346
+ "EmbedManifest": "false",
1347
+ "GenerateCatalogFiles": "true",
1348
+ "InputResourceManifests": "asfsfdafs",
1349
+ "ManifestResourceFile": "$(IntDir)\\$(TargetFileName).embed.manifest.resfdsf", # noqa: E501
1350
+ "OutputManifestFile": "$(TargetPath).manifestdfs",
1351
+ "RegistrarScriptFile": "sdfsfd",
1352
+ "ReplacementsFile": "sdffsd",
1353
+ "SuppressStartupBanner": "false",
1354
+ "TypeLibraryFile": "sfsd",
1355
+ "UpdateFileHashes": "true",
1356
+ "UpdateFileHashesSearchPath": "sfsd",
1357
+ "UseFAT32Workaround": "true",
1358
+ "UseUnicodeResponseFiles": "false",
1359
+ "VerboseOutput": "true",
1360
+ },
1361
+ }
1362
+ expected_msbuild_settings = {
1363
+ "ClCompile": {
1364
+ "AdditionalIncludeDirectories": "dir1",
1365
+ "AdditionalOptions": "/more /J",
1366
+ "AdditionalUsingDirectories": "test",
1367
+ "AssemblerListingLocation": "$(IntDir)a",
1368
+ "AssemblerOutput": "AssemblyCode",
1369
+ "BasicRuntimeChecks": "EnableFastChecks",
1370
+ "BrowseInformation": "true",
1371
+ "BrowseInformationFile": "$(IntDir)e",
1372
+ "BufferSecurityCheck": "false",
1373
+ "CallingConvention": "FastCall",
1374
+ "CompileAs": "CompileAsC",
1375
+ "DebugInformationFormat": "EditAndContinue",
1376
+ "DisableLanguageExtensions": "true",
1377
+ "DisableSpecificWarnings": "abc",
1378
+ "EnableEnhancedInstructionSet": "StreamingSIMDExtensions",
1379
+ "EnableFiberSafeOptimizations": "true",
1380
+ "EnablePREfast": "true",
1381
+ "ErrorReporting": "Queue",
1382
+ "ExceptionHandling": "Async",
1383
+ "ExpandAttributedSource": "true",
1384
+ "FavorSizeOrSpeed": "Size",
1385
+ "FloatingPointExceptions": "true",
1386
+ "FloatingPointModel": "Strict",
1387
+ "ForceConformanceInForLoopScope": "false",
1388
+ "ForcedIncludeFiles": "def",
1389
+ "ForcedUsingFiles": "ge",
1390
+ "FunctionLevelLinking": "true",
1391
+ "GenerateXMLDocumentationFiles": "true",
1392
+ "IgnoreStandardIncludePath": "true",
1393
+ "InlineFunctionExpansion": "OnlyExplicitInline",
1394
+ "IntrinsicFunctions": "true",
1395
+ "MinimalRebuild": "true",
1396
+ "ObjectFileName": "$(IntDir)b",
1397
+ "OmitDefaultLibName": "true",
1398
+ "OmitFramePointers": "true",
1399
+ "OpenMPSupport": "true",
1400
+ "Optimization": "Full",
1401
+ "PrecompiledHeader": "NotUsing", # Actual conversion gives ''
1402
+ "PrecompiledHeaderFile": "StdAfx.hd",
1403
+ "PrecompiledHeaderOutputFile": "$(IntDir)$(TargetName).pche",
1404
+ "PreprocessKeepComments": "true",
1405
+ "PreprocessorDefinitions": "WIN32;_DEBUG;_CONSOLE",
1406
+ "PreprocessSuppressLineNumbers": "true",
1407
+ "PreprocessToFile": "true",
1408
+ "ProgramDataBaseFileName": "$(IntDir)vc90b.pdb",
1409
+ "RuntimeLibrary": "MultiThreadedDebugDLL",
1410
+ "RuntimeTypeInfo": "false",
1411
+ "ShowIncludes": "true",
1412
+ "SmallerTypeCheck": "true",
1413
+ "StringPooling": "true",
1414
+ "StructMemberAlignment": "4Bytes",
1415
+ "SuppressStartupBanner": "false",
1416
+ "TreatWarningAsError": "true",
1417
+ "TreatWChar_tAsBuiltInType": "false",
1418
+ "UndefineAllPreprocessorDefinitions": "true",
1419
+ "UndefinePreprocessorDefinitions": "wer",
1420
+ "UseFullPaths": "true",
1421
+ "WarningLevel": "Level3",
1422
+ "WholeProgramOptimization": "true",
1423
+ "XMLDocumentationFileName": "$(IntDir)c",
1424
+ },
1425
+ "Link": {
1426
+ "AdditionalDependencies": "zx",
1427
+ "AdditionalLibraryDirectories": "asd",
1428
+ "AdditionalManifestDependencies": "s2",
1429
+ "AdditionalOptions": "/mor2",
1430
+ "AddModuleNamesToAssembly": "d1",
1431
+ "AllowIsolation": "false",
1432
+ "AssemblyDebug": "true",
1433
+ "AssemblyLinkResource": "d5",
1434
+ "BaseAddress": "23423",
1435
+ "CLRImageType": "ForceSafeILImage",
1436
+ "CLRThreadAttribute": "MTAThreadingAttribute",
1437
+ "CLRUnmanagedCodeCheck": "true",
1438
+ "DataExecutionPrevention": "",
1439
+ "DelayLoadDLLs": "d4",
1440
+ "DelaySign": "true",
1441
+ "Driver": "UpOnly",
1442
+ "EmbedManagedResourceFile": "d2",
1443
+ "EnableCOMDATFolding": "false",
1444
+ "EnableUAC": "false",
1445
+ "EntryPointSymbol": "f5",
1446
+ "FixedBaseAddress": "false",
1447
+ "ForceSymbolReferences": "d3",
1448
+ "FunctionOrder": "fssdfsd",
1449
+ "GenerateDebugInformation": "true",
1450
+ "GenerateMapFile": "true",
1451
+ "HeapCommitSize": "13",
1452
+ "HeapReserveSize": "12",
1453
+ "IgnoreAllDefaultLibraries": "true",
1454
+ "IgnoreEmbeddedIDL": "true",
1455
+ "IgnoreSpecificDefaultLibraries": "flob;flok",
1456
+ "ImportLibrary": "f4",
1457
+ "KeyContainer": "f7",
1458
+ "KeyFile": "f6",
1459
+ "LargeAddressAware": "true",
1460
+ "LinkErrorReporting": "QueueForNextLogin",
1461
+ "LinkTimeCodeGeneration": "UseLinkTimeCodeGeneration",
1462
+ "ManifestFile": "$(IntDir)$(TargetFileName).2intermediate.manifest",
1463
+ "MapExports": "true",
1464
+ "MapFileName": "d5",
1465
+ "MergedIDLBaseFileName": "f2",
1466
+ "MergeSections": "f5",
1467
+ "MidlCommandFile": "f1",
1468
+ "ModuleDefinitionFile": "sdsd",
1469
+ "NoEntryPoint": "true",
1470
+ "OptimizeReferences": "true",
1471
+ "OutputFile": "$(OutDir)$(ProjectName)2.exe",
1472
+ "PerUserRedirection": "true",
1473
+ "Profile": "true",
1474
+ "ProfileGuidedDatabase": "$(TargetDir)$(TargetName).pgdd",
1475
+ "ProgramDatabaseFile": "Flob.pdb",
1476
+ "RandomizedBaseAddress": "false",
1477
+ "RegisterOutput": "true",
1478
+ "SetChecksum": "false",
1479
+ "ShowProgress": "LinkVerbose",
1480
+ "StackCommitSize": "15",
1481
+ "StackReserveSize": "14",
1482
+ "StripPrivateSymbols": "d3",
1483
+ "SubSystem": "Console",
1484
+ "SupportUnloadOfDelayLoadedDLL": "true",
1485
+ "SuppressStartupBanner": "false",
1486
+ "SwapRunFromCD": "true",
1487
+ "SwapRunFromNET": "true",
1488
+ "TargetMachine": "MachineX86",
1489
+ "TerminalServerAware": "false",
1490
+ "TurnOffAssemblyGeneration": "true",
1491
+ "TypeLibraryFile": "f3",
1492
+ "TypeLibraryResourceID": "12",
1493
+ "UACExecutionLevel": "RequireAdministrator",
1494
+ "UACUIAccess": "true",
1495
+ "Version": "333",
1496
+ },
1497
+ "ResourceCompile": {
1498
+ "AdditionalIncludeDirectories": "f3",
1499
+ "AdditionalOptions": "/more3",
1500
+ "Culture": "0x0c0c",
1501
+ "IgnoreStandardIncludePath": "true",
1502
+ "PreprocessorDefinitions": "_UNICODE;UNICODE2",
1503
+ "ResourceOutputFileName": "$(IntDir)%(Filename)3.res",
1504
+ "ShowProgress": "true",
1505
+ },
1506
+ "Manifest": {
1507
+ "AdditionalManifestFiles": "sfsdfsd",
1508
+ "AdditionalOptions": "afdsdafsd",
1509
+ "AssemblyIdentity": "sddfdsadfsa",
1510
+ "ComponentFileName": "fsdfds",
1511
+ "GenerateCatalogFiles": "true",
1512
+ "InputResourceManifests": "asfsfdafs",
1513
+ "OutputManifestFile": "$(TargetPath).manifestdfs",
1514
+ "RegistrarScriptFile": "sdfsfd",
1515
+ "ReplacementsFile": "sdffsd",
1516
+ "SuppressStartupBanner": "false",
1517
+ "TypeLibraryFile": "sfsd",
1518
+ "UpdateFileHashes": "true",
1519
+ "UpdateFileHashesSearchPath": "sfsd",
1520
+ "VerboseOutput": "true",
1521
+ },
1522
+ "ProjectReference": {
1523
+ "LinkLibraryDependencies": "false",
1524
+ "UseLibraryDependencyInputs": "true",
1525
+ },
1526
+ "": {
1527
+ "EmbedManifest": "false",
1528
+ "GenerateManifest": "false",
1529
+ "IgnoreImportLibrary": "true",
1530
+ "LinkIncremental": "",
1531
+ },
1532
+ "ManifestResourceCompile": {
1533
+ "ResourceOutputFileName": "$(IntDir)$(TargetFileName).embed.manifest.resfdsf" # noqa: E501
1534
+ },
1535
+ }
1536
+ self.maxDiff = 9999 # on failure display a long diff
1537
+ actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(
1538
+ msvs_settings, self.stderr
1539
+ )
1540
+ self.assertEqual(expected_msbuild_settings, actual_msbuild_settings)
1541
+ self._ExpectedWarnings([])
1542
+
1543
+
1544
+ if __name__ == "__main__":
1545
+ unittest.main()