redsnow 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (583) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +67 -0
  3. data/Rakefile +1 -1
  4. data/doc/RedSnow.html +321 -0
  5. data/doc/RedSnow/Action.html +702 -0
  6. data/doc/RedSnow/Binding.html +135 -0
  7. data/doc/RedSnow/Blueprint.html +657 -0
  8. data/doc/RedSnow/BlueprintNode.html +139 -0
  9. data/doc/RedSnow/ErrorCodes.html +165 -0
  10. data/doc/RedSnow/Headers.html +456 -0
  11. data/doc/RedSnow/KeyValueCollection.html +343 -0
  12. data/doc/RedSnow/Location.html +391 -0
  13. data/doc/RedSnow/Metadata.html +343 -0
  14. data/doc/RedSnow/NamedBlueprintNode.html +444 -0
  15. data/doc/RedSnow/Object.html +295 -0
  16. data/doc/RedSnow/Parameter.html +881 -0
  17. data/doc/RedSnow/Parameters.html +349 -0
  18. data/doc/RedSnow/ParseResult.html +570 -0
  19. data/doc/RedSnow/Payload.html +775 -0
  20. data/doc/RedSnow/Resource.html +790 -0
  21. data/doc/RedSnow/ResourceGroup.html +521 -0
  22. data/doc/RedSnow/TransactionExample.html +700 -0
  23. data/doc/RedSnow/WarningCodes.html +210 -0
  24. data/doc/_index.html +342 -0
  25. data/doc/class_list.html +54 -0
  26. data/doc/css/common.css +1 -0
  27. data/doc/css/full_list.css +57 -0
  28. data/doc/css/style.css +339 -0
  29. data/doc/file.README.html +136 -0
  30. data/doc/file_list.html +56 -0
  31. data/doc/frames.html +26 -0
  32. data/doc/index.html +136 -0
  33. data/doc/js/app.js +219 -0
  34. data/doc/js/full_list.js +178 -0
  35. data/doc/js/jquery.js +4 -0
  36. data/doc/method_list.html +347 -0
  37. data/doc/top-level-namespace.html +112 -0
  38. data/ext/snowcrash/Gemfile +8 -0
  39. data/ext/snowcrash/Gemfile.lock +40 -0
  40. data/ext/snowcrash/LICENSE +22 -0
  41. data/ext/snowcrash/README.md +118 -0
  42. data/ext/snowcrash/bin/snowcrash +0 -0
  43. data/ext/snowcrash/bin/test-libsnowcrash +0 -0
  44. data/ext/snowcrash/build/Makefile +375 -0
  45. data/ext/snowcrash/build/gyp-mac-tool +511 -0
  46. data/ext/snowcrash/build/libmarkdownparser.target.mk +137 -0
  47. data/ext/snowcrash/build/libsnowcrash.target.mk +165 -0
  48. data/ext/snowcrash/build/libsundown.target.mk +143 -0
  49. data/ext/snowcrash/build/out/Release/libmarkdownparser.a +0 -0
  50. data/ext/snowcrash/build/out/Release/libsnowcrash.dylib +0 -0
  51. data/ext/snowcrash/build/out/Release/libsundown.a +0 -0
  52. data/ext/snowcrash/build/out/Release/linker.lock +0 -0
  53. data/ext/snowcrash/build/out/Release/obj.target/libmarkdownparser/ext/markdown-parser/src/ByteBuffer.o +0 -0
  54. data/ext/snowcrash/build/out/Release/obj.target/libmarkdownparser/ext/markdown-parser/src/MarkdownNode.o +0 -0
  55. data/ext/snowcrash/build/out/Release/obj.target/libmarkdownparser/ext/markdown-parser/src/MarkdownParser.o +0 -0
  56. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/CBlueprint.o +0 -0
  57. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/CBlueprintSourcemap.o +0 -0
  58. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/CSourceAnnotation.o +0 -0
  59. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/HTTP.o +0 -0
  60. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/MarkdownBlock.o +0 -0
  61. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/MarkdownParser.o +0 -0
  62. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/Parser.o +0 -0
  63. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/ParserCore.o +0 -0
  64. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/Section.o +0 -0
  65. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/Serialize.o +0 -0
  66. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/SerializeJSON.o +0 -0
  67. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/SerializeYAML.o +0 -0
  68. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/Signature.o +0 -0
  69. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/UriTemplateParser.o +0 -0
  70. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/csnowcrash.o +0 -0
  71. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/posix/RegexMatch.o +0 -0
  72. data/ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/snowcrash.o +0 -0
  73. data/ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/html/houdini_href_e.o +0 -0
  74. data/ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/html/houdini_html_e.o +0 -0
  75. data/ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/html/html.o +0 -0
  76. data/ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/html/html_smartypants.o +0 -0
  77. data/ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/src/autolink.o +0 -0
  78. data/ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/src/buffer.o +0 -0
  79. data/ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/src/markdown.o +0 -0
  80. data/ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/src/src_map.o +0 -0
  81. data/ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/src/stack.o +0 -0
  82. data/ext/snowcrash/build/out/Release/obj.target/snowcrash/src/snowcrash/snowcrash.o +0 -0
  83. data/ext/snowcrash/build/out/Release/obj.target/sundown/sundown/html/houdini_href_e.o +0 -0
  84. data/ext/snowcrash/build/out/Release/obj.target/sundown/sundown/html/houdini_html_e.o +0 -0
  85. data/ext/snowcrash/build/out/Release/obj.target/sundown/sundown/html/html.o +0 -0
  86. data/ext/snowcrash/build/out/Release/obj.target/sundown/sundown/html/html_smartypants.o +0 -0
  87. data/ext/snowcrash/build/out/Release/obj.target/sundown/sundown/src/autolink.o +0 -0
  88. data/ext/snowcrash/build/out/Release/obj.target/sundown/sundown/src/buffer.o +0 -0
  89. data/ext/snowcrash/build/out/Release/obj.target/sundown/sundown/src/markdown.o +0 -0
  90. data/ext/snowcrash/build/out/Release/obj.target/sundown/sundown/src/src_map.o +0 -0
  91. data/ext/snowcrash/build/out/Release/obj.target/sundown/sundown/src/stack.o +0 -0
  92. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-ActionParser.o +0 -0
  93. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-AssetParser.o +0 -0
  94. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-Blueprint.o +0 -0
  95. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-BlueprintParser.o +0 -0
  96. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-HeaderParser.o +0 -0
  97. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-HeadersParser.o +0 -0
  98. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-Indentation.o +0 -0
  99. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-ListUtility.o +0 -0
  100. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-MarkdownBlock.o +0 -0
  101. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-MarkdownParser.o +0 -0
  102. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-ParameterDefinitonParser.o +0 -0
  103. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-ParameterParser.o +0 -0
  104. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-ParametersParser.o +0 -0
  105. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-Parser.o +0 -0
  106. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-PayloadParser.o +0 -0
  107. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-RegexMatch.o +0 -0
  108. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-ResouceGroupParser.o +0 -0
  109. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-ResourceGroupParser.o +0 -0
  110. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-ResourceParser.o +0 -0
  111. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-SectionParser.o +0 -0
  112. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-SymbolIdentifier.o +0 -0
  113. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-SymbolTable.o +0 -0
  114. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-UriTemplateParser.o +0 -0
  115. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-ValuesParser.o +0 -0
  116. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-Warnings.o +0 -0
  117. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-csnowcrash.o +0 -0
  118. data/ext/snowcrash/build/out/Release/obj.target/test-libsnowcrash/test/test-snowcrash.o +0 -0
  119. data/ext/snowcrash/build/out/Release/snowcrash +0 -0
  120. data/ext/snowcrash/build/out/Release/test-libsnowcrash +0 -0
  121. data/ext/snowcrash/build/perf-libsnowcrash.target.mk +151 -0
  122. data/ext/snowcrash/build/snowcrash.Makefile +6 -0
  123. data/ext/snowcrash/build/snowcrash.target.mk +149 -0
  124. data/ext/snowcrash/build/sundown.target.mk +143 -0
  125. data/ext/snowcrash/build/test-libsnowcrash.target.mk +170 -0
  126. data/ext/snowcrash/ext/cmdline/LICENSE +30 -0
  127. data/ext/snowcrash/ext/cmdline/README.rst +191 -0
  128. data/ext/snowcrash/ext/cmdline/cmdline.h +817 -0
  129. data/ext/snowcrash/ext/cmdline/test.cpp +50 -0
  130. data/ext/snowcrash/ext/cmdline/test2.cpp +61 -0
  131. data/ext/snowcrash/ext/markdown-parser/LICENSE +22 -0
  132. data/ext/snowcrash/ext/markdown-parser/README.md +11 -0
  133. data/ext/snowcrash/ext/markdown-parser/ext/sundown/README.markdown +141 -0
  134. data/ext/snowcrash/ext/markdown-parser/markdownparser.xcodeproj/project.pbxproj +448 -0
  135. data/ext/snowcrash/ext/markdown-parser/msvc/test-markdown/test-markdown.vcproj +195 -0
  136. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/LICENSE_1_0.txt +23 -0
  137. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/README.md +24 -0
  138. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/catch-logo-small.png +0 -0
  139. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/docs/assertions.md +64 -0
  140. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/docs/build-systems.md +36 -0
  141. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/docs/command-line.md +155 -0
  142. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/docs/contributing.md +19 -0
  143. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/docs/logging.md +52 -0
  144. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/docs/own-main.md +68 -0
  145. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/docs/reference-index.md +14 -0
  146. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/docs/test-cases-and-sections.md +60 -0
  147. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/docs/test-fixtures.md +32 -0
  148. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/docs/tutorial.md +228 -0
  149. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/docs/whats-changed.md +24 -0
  150. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/docs/why-catch.md +42 -0
  151. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/catch.hpp +202 -0
  152. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/catch_runner.hpp +224 -0
  153. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/catch_with_main.hpp +15 -0
  154. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/external/clara.h +868 -0
  155. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/external/tbc_text_format.h +153 -0
  156. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_approx.hpp +91 -0
  157. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_assertionresult.h +71 -0
  158. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_assertionresult.hpp +91 -0
  159. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_capture.hpp +179 -0
  160. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_clara.h +32 -0
  161. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_commandline.hpp +145 -0
  162. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_common.h +119 -0
  163. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_common.hpp +86 -0
  164. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_compiler_capabilities.h +123 -0
  165. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_config.hpp +178 -0
  166. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_console_colour.hpp +66 -0
  167. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_console_colour_impl.hpp +166 -0
  168. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_context.h +53 -0
  169. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_context_impl.hpp +112 -0
  170. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_debugger.h +49 -0
  171. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_debugger.hpp +100 -0
  172. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_default_main.hpp +38 -0
  173. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_evaluate.hpp +178 -0
  174. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_exception_translator_registry.hpp +75 -0
  175. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_expression_decomposer.hpp +31 -0
  176. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_expression_lhs.hpp +105 -0
  177. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_expressionresult_builder.h +63 -0
  178. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_expressionresult_builder.hpp +98 -0
  179. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_generators.hpp +190 -0
  180. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_generators_impl.hpp +86 -0
  181. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_impl.hpp +92 -0
  182. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_interfaces_capture.h +46 -0
  183. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_interfaces_config.h +54 -0
  184. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_interfaces_exception.h +66 -0
  185. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_interfaces_generators.h +32 -0
  186. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_interfaces_registry_hub.h +44 -0
  187. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_interfaces_reporter.h +265 -0
  188. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_interfaces_runner.h +19 -0
  189. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_interfaces_testcase.h +37 -0
  190. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_legacy_reporter_adapter.h +59 -0
  191. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_legacy_reporter_adapter.hpp +82 -0
  192. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_list.hpp +150 -0
  193. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_matchers.hpp +233 -0
  194. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_message.h +65 -0
  195. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_message.hpp +43 -0
  196. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_notimplemented_exception.h +35 -0
  197. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_notimplemented_exception.hpp +30 -0
  198. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_objc.hpp +203 -0
  199. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_objc_arc.hpp +51 -0
  200. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_option.hpp +75 -0
  201. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_platform.h +20 -0
  202. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_ptr.hpp +94 -0
  203. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_registry_hub.hpp +83 -0
  204. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_reporter_registrars.hpp +74 -0
  205. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_reporter_registry.hpp +45 -0
  206. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_result_type.h +66 -0
  207. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_runner_impl.hpp +319 -0
  208. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_section.h +55 -0
  209. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_section.hpp +40 -0
  210. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_section_info.h +31 -0
  211. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_section_info.hpp +113 -0
  212. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_sfinae.hpp +44 -0
  213. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_stream.h +33 -0
  214. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_stream.hpp +83 -0
  215. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_streambuf.h +23 -0
  216. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_tags.h +109 -0
  217. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_tags.hpp +137 -0
  218. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_test_case_info.h +84 -0
  219. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_test_case_info.hpp +166 -0
  220. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_test_case_registry_impl.hpp +146 -0
  221. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_test_case_tracker.hpp +148 -0
  222. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_test_registry.hpp +120 -0
  223. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_test_spec.h +65 -0
  224. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_test_spec.hpp +133 -0
  225. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_text.h +24 -0
  226. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_timer.h +35 -0
  227. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_timer.hpp +63 -0
  228. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_tostring.hpp +276 -0
  229. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_totals.hpp +67 -0
  230. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_version.h +37 -0
  231. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_version.hpp +19 -0
  232. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/internal/catch_xmlwriter.hpp +218 -0
  233. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/reporters/catch_reporter_bases.hpp +203 -0
  234. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/reporters/catch_reporter_console.hpp +411 -0
  235. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/reporters/catch_reporter_junit.hpp +226 -0
  236. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/include/reporters/catch_reporter_xml.hpp +151 -0
  237. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/CMake/CMakeLists.txt +38 -0
  238. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/ApproxTests.cpp +112 -0
  239. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/BDDTests.cpp +68 -0
  240. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/Baselines/console.std.approved.txt +778 -0
  241. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/Baselines/console.sw.approved.txt +6995 -0
  242. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/Baselines/console.swa4.approved.txt +322 -0
  243. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/Baselines/junit.sw.approved.txt +562 -0
  244. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/Baselines/xml.sw.approved.txt +7251 -0
  245. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/ClassTests.cpp +57 -0
  246. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/ConditionTests.cpp +334 -0
  247. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/ExceptionTests.cpp +153 -0
  248. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/GeneratorTests.cpp +42 -0
  249. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/MessageTests.cpp +121 -0
  250. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/MiscTests.cpp +341 -0
  251. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SectionTrackerTests.cpp +164 -0
  252. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_common.cpp +2 -0
  253. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_console_colour.cpp +2 -0
  254. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_debugger.cpp +2 -0
  255. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_capture.cpp +2 -0
  256. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_config.cpp +1 -0
  257. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_exception.cpp +1 -0
  258. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_generators.cpp +1 -0
  259. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_registry_hub.cpp +2 -0
  260. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_reporter.cpp +1 -0
  261. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_runner.cpp +1 -0
  262. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_testcase.cpp +1 -0
  263. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_message.cpp +2 -0
  264. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_option.cpp +2 -0
  265. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_ptr.cpp +2 -0
  266. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_stream.cpp +2 -0
  267. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_streambuf.cpp +2 -0
  268. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_tags.cpp +2 -0
  269. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/SurrogateCpps/catch_xmlwriter.cpp +2 -0
  270. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/TestMain.cpp +541 -0
  271. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/TrickyTests.cpp +396 -0
  272. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/VariadicMacrosTests.cpp +31 -0
  273. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/SelfTest/makefile +21 -0
  274. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/VS2008/TestCatch/TestCatch.sln +20 -0
  275. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/VS2008/TestCatch/TestCatch/TestCatch.cpp +8 -0
  276. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/VS2008/TestCatch/TestCatch/TestCatch.vcproj +394 -0
  277. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/VS2010/TestCatch/TestCatch.sln +20 -0
  278. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/VS2010/TestCatch/TestCatch/TestCatch.vcxproj +148 -0
  279. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/CatchSelfTest/CatchSelfTest.xcodeproj/project.pbxproj +685 -0
  280. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/CatchSelfTest/CatchSelfTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  281. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/CatchSelfTest/CatchSelfTest.xcodeproj/project.xcworkspace/xcshareddata/CatchSelfTest.xccheckout +41 -0
  282. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/CatchSelfTest/CatchSelfTest/CatchSelfTest.1 +79 -0
  283. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/CatchSelfTest/CatchSelfTest/catch_text.cpp +2 -0
  284. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/CatchSelfTest/CatchSelfTestSingle.xcodeproj/project.pbxproj +258 -0
  285. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/CatchSelfTest/CatchSelfTestSingle.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  286. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/CatchSelfTest/CatchSelfTestSingle.xcodeproj/project.xcworkspace/xcshareddata/CatchSelfTestSingle.xccheckout +41 -0
  287. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/CatchSelfTest/CatchSelfTestSingle/dummy.txt +0 -0
  288. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/OCTest/OCTest.xcodeproj/project.pbxproj +265 -0
  289. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/OCTest/OCTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  290. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/OCTest/OCTest.xcodeproj/project.xcworkspace/xcshareddata/OCTest.xccheckout +41 -0
  291. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/OCTest/OCTest/CatchOCTestCase.h +25 -0
  292. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/OCTest/OCTest/CatchOCTestCase.mm +83 -0
  293. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/OCTest/OCTest/Main.mm +2 -0
  294. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/OCTest/OCTest/OCTest.1 +79 -0
  295. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/OCTest/OCTest/OCTest.mm +28 -0
  296. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/OCTest/OCTest/TestObj.h +28 -0
  297. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/OCTest/OCTest/TestObj.m +25 -0
  298. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/iOSTest/iOSTest.xcodeproj/project.pbxproj +299 -0
  299. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/iOSTest/iOSTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  300. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/iOSTest/iOSTest/OCTest.mm +27 -0
  301. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/iOSTest/iOSTest/TestObj.h +25 -0
  302. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/iOSTest/iOSTest/TestObj.m +18 -0
  303. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/iOSTest/iOSTest/en.lproj/InfoPlist.strings +2 -0
  304. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/iOSTest/iOSTest/iOSTest-Info.plist +47 -0
  305. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/XCode/iOSTest/iOSTest/iOSTest-Prefix.pch +14 -0
  306. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/runners/iTchRunner/internal/iTchRunnerAppDelegate.h +114 -0
  307. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/runners/iTchRunner/internal/iTchRunnerMainView.h +189 -0
  308. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/runners/iTchRunner/internal/iTchRunnerReporter.h +115 -0
  309. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/runners/iTchRunner/itChRunnerMain.mm +27 -0
  310. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/projects/runners/iTchRunner/readme +6 -0
  311. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/scripts/approvalTests.py +99 -0
  312. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/scripts/approve.py +29 -0
  313. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/scripts/generateSingleHeader.py +152 -0
  314. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/scripts/scriptCommon.py +4 -0
  315. data/ext/snowcrash/ext/markdown-parser/test/ext/Catch/single_include/catch.hpp +8544 -0
  316. data/ext/snowcrash/ext/markdown-parser/test/test-ByteBuffer.cc +83 -0
  317. data/ext/snowcrash/ext/markdown-parser/test/test-MarkdownParser.cc +628 -0
  318. data/ext/snowcrash/ext/markdown-parser/test/test-libmarkdownparser.cc +10 -0
  319. data/ext/snowcrash/features/fixtures/ast.json +154 -0
  320. data/ext/snowcrash/features/fixtures/ast.yaml +87 -0
  321. data/ext/snowcrash/features/fixtures/blueprint.apib +84 -0
  322. data/ext/snowcrash/features/fixtures/invalid_blueprint.apib +4 -0
  323. data/ext/snowcrash/features/parse.feature +23 -0
  324. data/ext/snowcrash/features/step_definitions/file_content_step.rb +8 -0
  325. data/ext/snowcrash/features/support/env.rb +7 -0
  326. data/ext/snowcrash/features/support/setup.rb +1 -0
  327. data/ext/snowcrash/features/validate.feature +37 -0
  328. data/ext/snowcrash/features/version.feature +10 -0
  329. data/ext/snowcrash/snowcrash.xcodeproj/project.pbxproj +798 -0
  330. data/ext/snowcrash/test/README.md +7 -0
  331. data/ext/snowcrash/test/performance/fixtures/fixture-1.apib +174 -0
  332. data/ext/snowcrash/test/performance/fixtures/fixture-2.apib +2455 -0
  333. data/ext/snowcrash/test/performance/fixtures/fixture-3.apib +10363 -0
  334. data/ext/snowcrash/test/performance/fixtures/fixture-4.apib +8390 -0
  335. data/ext/snowcrash/test/performance/perf-snowcrash.cc +162 -0
  336. data/ext/snowcrash/test/snowcrashtest.h +88 -0
  337. data/ext/snowcrash/test/test-ActionParser.cc +491 -0
  338. data/ext/snowcrash/test/test-AssetParser.cc +224 -0
  339. data/ext/snowcrash/test/test-Blueprint.cc +32 -0
  340. data/ext/snowcrash/test/test-BlueprintParser.cc +462 -0
  341. data/ext/snowcrash/test/test-HeadersParser.cc +256 -0
  342. data/ext/snowcrash/test/test-Indentation.cc +336 -0
  343. data/ext/snowcrash/test/test-ParameterParser.cc +499 -0
  344. data/ext/snowcrash/test/test-ParametersParser.cc +355 -0
  345. data/ext/snowcrash/test/test-PayloadParser.cc +657 -0
  346. data/ext/snowcrash/test/test-RegexMatch.cc +35 -0
  347. data/ext/snowcrash/test/test-ResourceGroupParser.cc +457 -0
  348. data/ext/snowcrash/test/test-ResourceParser.cc +947 -0
  349. data/ext/snowcrash/test/test-SectionParser.cc +81 -0
  350. data/ext/snowcrash/test/test-StringUtility.cc +65 -0
  351. data/ext/snowcrash/test/test-SymbolIdentifier.cc +53 -0
  352. data/ext/snowcrash/test/test-SymbolTable.cc +31 -0
  353. data/ext/snowcrash/test/test-UriTemplateParser.cc +333 -0
  354. data/ext/snowcrash/test/test-ValuesParser.cc +106 -0
  355. data/ext/snowcrash/test/test-Warnings.cc +94 -0
  356. data/ext/snowcrash/test/test-csnowcrash.cc +404 -0
  357. data/ext/snowcrash/test/test-snowcrash.cc +664 -0
  358. data/ext/snowcrash/test/vendor/Catch/LICENSE_1_0.txt +23 -0
  359. data/ext/snowcrash/test/vendor/Catch/README.md +24 -0
  360. data/ext/snowcrash/test/vendor/Catch/catch-logo-small.png +0 -0
  361. data/ext/snowcrash/test/vendor/Catch/docs/assertions.md +59 -0
  362. data/ext/snowcrash/test/vendor/Catch/docs/command-line.md +137 -0
  363. data/ext/snowcrash/test/vendor/Catch/docs/logging.md +52 -0
  364. data/ext/snowcrash/test/vendor/Catch/docs/own-main.md +68 -0
  365. data/ext/snowcrash/test/vendor/Catch/docs/reference-index.md +13 -0
  366. data/ext/snowcrash/test/vendor/Catch/docs/test-fixtures.md +32 -0
  367. data/ext/snowcrash/test/vendor/Catch/docs/tutorial.md +100 -0
  368. data/ext/snowcrash/test/vendor/Catch/docs/whats-changed.md +24 -0
  369. data/ext/snowcrash/test/vendor/Catch/docs/why-catch.md +42 -0
  370. data/ext/snowcrash/test/vendor/Catch/include/catch.hpp +182 -0
  371. data/ext/snowcrash/test/vendor/Catch/include/catch_runner.hpp +236 -0
  372. data/ext/snowcrash/test/vendor/Catch/include/catch_with_main.hpp +15 -0
  373. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_approx.hpp +91 -0
  374. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_assertionresult.h +65 -0
  375. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_assertionresult.hpp +91 -0
  376. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_capture.hpp +175 -0
  377. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_commandline.hpp +129 -0
  378. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_common.h +148 -0
  379. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_compiler_capabilities.h +85 -0
  380. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_config.hpp +182 -0
  381. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_console_colour.hpp +66 -0
  382. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_console_colour_impl.hpp +153 -0
  383. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_context.h +53 -0
  384. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_context_impl.hpp +112 -0
  385. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_debugger.hpp +116 -0
  386. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_default_main.hpp +38 -0
  387. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_evaluate.hpp +178 -0
  388. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_exception_translator_registry.hpp +74 -0
  389. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_expression_decomposer.hpp +31 -0
  390. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_expression_lhs.hpp +97 -0
  391. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_expressionresult_builder.h +63 -0
  392. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_expressionresult_builder.hpp +98 -0
  393. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_generators.hpp +190 -0
  394. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_generators_impl.hpp +86 -0
  395. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_impl.hpp +97 -0
  396. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_interfaces_capture.h +46 -0
  397. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_interfaces_config.h +32 -0
  398. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_interfaces_exception.h +66 -0
  399. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_interfaces_generators.h +32 -0
  400. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_interfaces_registry_hub.h +45 -0
  401. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_interfaces_reporter.h +339 -0
  402. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_interfaces_runner.h +23 -0
  403. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_interfaces_testcase.h +34 -0
  404. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_legacy_reporter_adapter.h +39 -0
  405. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_legacy_reporter_adapter.hpp +84 -0
  406. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_list.hpp +198 -0
  407. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_matchers.hpp +233 -0
  408. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_message.h +65 -0
  409. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_message.hpp +43 -0
  410. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_notimplemented_exception.h +35 -0
  411. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_notimplemented_exception.hpp +30 -0
  412. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_objc.hpp +202 -0
  413. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_objc_arc.hpp +51 -0
  414. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_option.hpp +67 -0
  415. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_ptr.hpp +94 -0
  416. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_registry_hub.hpp +83 -0
  417. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_reporter_registrars.hpp +75 -0
  418. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_reporter_registry.hpp +45 -0
  419. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_result_type.h +66 -0
  420. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_runner_impl.hpp +326 -0
  421. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_running_test.hpp +117 -0
  422. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_section.hpp +56 -0
  423. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_section_info.hpp +113 -0
  424. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_sfinae.hpp +44 -0
  425. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_stream.hpp +90 -0
  426. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_streambuf.h +21 -0
  427. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_tags.hpp +193 -0
  428. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_test_case_info.h +82 -0
  429. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_test_case_info.hpp +127 -0
  430. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_test_case_registry_impl.hpp +151 -0
  431. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_test_registry.hpp +120 -0
  432. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_test_spec.h +166 -0
  433. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_text.h +61 -0
  434. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_text.hpp +92 -0
  435. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_tostring.hpp +224 -0
  436. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_totals.hpp +67 -0
  437. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_version.h +37 -0
  438. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_version.hpp +19 -0
  439. data/ext/snowcrash/test/vendor/Catch/include/internal/catch_xmlwriter.hpp +211 -0
  440. data/ext/snowcrash/test/vendor/Catch/include/internal/clara.h +553 -0
  441. data/ext/snowcrash/test/vendor/Catch/include/reporters/catch_reporter_basic.hpp +353 -0
  442. data/ext/snowcrash/test/vendor/Catch/include/reporters/catch_reporter_console.hpp +397 -0
  443. data/ext/snowcrash/test/vendor/Catch/include/reporters/catch_reporter_junit.hpp +252 -0
  444. data/ext/snowcrash/test/vendor/Catch/include/reporters/catch_reporter_xml.hpp +145 -0
  445. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/ApproxTests.cpp +112 -0
  446. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/BDDTests.cpp +68 -0
  447. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/Baselines/approvedResults.txt +14686 -0
  448. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/ClassTests.cpp +57 -0
  449. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/CmdLineTests.cpp +191 -0
  450. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/ConditionTests.cpp +348 -0
  451. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/ExceptionTests.cpp +143 -0
  452. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/GeneratorTests.cpp +42 -0
  453. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/MessageTests.cpp +102 -0
  454. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/MiscTests.cpp +343 -0
  455. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_common.cpp +2 -0
  456. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_console_colour.cpp +2 -0
  457. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_debugger.cpp +2 -0
  458. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_capture.cpp +2 -0
  459. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_config.cpp +1 -0
  460. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_exception.cpp +1 -0
  461. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_generators.cpp +1 -0
  462. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_registry_hub.cpp +2 -0
  463. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_reporter.cpp +1 -0
  464. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_runner.cpp +1 -0
  465. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_interfaces_testcase.cpp +1 -0
  466. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_message.cpp +2 -0
  467. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_option.cpp +2 -0
  468. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_ptr.cpp +2 -0
  469. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_stream.cpp +2 -0
  470. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_streambuf.cpp +2 -0
  471. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_tags.cpp +2 -0
  472. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/SurrogateCpps/catch_xmlwriter.cpp +2 -0
  473. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/TestMain.cpp +561 -0
  474. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/TrickyTests.cpp +382 -0
  475. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/VariadicMacrosTests.cpp +31 -0
  476. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/catch_self_test.cpp +31 -0
  477. data/ext/snowcrash/test/vendor/Catch/projects/SelfTest/catch_self_test.hpp +177 -0
  478. data/ext/snowcrash/test/vendor/Catch/projects/VS2008/TestCatch/TestCatch.sln +20 -0
  479. data/ext/snowcrash/test/vendor/Catch/projects/VS2008/TestCatch/TestCatch/ReadMe.txt +33 -0
  480. data/ext/snowcrash/test/vendor/Catch/projects/VS2008/TestCatch/TestCatch/TestCatch.cpp +8 -0
  481. data/ext/snowcrash/test/vendor/Catch/projects/VS2008/TestCatch/TestCatch/TestCatch.vcproj +398 -0
  482. data/ext/snowcrash/test/vendor/Catch/projects/VS2008/TestCatch/UpgradeLog.XML +12 -0
  483. data/ext/snowcrash/test/vendor/Catch/projects/VS2008/TestCatch/_UpgradeReport_Files/UpgradeReport.css +207 -0
  484. data/ext/snowcrash/test/vendor/Catch/projects/VS2008/TestCatch/_UpgradeReport_Files/UpgradeReport.xslt +232 -0
  485. data/ext/snowcrash/test/vendor/Catch/projects/VS2008/TestCatch/_UpgradeReport_Files/UpgradeReport_Minus.gif +0 -0
  486. data/ext/snowcrash/test/vendor/Catch/projects/VS2008/TestCatch/_UpgradeReport_Files/UpgradeReport_Plus.gif +0 -0
  487. data/ext/snowcrash/test/vendor/Catch/projects/VS2010/TestCatch/TestCatch.sln +20 -0
  488. data/ext/snowcrash/test/vendor/Catch/projects/VS2010/TestCatch/TestCatch/ReadMe.txt +33 -0
  489. data/ext/snowcrash/test/vendor/Catch/projects/VS2010/TestCatch/TestCatch/TestCatch.cpp +8 -0
  490. data/ext/snowcrash/test/vendor/Catch/projects/VS2010/TestCatch/TestCatch/TestCatch.vcxproj +149 -0
  491. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/CatchSelfTest.xcodeproj/project.pbxproj +440 -0
  492. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/CatchSelfTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  493. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/CatchSelfTest.xcodeproj/xcuserdata/phil.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist +81 -0
  494. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/CatchSelfTest.xcodeproj/xcuserdata/phil.xcuserdatad/xcschemes/Test.xcscheme +154 -0
  495. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/CatchSelfTest.xcodeproj/xcuserdata/phil.xcuserdatad/xcschemes/xcschememanagement.plist +22 -0
  496. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/CatchSelfTestSingle/CatchSelfTestSingle.1 +79 -0
  497. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/CatchSelfTestSingle/CatchSelfTestSingle.xcodeproj/project.pbxproj +246 -0
  498. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/OCTest/CatchOCTestCase.h +25 -0
  499. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/OCTest/CatchOCTestCase.mm +45 -0
  500. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/OCTest/Main.mm +1 -0
  501. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/OCTest/OCTest.1 +79 -0
  502. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/OCTest/OCTest.mm +28 -0
  503. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/OCTest/OCTest.xcodeproj/project.pbxproj +259 -0
  504. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/OCTest/OCTest_Prefix.pch +7 -0
  505. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/OCTest/TestObj.h +25 -0
  506. data/ext/snowcrash/test/vendor/Catch/projects/XCode3/OCTest/TestObj.m +18 -0
  507. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/CatchSelfTest/CatchSelfTest.xcodeproj/project.pbxproj +667 -0
  508. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/CatchSelfTest/CatchSelfTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  509. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/CatchSelfTest/CatchSelfTest.xcodeproj/xcuserdata/Phil.xcuserdatad/xcschemes/xcschememanagement.plist +22 -0
  510. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/CatchSelfTest/CatchSelfTest/CatchSelfTest.1 +79 -0
  511. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/CatchSelfTest/CatchSelfTest/catch_text.cpp +2 -0
  512. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/CatchSelfTest/CatchSelfTestSingle.xcodeproj/project.pbxproj +264 -0
  513. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/CatchSelfTest/CatchSelfTestSingle.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  514. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/CatchSelfTest/CatchSelfTestSingle/dummy.txt +0 -0
  515. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/OCTest/OCTest.xcodeproj/project.pbxproj +249 -0
  516. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/OCTest/OCTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  517. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/OCTest/OCTest/CatchOCTestCase.h +25 -0
  518. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/OCTest/OCTest/CatchOCTestCase.mm +82 -0
  519. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/OCTest/OCTest/Main.mm +2 -0
  520. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/OCTest/OCTest/OCTest.1 +79 -0
  521. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/OCTest/OCTest/OCTest.mm +28 -0
  522. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/OCTest/OCTest/TestObj.h +28 -0
  523. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/OCTest/OCTest/TestObj.m +25 -0
  524. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/iOSTest/iOSTest.xcodeproj/project.pbxproj +299 -0
  525. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/iOSTest/iOSTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  526. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/iOSTest/iOSTest/OCTest.mm +27 -0
  527. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/iOSTest/iOSTest/TestObj.h +25 -0
  528. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/iOSTest/iOSTest/TestObj.m +18 -0
  529. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/iOSTest/iOSTest/en.lproj/InfoPlist.strings +2 -0
  530. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/iOSTest/iOSTest/iOSTest-Info.plist +47 -0
  531. data/ext/snowcrash/test/vendor/Catch/projects/XCode4/iOSTest/iOSTest/iOSTest-Prefix.pch +14 -0
  532. data/ext/snowcrash/test/vendor/Catch/projects/runners/iTchRunner/internal/iTchRunnerAppDelegate.h +114 -0
  533. data/ext/snowcrash/test/vendor/Catch/projects/runners/iTchRunner/internal/iTchRunnerMainView.h +189 -0
  534. data/ext/snowcrash/test/vendor/Catch/projects/runners/iTchRunner/internal/iTchRunnerReporter.h +115 -0
  535. data/ext/snowcrash/test/vendor/Catch/projects/runners/iTchRunner/itChRunnerMain.mm +27 -0
  536. data/ext/snowcrash/test/vendor/Catch/projects/runners/iTchRunner/readme +6 -0
  537. data/ext/snowcrash/test/vendor/Catch/scripts/approvalTests.py +63 -0
  538. data/ext/snowcrash/test/vendor/Catch/scripts/approve.py +14 -0
  539. data/ext/snowcrash/test/vendor/Catch/scripts/generateSingleHeader.py +117 -0
  540. data/ext/snowcrash/test/vendor/Catch/scripts/scriptCommon.py +4 -0
  541. data/ext/snowcrash/test/vendor/Catch/single_include/catch.hpp +8046 -0
  542. data/ext/snowcrash/tools/README.md +27 -0
  543. data/ext/snowcrash/tools/gyp/LICENSE +27 -0
  544. data/ext/snowcrash/tools/gyp/gyptest.py +274 -0
  545. data/ext/snowcrash/tools/gyp/pylib/gyp/MSVSSettings_test.py +1483 -0
  546. data/ext/snowcrash/tools/gyp/pylib/gyp/__init__.pyc +0 -0
  547. data/ext/snowcrash/tools/gyp/pylib/gyp/common.pyc +0 -0
  548. data/ext/snowcrash/tools/gyp/pylib/gyp/common_test.py +72 -0
  549. data/ext/snowcrash/tools/gyp/pylib/gyp/easy_xml_test.py +103 -0
  550. data/ext/snowcrash/tools/gyp/pylib/gyp/generator/__init__.pyc +0 -0
  551. data/ext/snowcrash/tools/gyp/pylib/gyp/generator/make.pyc +0 -0
  552. data/ext/snowcrash/tools/gyp/pylib/gyp/generator/msvs_test.py +37 -0
  553. data/ext/snowcrash/tools/gyp/pylib/gyp/generator/ninja_test.py +44 -0
  554. data/ext/snowcrash/tools/gyp/pylib/gyp/generator/xcode.pyc +0 -0
  555. data/ext/snowcrash/tools/gyp/pylib/gyp/generator/xcode_test.py +23 -0
  556. data/ext/snowcrash/tools/gyp/pylib/gyp/input.pyc +0 -0
  557. data/ext/snowcrash/tools/gyp/pylib/gyp/input_test.py +90 -0
  558. data/ext/snowcrash/tools/gyp/pylib/gyp/xcode_emulation.pyc +0 -0
  559. data/ext/snowcrash/tools/gyp/pylib/gyp/xcodeproj_file.pyc +0 -0
  560. data/ext/snowcrash/tools/gyp/tools/README +15 -0
  561. data/ext/snowcrash/tools/gyp/tools/Xcode/README +5 -0
  562. data/ext/snowcrash/tools/gyp/tools/emacs/README +12 -0
  563. data/ext/snowcrash/tools/gyp/tools/emacs/gyp-tests.el +63 -0
  564. data/ext/snowcrash/tools/gyp/tools/emacs/run-unit-tests.sh +7 -0
  565. data/ext/snowcrash/tools/gyp/tools/emacs/testdata/media.gyp +1105 -0
  566. data/ext/snowcrash/tools/gyp/tools/emacs/testdata/media.gyp.fontified +1107 -0
  567. data/lib/redsnow.rb +2 -2
  568. data/lib/redsnow/blueprint.rb +2 -1
  569. data/lib/redsnow/version.rb +1 -1
  570. data/pkg/redsnow-0.1.3.gem +0 -0
  571. data/pkg/redsnow-0.1.4.gem +0 -0
  572. data/pkg/redsnow-0.1.5.gem +0 -0
  573. data/pkg/redsnow-0.1.6.gem +0 -0
  574. data/pkg/redsnow-0.2.0.gem +0 -0
  575. data/pkg/redsnow-0.2.1.gem +0 -0
  576. data/pkg/redsnow-0.3.1.gem +0 -0
  577. data/redsnow.gemspec +2 -1
  578. data/test/redsnow_binding_test.rb +1 -1
  579. data/test/redsnow_options_test.rb +4 -4
  580. metadata +540 -6
  581. data/.gitignore +0 -34
  582. data/.gitmodules +0 -3
  583. data/.travis.yml +0 -21
@@ -0,0 +1,27 @@
1
+ # Snow Crash Development Tools
2
+
3
+ ## Gyp
4
+ Snow Crash uses (bundled) [Gyp](http://code.google.com/p/gyp/) build automation tool to generates its Makefiles.
5
+
6
+ ### Actual Bundled Version
7
+ **r1846**
8
+
9
+ ### Update
10
+ 1. Get the latest version from Gyp's repository:
11
+
12
+ ```sh
13
+ $ svn checkout http://gyp.googlecode.com/svn/trunk/ gyp
14
+ ```
15
+
16
+ 2. Remove unnecessary files:
17
+
18
+ ```sh
19
+ $ cd gyp
20
+ $ rm -rf .svn
21
+ $ rm -rf test
22
+ ```
23
+
24
+ 3. Update bundled version in this README
25
+
26
+ ### More info
27
+ See [Gyp Hello World](https://github.com/springmeyer/hello-gyp) for a primer on using Gyp.
@@ -0,0 +1,27 @@
1
+ Copyright (c) 2009 Google Inc. All rights reserved.
2
+
3
+ Redistribution and use in source and binary forms, with or without
4
+ modification, are permitted provided that the following conditions are
5
+ met:
6
+
7
+ * Redistributions of source code must retain the above copyright
8
+ notice, this list of conditions and the following disclaimer.
9
+ * Redistributions in binary form must reproduce the above
10
+ copyright notice, this list of conditions and the following disclaimer
11
+ in the documentation and/or other materials provided with the
12
+ distribution.
13
+ * Neither the name of Google Inc. nor the names of its
14
+ contributors may be used to endorse or promote products derived from
15
+ this software without specific prior written permission.
16
+
17
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,274 @@
1
+ #!/usr/bin/env python
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
+ __doc__ = """
8
+ gyptest.py -- test runner for GYP tests.
9
+ """
10
+
11
+ import os
12
+ import optparse
13
+ import subprocess
14
+ import sys
15
+
16
+ class CommandRunner:
17
+ """
18
+ Executor class for commands, including "commands" implemented by
19
+ Python functions.
20
+ """
21
+ verbose = True
22
+ active = True
23
+
24
+ def __init__(self, dictionary={}):
25
+ self.subst_dictionary(dictionary)
26
+
27
+ def subst_dictionary(self, dictionary):
28
+ self._subst_dictionary = dictionary
29
+
30
+ def subst(self, string, dictionary=None):
31
+ """
32
+ Substitutes (via the format operator) the values in the specified
33
+ dictionary into the specified command.
34
+
35
+ The command can be an (action, string) tuple. In all cases, we
36
+ perform substitution on strings and don't worry if something isn't
37
+ a string. (It's probably a Python function to be executed.)
38
+ """
39
+ if dictionary is None:
40
+ dictionary = self._subst_dictionary
41
+ if dictionary:
42
+ try:
43
+ string = string % dictionary
44
+ except TypeError:
45
+ pass
46
+ return string
47
+
48
+ def display(self, command, stdout=None, stderr=None):
49
+ if not self.verbose:
50
+ return
51
+ if type(command) == type(()):
52
+ func = command[0]
53
+ args = command[1:]
54
+ s = '%s(%s)' % (func.__name__, ', '.join(map(repr, args)))
55
+ if type(command) == type([]):
56
+ # TODO: quote arguments containing spaces
57
+ # TODO: handle meta characters?
58
+ s = ' '.join(command)
59
+ else:
60
+ s = self.subst(command)
61
+ if not s.endswith('\n'):
62
+ s += '\n'
63
+ sys.stdout.write(s)
64
+ sys.stdout.flush()
65
+
66
+ def execute(self, command, stdout=None, stderr=None):
67
+ """
68
+ Executes a single command.
69
+ """
70
+ if not self.active:
71
+ return 0
72
+ if type(command) == type(''):
73
+ command = self.subst(command)
74
+ cmdargs = shlex.split(command)
75
+ if cmdargs[0] == 'cd':
76
+ command = (os.chdir,) + tuple(cmdargs[1:])
77
+ if type(command) == type(()):
78
+ func = command[0]
79
+ args = command[1:]
80
+ return func(*args)
81
+ else:
82
+ if stdout is sys.stdout:
83
+ # Same as passing sys.stdout, except python2.4 doesn't fail on it.
84
+ subout = None
85
+ else:
86
+ # Open pipe for anything else so Popen works on python2.4.
87
+ subout = subprocess.PIPE
88
+ if stderr is sys.stderr:
89
+ # Same as passing sys.stderr, except python2.4 doesn't fail on it.
90
+ suberr = None
91
+ elif stderr is None:
92
+ # Merge with stdout if stderr isn't specified.
93
+ suberr = subprocess.STDOUT
94
+ else:
95
+ # Open pipe for anything else so Popen works on python2.4.
96
+ suberr = subprocess.PIPE
97
+ p = subprocess.Popen(command,
98
+ shell=(sys.platform == 'win32'),
99
+ stdout=subout,
100
+ stderr=suberr)
101
+ p.wait()
102
+ if stdout is None:
103
+ self.stdout = p.stdout.read()
104
+ elif stdout is not sys.stdout:
105
+ stdout.write(p.stdout.read())
106
+ if stderr not in (None, sys.stderr):
107
+ stderr.write(p.stderr.read())
108
+ return p.returncode
109
+
110
+ def run(self, command, display=None, stdout=None, stderr=None):
111
+ """
112
+ Runs a single command, displaying it first.
113
+ """
114
+ if display is None:
115
+ display = command
116
+ self.display(display)
117
+ return self.execute(command, stdout, stderr)
118
+
119
+
120
+ class Unbuffered:
121
+ def __init__(self, fp):
122
+ self.fp = fp
123
+ def write(self, arg):
124
+ self.fp.write(arg)
125
+ self.fp.flush()
126
+ def __getattr__(self, attr):
127
+ return getattr(self.fp, attr)
128
+
129
+ sys.stdout = Unbuffered(sys.stdout)
130
+ sys.stderr = Unbuffered(sys.stderr)
131
+
132
+
133
+ def is_test_name(f):
134
+ return f.startswith('gyptest') and f.endswith('.py')
135
+
136
+
137
+ def find_all_gyptest_files(directory):
138
+ result = []
139
+ for root, dirs, files in os.walk(directory):
140
+ if '.svn' in dirs:
141
+ dirs.remove('.svn')
142
+ result.extend([ os.path.join(root, f) for f in files if is_test_name(f) ])
143
+ result.sort()
144
+ return result
145
+
146
+
147
+ def main(argv=None):
148
+ if argv is None:
149
+ argv = sys.argv
150
+
151
+ usage = "gyptest.py [-ahlnq] [-f formats] [test ...]"
152
+ parser = optparse.OptionParser(usage=usage)
153
+ parser.add_option("-a", "--all", action="store_true",
154
+ help="run all tests")
155
+ parser.add_option("-C", "--chdir", action="store", default=None,
156
+ help="chdir to the specified directory")
157
+ parser.add_option("-f", "--format", action="store", default='',
158
+ help="run tests with the specified formats")
159
+ parser.add_option("-G", '--gyp_option', action="append", default=[],
160
+ help="Add -G options to the gyp command line")
161
+ parser.add_option("-l", "--list", action="store_true",
162
+ help="list available tests and exit")
163
+ parser.add_option("-n", "--no-exec", action="store_true",
164
+ help="no execute, just print the command line")
165
+ parser.add_option("--passed", action="store_true",
166
+ help="report passed tests")
167
+ parser.add_option("--path", action="append", default=[],
168
+ help="additional $PATH directory")
169
+ parser.add_option("-q", "--quiet", action="store_true",
170
+ help="quiet, don't print test command lines")
171
+ opts, args = parser.parse_args(argv[1:])
172
+
173
+ if opts.chdir:
174
+ os.chdir(opts.chdir)
175
+
176
+ if opts.path:
177
+ extra_path = [os.path.abspath(p) for p in opts.path]
178
+ extra_path = os.pathsep.join(extra_path)
179
+ os.environ['PATH'] = extra_path + os.pathsep + os.environ['PATH']
180
+
181
+ if not args:
182
+ if not opts.all:
183
+ sys.stderr.write('Specify -a to get all tests.\n')
184
+ return 1
185
+ args = ['test']
186
+
187
+ tests = []
188
+ for arg in args:
189
+ if os.path.isdir(arg):
190
+ tests.extend(find_all_gyptest_files(os.path.normpath(arg)))
191
+ else:
192
+ if not is_test_name(os.path.basename(arg)):
193
+ print >>sys.stderr, arg, 'is not a valid gyp test name.'
194
+ sys.exit(1)
195
+ tests.append(arg)
196
+
197
+ if opts.list:
198
+ for test in tests:
199
+ print test
200
+ sys.exit(0)
201
+
202
+ CommandRunner.verbose = not opts.quiet
203
+ CommandRunner.active = not opts.no_exec
204
+ cr = CommandRunner()
205
+
206
+ os.environ['PYTHONPATH'] = os.path.abspath('test/lib')
207
+ if not opts.quiet:
208
+ sys.stdout.write('PYTHONPATH=%s\n' % os.environ['PYTHONPATH'])
209
+
210
+ passed = []
211
+ failed = []
212
+ no_result = []
213
+
214
+ if opts.format:
215
+ format_list = opts.format.split(',')
216
+ else:
217
+ # TODO: not duplicate this mapping from pylib/gyp/__init__.py
218
+ format_list = {
219
+ 'aix5': ['make'],
220
+ 'freebsd7': ['make'],
221
+ 'freebsd8': ['make'],
222
+ 'openbsd5': ['make'],
223
+ 'cygwin': ['msvs'],
224
+ 'win32': ['msvs', 'ninja'],
225
+ 'linux2': ['make', 'ninja'],
226
+ 'linux3': ['make', 'ninja'],
227
+ 'darwin': ['make', 'ninja', 'xcode'],
228
+ }[sys.platform]
229
+
230
+ for format in format_list:
231
+ os.environ['TESTGYP_FORMAT'] = format
232
+ if not opts.quiet:
233
+ sys.stdout.write('TESTGYP_FORMAT=%s\n' % format)
234
+
235
+ gyp_options = []
236
+ for option in opts.gyp_option:
237
+ gyp_options += ['-G', option]
238
+ if gyp_options and not opts.quiet:
239
+ sys.stdout.write('Extra Gyp options: %s\n' % gyp_options)
240
+
241
+ for test in tests:
242
+ status = cr.run([sys.executable, test] + gyp_options,
243
+ stdout=sys.stdout,
244
+ stderr=sys.stderr)
245
+ if status == 2:
246
+ no_result.append(test)
247
+ elif status:
248
+ failed.append(test)
249
+ else:
250
+ passed.append(test)
251
+
252
+ if not opts.quiet:
253
+ def report(description, tests):
254
+ if tests:
255
+ if len(tests) == 1:
256
+ sys.stdout.write("\n%s the following test:\n" % description)
257
+ else:
258
+ fmt = "\n%s the following %d tests:\n"
259
+ sys.stdout.write(fmt % (description, len(tests)))
260
+ sys.stdout.write("\t" + "\n\t".join(tests) + "\n")
261
+
262
+ if opts.passed:
263
+ report("Passed", passed)
264
+ report("Failed", failed)
265
+ report("No result from", no_result)
266
+
267
+ if failed:
268
+ return 1
269
+ else:
270
+ return 0
271
+
272
+
273
+ if __name__ == "__main__":
274
+ sys.exit(main())
@@ -0,0 +1,1483 @@
1
+ #!/usr/bin/env python
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 StringIO
10
+ import unittest
11
+ import gyp.MSVSSettings as MSVSSettings
12
+
13
+
14
+ class TestSequenceFunctions(unittest.TestCase):
15
+
16
+ def setUp(self):
17
+ self.stderr = StringIO.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
+ {'VCCLCompilerTool': {},
30
+ 'VCLinkerTool': {},
31
+ 'VCMIDLTool': {},
32
+ 'foo': {},
33
+ 'VCResourceCompilerTool': {},
34
+ 'VCLibrarianTool': {},
35
+ 'VCManifestTool': {},
36
+ 'ClCompile': {}},
37
+ self.stderr)
38
+ self._ExpectedWarnings([
39
+ 'Warning: unrecognized tool foo',
40
+ 'Warning: unrecognized tool ClCompile'])
41
+
42
+ def testValidateMSVSSettings_settings(self):
43
+ """Tests that for invalid MSVS settings."""
44
+ MSVSSettings.ValidateMSVSSettings(
45
+ {'VCCLCompilerTool': {
46
+ 'AdditionalIncludeDirectories': 'folder1;folder2',
47
+ 'AdditionalOptions': ['string1', 'string2'],
48
+ 'AdditionalUsingDirectories': 'folder1;folder2',
49
+ 'AssemblerListingLocation': 'a_file_name',
50
+ 'AssemblerOutput': '0',
51
+ 'BasicRuntimeChecks': '5',
52
+ 'BrowseInformation': 'fdkslj',
53
+ 'BrowseInformationFile': 'a_file_name',
54
+ 'BufferSecurityCheck': 'true',
55
+ 'CallingConvention': '-1',
56
+ 'CompileAs': '1',
57
+ 'DebugInformationFormat': '2',
58
+ 'DefaultCharIsUnsigned': 'true',
59
+ 'Detect64BitPortabilityProblems': 'true',
60
+ 'DisableLanguageExtensions': 'true',
61
+ 'DisableSpecificWarnings': 'string1;string2',
62
+ 'EnableEnhancedInstructionSet': '1',
63
+ 'EnableFiberSafeOptimizations': 'true',
64
+ 'EnableFunctionLevelLinking': 'true',
65
+ 'EnableIntrinsicFunctions': 'true',
66
+ 'EnablePREfast': 'true',
67
+ 'Enableprefast': 'bogus',
68
+ 'ErrorReporting': '1',
69
+ 'ExceptionHandling': '1',
70
+ 'ExpandAttributedSource': 'true',
71
+ 'FavorSizeOrSpeed': '1',
72
+ 'FloatingPointExceptions': 'true',
73
+ 'FloatingPointModel': '1',
74
+ 'ForceConformanceInForLoopScope': 'true',
75
+ 'ForcedIncludeFiles': 'file1;file2',
76
+ 'ForcedUsingFiles': 'file1;file2',
77
+ 'GeneratePreprocessedFile': '1',
78
+ 'GenerateXMLDocumentationFiles': 'true',
79
+ 'IgnoreStandardIncludePath': 'true',
80
+ 'InlineFunctionExpansion': '1',
81
+ 'KeepComments': 'true',
82
+ 'MinimalRebuild': 'true',
83
+ 'ObjectFile': 'a_file_name',
84
+ 'OmitDefaultLibName': 'true',
85
+ 'OmitFramePointers': 'true',
86
+ 'OpenMP': 'true',
87
+ 'Optimization': '1',
88
+ 'PrecompiledHeaderFile': 'a_file_name',
89
+ 'PrecompiledHeaderThrough': 'a_file_name',
90
+ 'PreprocessorDefinitions': 'string1;string2',
91
+ 'ProgramDataBaseFileName': 'a_file_name',
92
+ 'RuntimeLibrary': '1',
93
+ 'RuntimeTypeInfo': 'true',
94
+ 'ShowIncludes': 'true',
95
+ 'SmallerTypeCheck': 'true',
96
+ 'StringPooling': 'true',
97
+ 'StructMemberAlignment': '1',
98
+ 'SuppressStartupBanner': 'true',
99
+ 'TreatWChar_tAsBuiltInType': 'true',
100
+ 'UndefineAllPreprocessorDefinitions': 'true',
101
+ 'UndefinePreprocessorDefinitions': 'string1;string2',
102
+ 'UseFullPaths': 'true',
103
+ 'UsePrecompiledHeader': '1',
104
+ 'UseUnicodeResponseFiles': 'true',
105
+ 'WarnAsError': 'true',
106
+ 'WarningLevel': '1',
107
+ 'WholeProgramOptimization': 'true',
108
+ 'XMLDocumentationFileName': 'a_file_name',
109
+ 'ZZXYZ': 'bogus'},
110
+ 'VCLinkerTool': {
111
+ 'AdditionalDependencies': 'file1;file2',
112
+ 'AdditionalDependencies_excluded': 'file3',
113
+ 'AdditionalLibraryDirectories': 'folder1;folder2',
114
+ 'AdditionalManifestDependencies': 'file1;file2',
115
+ 'AdditionalOptions': 'a string1',
116
+ 'AddModuleNamesToAssembly': 'file1;file2',
117
+ 'AllowIsolation': 'true',
118
+ 'AssemblyDebug': '2',
119
+ 'AssemblyLinkResource': 'file1;file2',
120
+ 'BaseAddress': 'a string1',
121
+ 'CLRImageType': '2',
122
+ 'CLRThreadAttribute': '2',
123
+ 'CLRUnmanagedCodeCheck': 'true',
124
+ 'DataExecutionPrevention': '2',
125
+ 'DelayLoadDLLs': 'file1;file2',
126
+ 'DelaySign': 'true',
127
+ 'Driver': '2',
128
+ 'EmbedManagedResourceFile': 'file1;file2',
129
+ 'EnableCOMDATFolding': '2',
130
+ 'EnableUAC': 'true',
131
+ 'EntryPointSymbol': 'a string1',
132
+ 'ErrorReporting': '2',
133
+ 'FixedBaseAddress': '2',
134
+ 'ForceSymbolReferences': 'file1;file2',
135
+ 'FunctionOrder': 'a_file_name',
136
+ 'GenerateDebugInformation': 'true',
137
+ 'GenerateManifest': 'true',
138
+ 'GenerateMapFile': 'true',
139
+ 'HeapCommitSize': 'a string1',
140
+ 'HeapReserveSize': 'a string1',
141
+ 'IgnoreAllDefaultLibraries': 'true',
142
+ 'IgnoreDefaultLibraryNames': 'file1;file2',
143
+ 'IgnoreEmbeddedIDL': 'true',
144
+ 'IgnoreImportLibrary': 'true',
145
+ 'ImportLibrary': 'a_file_name',
146
+ 'KeyContainer': 'a_file_name',
147
+ 'KeyFile': 'a_file_name',
148
+ 'LargeAddressAware': '2',
149
+ 'LinkIncremental': '2',
150
+ 'LinkLibraryDependencies': 'true',
151
+ 'LinkTimeCodeGeneration': '2',
152
+ 'ManifestFile': 'a_file_name',
153
+ 'MapExports': 'true',
154
+ 'MapFileName': 'a_file_name',
155
+ 'MergedIDLBaseFileName': 'a_file_name',
156
+ 'MergeSections': 'a string1',
157
+ 'MidlCommandFile': 'a_file_name',
158
+ 'ModuleDefinitionFile': 'a_file_name',
159
+ 'OptimizeForWindows98': '1',
160
+ 'OptimizeReferences': '2',
161
+ 'OutputFile': 'a_file_name',
162
+ 'PerUserRedirection': 'true',
163
+ 'Profile': 'true',
164
+ 'ProfileGuidedDatabase': 'a_file_name',
165
+ 'ProgramDatabaseFile': 'a_file_name',
166
+ 'RandomizedBaseAddress': '2',
167
+ 'RegisterOutput': 'true',
168
+ 'ResourceOnlyDLL': 'true',
169
+ 'SetChecksum': 'true',
170
+ 'ShowProgress': '2',
171
+ 'StackCommitSize': 'a string1',
172
+ 'StackReserveSize': 'a string1',
173
+ 'StripPrivateSymbols': 'a_file_name',
174
+ 'SubSystem': '2',
175
+ 'SupportUnloadOfDelayLoadedDLL': 'true',
176
+ 'SuppressStartupBanner': 'true',
177
+ 'SwapRunFromCD': 'true',
178
+ 'SwapRunFromNet': 'true',
179
+ 'TargetMachine': '2',
180
+ 'TerminalServerAware': '2',
181
+ 'TurnOffAssemblyGeneration': 'true',
182
+ 'TypeLibraryFile': 'a_file_name',
183
+ 'TypeLibraryResourceID': '33',
184
+ 'UACExecutionLevel': '2',
185
+ 'UACUIAccess': 'true',
186
+ 'UseLibraryDependencyInputs': 'true',
187
+ 'UseUnicodeResponseFiles': 'true',
188
+ 'Version': 'a string1'},
189
+ 'VCMIDLTool': {
190
+ 'AdditionalIncludeDirectories': 'folder1;folder2',
191
+ 'AdditionalOptions': 'a string1',
192
+ 'CPreprocessOptions': 'a string1',
193
+ 'DefaultCharType': '1',
194
+ 'DLLDataFileName': 'a_file_name',
195
+ 'EnableErrorChecks': '1',
196
+ 'ErrorCheckAllocations': 'true',
197
+ 'ErrorCheckBounds': 'true',
198
+ 'ErrorCheckEnumRange': 'true',
199
+ 'ErrorCheckRefPointers': 'true',
200
+ 'ErrorCheckStubData': 'true',
201
+ 'GenerateStublessProxies': 'true',
202
+ 'GenerateTypeLibrary': 'true',
203
+ 'HeaderFileName': 'a_file_name',
204
+ 'IgnoreStandardIncludePath': 'true',
205
+ 'InterfaceIdentifierFileName': 'a_file_name',
206
+ 'MkTypLibCompatible': 'true',
207
+ 'notgood': 'bogus',
208
+ 'OutputDirectory': 'a string1',
209
+ 'PreprocessorDefinitions': 'string1;string2',
210
+ 'ProxyFileName': 'a_file_name',
211
+ 'RedirectOutputAndErrors': 'a_file_name',
212
+ 'StructMemberAlignment': '1',
213
+ 'SuppressStartupBanner': 'true',
214
+ 'TargetEnvironment': '1',
215
+ 'TypeLibraryName': 'a_file_name',
216
+ 'UndefinePreprocessorDefinitions': 'string1;string2',
217
+ 'ValidateParameters': 'true',
218
+ 'WarnAsError': 'true',
219
+ 'WarningLevel': '1'},
220
+ 'VCResourceCompilerTool': {
221
+ 'AdditionalOptions': 'a string1',
222
+ 'AdditionalIncludeDirectories': 'folder1;folder2',
223
+ 'Culture': '1003',
224
+ 'IgnoreStandardIncludePath': 'true',
225
+ 'notgood2': 'bogus',
226
+ 'PreprocessorDefinitions': 'string1;string2',
227
+ 'ResourceOutputFileName': 'a string1',
228
+ 'ShowProgress': 'true',
229
+ 'SuppressStartupBanner': 'true',
230
+ 'UndefinePreprocessorDefinitions': 'string1;string2'},
231
+ 'VCLibrarianTool': {
232
+ 'AdditionalDependencies': 'file1;file2',
233
+ 'AdditionalLibraryDirectories': 'folder1;folder2',
234
+ 'AdditionalOptions': 'a string1',
235
+ 'ExportNamedFunctions': 'string1;string2',
236
+ 'ForceSymbolReferences': 'a string1',
237
+ 'IgnoreAllDefaultLibraries': 'true',
238
+ 'IgnoreSpecificDefaultLibraries': 'file1;file2',
239
+ 'LinkLibraryDependencies': 'true',
240
+ 'ModuleDefinitionFile': 'a_file_name',
241
+ 'OutputFile': 'a_file_name',
242
+ 'SuppressStartupBanner': 'true',
243
+ 'UseUnicodeResponseFiles': 'true'},
244
+ 'VCManifestTool': {
245
+ 'AdditionalManifestFiles': 'file1;file2',
246
+ 'AdditionalOptions': 'a string1',
247
+ 'AssemblyIdentity': 'a string1',
248
+ 'ComponentFileName': 'a_file_name',
249
+ 'DependencyInformationFile': 'a_file_name',
250
+ 'GenerateCatalogFiles': 'true',
251
+ 'InputResourceManifests': 'a string1',
252
+ 'ManifestResourceFile': 'a_file_name',
253
+ 'OutputManifestFile': 'a_file_name',
254
+ 'RegistrarScriptFile': 'a_file_name',
255
+ 'ReplacementsFile': 'a_file_name',
256
+ 'SuppressStartupBanner': 'true',
257
+ 'TypeLibraryFile': 'a_file_name',
258
+ 'UpdateFileHashes': 'truel',
259
+ 'UpdateFileHashesSearchPath': 'a_file_name',
260
+ 'UseFAT32Workaround': 'true',
261
+ 'UseUnicodeResponseFiles': 'true',
262
+ 'VerboseOutput': 'true'}},
263
+ self.stderr)
264
+ self._ExpectedWarnings([
265
+ 'Warning: for VCCLCompilerTool/BasicRuntimeChecks, '
266
+ 'index value (5) not in expected range [0, 4)',
267
+ 'Warning: for VCCLCompilerTool/BrowseInformation, '
268
+ "invalid literal for int() with base 10: 'fdkslj'",
269
+ 'Warning: for VCCLCompilerTool/CallingConvention, '
270
+ 'index value (-1) not in expected range [0, 3)',
271
+ 'Warning: for VCCLCompilerTool/DebugInformationFormat, '
272
+ 'converted value for 2 not specified.',
273
+ 'Warning: unrecognized setting VCCLCompilerTool/Enableprefast',
274
+ 'Warning: unrecognized setting VCCLCompilerTool/ZZXYZ',
275
+ 'Warning: for VCLinkerTool/TargetMachine, '
276
+ 'converted value for 2 not specified.',
277
+ 'Warning: unrecognized setting VCMIDLTool/notgood',
278
+ 'Warning: unrecognized setting VCResourceCompilerTool/notgood2',
279
+ 'Warning: for VCManifestTool/UpdateFileHashes, '
280
+ "expected bool; got 'truel'"
281
+ ''])
282
+
283
+ def testValidateMSBuildSettings_settings(self):
284
+ """Tests that for invalid MSBuild settings."""
285
+ MSVSSettings.ValidateMSBuildSettings(
286
+ {'ClCompile': {
287
+ 'AdditionalIncludeDirectories': 'folder1;folder2',
288
+ 'AdditionalOptions': ['string1', 'string2'],
289
+ 'AdditionalUsingDirectories': 'folder1;folder2',
290
+ 'AssemblerListingLocation': 'a_file_name',
291
+ 'AssemblerOutput': 'NoListing',
292
+ 'BasicRuntimeChecks': 'StackFrameRuntimeCheck',
293
+ 'BrowseInformation': 'false',
294
+ 'BrowseInformationFile': 'a_file_name',
295
+ 'BufferSecurityCheck': 'true',
296
+ 'BuildingInIDE': 'true',
297
+ 'CallingConvention': 'Cdecl',
298
+ 'CompileAs': 'CompileAsC',
299
+ 'CompileAsManaged': 'Pure',
300
+ 'CreateHotpatchableImage': 'true',
301
+ 'DebugInformationFormat': 'ProgramDatabase',
302
+ 'DisableLanguageExtensions': 'true',
303
+ 'DisableSpecificWarnings': 'string1;string2',
304
+ 'EnableEnhancedInstructionSet': 'StreamingSIMDExtensions',
305
+ 'EnableFiberSafeOptimizations': 'true',
306
+ 'EnablePREfast': 'true',
307
+ 'Enableprefast': 'bogus',
308
+ 'ErrorReporting': 'Prompt',
309
+ 'ExceptionHandling': 'SyncCThrow',
310
+ 'ExpandAttributedSource': 'true',
311
+ 'FavorSizeOrSpeed': 'Neither',
312
+ 'FloatingPointExceptions': 'true',
313
+ 'FloatingPointModel': 'Precise',
314
+ 'ForceConformanceInForLoopScope': 'true',
315
+ 'ForcedIncludeFiles': 'file1;file2',
316
+ 'ForcedUsingFiles': 'file1;file2',
317
+ 'FunctionLevelLinking': 'false',
318
+ 'GenerateXMLDocumentationFiles': 'true',
319
+ 'IgnoreStandardIncludePath': 'true',
320
+ 'InlineFunctionExpansion': 'OnlyExplicitInline',
321
+ 'IntrinsicFunctions': 'false',
322
+ 'MinimalRebuild': 'true',
323
+ 'MultiProcessorCompilation': 'true',
324
+ 'ObjectFileName': 'a_file_name',
325
+ 'OmitDefaultLibName': 'true',
326
+ 'OmitFramePointers': 'true',
327
+ 'OpenMPSupport': 'true',
328
+ 'Optimization': 'Disabled',
329
+ 'PrecompiledHeader': 'NotUsing',
330
+ 'PrecompiledHeaderFile': 'a_file_name',
331
+ 'PrecompiledHeaderOutputFile': 'a_file_name',
332
+ 'PreprocessKeepComments': 'true',
333
+ 'PreprocessorDefinitions': 'string1;string2',
334
+ 'PreprocessOutputPath': 'a string1',
335
+ 'PreprocessSuppressLineNumbers': 'false',
336
+ 'PreprocessToFile': 'false',
337
+ 'ProcessorNumber': '33',
338
+ 'ProgramDataBaseFileName': 'a_file_name',
339
+ 'RuntimeLibrary': 'MultiThreaded',
340
+ 'RuntimeTypeInfo': 'true',
341
+ 'ShowIncludes': 'true',
342
+ 'SmallerTypeCheck': 'true',
343
+ 'StringPooling': 'true',
344
+ 'StructMemberAlignment': '1Byte',
345
+ 'SuppressStartupBanner': 'true',
346
+ 'TrackerLogDirectory': 'a_folder',
347
+ 'TreatSpecificWarningsAsErrors': 'string1;string2',
348
+ 'TreatWarningAsError': 'true',
349
+ 'TreatWChar_tAsBuiltInType': 'true',
350
+ 'UndefineAllPreprocessorDefinitions': 'true',
351
+ 'UndefinePreprocessorDefinitions': 'string1;string2',
352
+ 'UseFullPaths': 'true',
353
+ 'UseUnicodeForAssemblerListing': 'true',
354
+ 'WarningLevel': 'TurnOffAllWarnings',
355
+ 'WholeProgramOptimization': 'true',
356
+ 'XMLDocumentationFileName': 'a_file_name',
357
+ 'ZZXYZ': 'bogus'},
358
+ 'Link': {
359
+ 'AdditionalDependencies': 'file1;file2',
360
+ 'AdditionalLibraryDirectories': 'folder1;folder2',
361
+ 'AdditionalManifestDependencies': 'file1;file2',
362
+ 'AdditionalOptions': 'a string1',
363
+ 'AddModuleNamesToAssembly': 'file1;file2',
364
+ 'AllowIsolation': 'true',
365
+ 'AssemblyDebug': '',
366
+ 'AssemblyLinkResource': 'file1;file2',
367
+ 'BaseAddress': 'a string1',
368
+ 'BuildingInIDE': 'true',
369
+ 'CLRImageType': 'ForceIJWImage',
370
+ 'CLRSupportLastError': 'Enabled',
371
+ 'CLRThreadAttribute': 'MTAThreadingAttribute',
372
+ 'CLRUnmanagedCodeCheck': 'true',
373
+ 'CreateHotPatchableImage': 'X86Image',
374
+ 'DataExecutionPrevention': 'false',
375
+ 'DelayLoadDLLs': 'file1;file2',
376
+ 'DelaySign': 'true',
377
+ 'Driver': 'NotSet',
378
+ 'EmbedManagedResourceFile': 'file1;file2',
379
+ 'EnableCOMDATFolding': 'false',
380
+ 'EnableUAC': 'true',
381
+ 'EntryPointSymbol': 'a string1',
382
+ 'FixedBaseAddress': 'false',
383
+ 'ForceFileOutput': 'Enabled',
384
+ 'ForceSymbolReferences': 'file1;file2',
385
+ 'FunctionOrder': 'a_file_name',
386
+ 'GenerateDebugInformation': 'true',
387
+ 'GenerateMapFile': 'true',
388
+ 'HeapCommitSize': 'a string1',
389
+ 'HeapReserveSize': 'a string1',
390
+ 'IgnoreAllDefaultLibraries': 'true',
391
+ 'IgnoreEmbeddedIDL': 'true',
392
+ 'IgnoreSpecificDefaultLibraries': 'a_file_list',
393
+ 'ImageHasSafeExceptionHandlers': 'true',
394
+ 'ImportLibrary': 'a_file_name',
395
+ 'KeyContainer': 'a_file_name',
396
+ 'KeyFile': 'a_file_name',
397
+ 'LargeAddressAware': 'false',
398
+ 'LinkDLL': 'true',
399
+ 'LinkErrorReporting': 'SendErrorReport',
400
+ 'LinkStatus': 'true',
401
+ 'LinkTimeCodeGeneration': 'UseLinkTimeCodeGeneration',
402
+ 'ManifestFile': 'a_file_name',
403
+ 'MapExports': 'true',
404
+ 'MapFileName': 'a_file_name',
405
+ 'MergedIDLBaseFileName': 'a_file_name',
406
+ 'MergeSections': 'a string1',
407
+ 'MidlCommandFile': 'a_file_name',
408
+ 'MinimumRequiredVersion': 'a string1',
409
+ 'ModuleDefinitionFile': 'a_file_name',
410
+ 'MSDOSStubFileName': 'a_file_name',
411
+ 'NoEntryPoint': 'true',
412
+ 'OptimizeReferences': 'false',
413
+ 'OutputFile': 'a_file_name',
414
+ 'PerUserRedirection': 'true',
415
+ 'PreventDllBinding': 'true',
416
+ 'Profile': 'true',
417
+ 'ProfileGuidedDatabase': 'a_file_name',
418
+ 'ProgramDatabaseFile': 'a_file_name',
419
+ 'RandomizedBaseAddress': 'false',
420
+ 'RegisterOutput': 'true',
421
+ 'SectionAlignment': '33',
422
+ 'SetChecksum': 'true',
423
+ 'ShowProgress': 'LinkVerboseREF',
424
+ 'SpecifySectionAttributes': 'a string1',
425
+ 'StackCommitSize': 'a string1',
426
+ 'StackReserveSize': 'a string1',
427
+ 'StripPrivateSymbols': 'a_file_name',
428
+ 'SubSystem': 'Console',
429
+ 'SupportNobindOfDelayLoadedDLL': 'true',
430
+ 'SupportUnloadOfDelayLoadedDLL': 'true',
431
+ 'SuppressStartupBanner': 'true',
432
+ 'SwapRunFromCD': 'true',
433
+ 'SwapRunFromNET': 'true',
434
+ 'TargetMachine': 'MachineX86',
435
+ 'TerminalServerAware': 'false',
436
+ 'TrackerLogDirectory': 'a_folder',
437
+ 'TreatLinkerWarningAsErrors': 'true',
438
+ 'TurnOffAssemblyGeneration': 'true',
439
+ 'TypeLibraryFile': 'a_file_name',
440
+ 'TypeLibraryResourceID': '33',
441
+ 'UACExecutionLevel': 'AsInvoker',
442
+ 'UACUIAccess': 'true',
443
+ 'Version': 'a string1'},
444
+ 'ResourceCompile': {
445
+ 'AdditionalIncludeDirectories': 'folder1;folder2',
446
+ 'AdditionalOptions': 'a string1',
447
+ 'Culture': '0x236',
448
+ 'IgnoreStandardIncludePath': 'true',
449
+ 'NullTerminateStrings': 'true',
450
+ 'PreprocessorDefinitions': 'string1;string2',
451
+ 'ResourceOutputFileName': 'a string1',
452
+ 'ShowProgress': 'true',
453
+ 'SuppressStartupBanner': 'true',
454
+ 'TrackerLogDirectory': 'a_folder',
455
+ 'UndefinePreprocessorDefinitions': 'string1;string2'},
456
+ 'Midl': {
457
+ 'AdditionalIncludeDirectories': 'folder1;folder2',
458
+ 'AdditionalOptions': 'a string1',
459
+ 'ApplicationConfigurationMode': 'true',
460
+ 'ClientStubFile': 'a_file_name',
461
+ 'CPreprocessOptions': 'a string1',
462
+ 'DefaultCharType': 'Signed',
463
+ 'DllDataFileName': 'a_file_name',
464
+ 'EnableErrorChecks': 'EnableCustom',
465
+ 'ErrorCheckAllocations': 'true',
466
+ 'ErrorCheckBounds': 'true',
467
+ 'ErrorCheckEnumRange': 'true',
468
+ 'ErrorCheckRefPointers': 'true',
469
+ 'ErrorCheckStubData': 'true',
470
+ 'GenerateClientFiles': 'Stub',
471
+ 'GenerateServerFiles': 'None',
472
+ 'GenerateStublessProxies': 'true',
473
+ 'GenerateTypeLibrary': 'true',
474
+ 'HeaderFileName': 'a_file_name',
475
+ 'IgnoreStandardIncludePath': 'true',
476
+ 'InterfaceIdentifierFileName': 'a_file_name',
477
+ 'LocaleID': '33',
478
+ 'MkTypLibCompatible': 'true',
479
+ 'OutputDirectory': 'a string1',
480
+ 'PreprocessorDefinitions': 'string1;string2',
481
+ 'ProxyFileName': 'a_file_name',
482
+ 'RedirectOutputAndErrors': 'a_file_name',
483
+ 'ServerStubFile': 'a_file_name',
484
+ 'StructMemberAlignment': 'NotSet',
485
+ 'SuppressCompilerWarnings': 'true',
486
+ 'SuppressStartupBanner': 'true',
487
+ 'TargetEnvironment': 'Itanium',
488
+ 'TrackerLogDirectory': 'a_folder',
489
+ 'TypeLibFormat': 'NewFormat',
490
+ 'TypeLibraryName': 'a_file_name',
491
+ 'UndefinePreprocessorDefinitions': 'string1;string2',
492
+ 'ValidateAllParameters': 'true',
493
+ 'WarnAsError': 'true',
494
+ 'WarningLevel': '1'},
495
+ 'Lib': {
496
+ 'AdditionalDependencies': 'file1;file2',
497
+ 'AdditionalLibraryDirectories': 'folder1;folder2',
498
+ 'AdditionalOptions': 'a string1',
499
+ 'DisplayLibrary': 'a string1',
500
+ 'ErrorReporting': 'PromptImmediately',
501
+ 'ExportNamedFunctions': 'string1;string2',
502
+ 'ForceSymbolReferences': 'a string1',
503
+ 'IgnoreAllDefaultLibraries': 'true',
504
+ 'IgnoreSpecificDefaultLibraries': 'file1;file2',
505
+ 'LinkTimeCodeGeneration': 'true',
506
+ 'MinimumRequiredVersion': 'a string1',
507
+ 'ModuleDefinitionFile': 'a_file_name',
508
+ 'Name': 'a_file_name',
509
+ 'OutputFile': 'a_file_name',
510
+ 'RemoveObjects': 'file1;file2',
511
+ 'SubSystem': 'Console',
512
+ 'SuppressStartupBanner': 'true',
513
+ 'TargetMachine': 'MachineX86i',
514
+ 'TrackerLogDirectory': 'a_folder',
515
+ 'TreatLibWarningAsErrors': 'true',
516
+ 'UseUnicodeResponseFiles': 'true',
517
+ 'Verbose': 'true'},
518
+ 'Manifest': {
519
+ 'AdditionalManifestFiles': 'file1;file2',
520
+ 'AdditionalOptions': 'a string1',
521
+ 'AssemblyIdentity': 'a string1',
522
+ 'ComponentFileName': 'a_file_name',
523
+ 'EnableDPIAwareness': 'fal',
524
+ 'GenerateCatalogFiles': 'truel',
525
+ 'GenerateCategoryTags': 'true',
526
+ 'InputResourceManifests': 'a string1',
527
+ 'ManifestFromManagedAssembly': 'a_file_name',
528
+ 'notgood3': 'bogus',
529
+ 'OutputManifestFile': 'a_file_name',
530
+ 'OutputResourceManifests': 'a string1',
531
+ 'RegistrarScriptFile': 'a_file_name',
532
+ 'ReplacementsFile': 'a_file_name',
533
+ 'SuppressDependencyElement': 'true',
534
+ 'SuppressStartupBanner': 'true',
535
+ 'TrackerLogDirectory': 'a_folder',
536
+ 'TypeLibraryFile': 'a_file_name',
537
+ 'UpdateFileHashes': 'true',
538
+ 'UpdateFileHashesSearchPath': 'a_file_name',
539
+ 'VerboseOutput': 'true'},
540
+ 'ProjectReference': {
541
+ 'LinkLibraryDependencies': 'true',
542
+ 'UseLibraryDependencyInputs': 'true'},
543
+ 'ManifestResourceCompile': {
544
+ 'ResourceOutputFileName': 'a_file_name'},
545
+ '': {
546
+ 'EmbedManifest': 'true',
547
+ 'GenerateManifest': 'true',
548
+ 'IgnoreImportLibrary': 'true',
549
+ 'LinkIncremental': 'false'}},
550
+ self.stderr)
551
+ self._ExpectedWarnings([
552
+ 'Warning: unrecognized setting ClCompile/Enableprefast',
553
+ 'Warning: unrecognized setting ClCompile/ZZXYZ',
554
+ 'Warning: unrecognized setting Manifest/notgood3',
555
+ 'Warning: for Manifest/GenerateCatalogFiles, '
556
+ "expected bool; got 'truel'",
557
+ 'Warning: for Lib/TargetMachine, unrecognized enumerated value '
558
+ 'MachineX86i',
559
+ "Warning: for Manifest/EnableDPIAwareness, expected bool; got 'fal'"])
560
+
561
+ def testConvertToMSBuildSettings_empty(self):
562
+ """Tests an empty conversion."""
563
+ msvs_settings = {}
564
+ expected_msbuild_settings = {}
565
+ actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(
566
+ msvs_settings,
567
+ self.stderr)
568
+ self.assertEqual(expected_msbuild_settings, actual_msbuild_settings)
569
+ self._ExpectedWarnings([])
570
+
571
+ def testConvertToMSBuildSettings_minimal(self):
572
+ """Tests a minimal conversion."""
573
+ msvs_settings = {
574
+ 'VCCLCompilerTool': {
575
+ 'AdditionalIncludeDirectories': 'dir1',
576
+ 'AdditionalOptions': '/foo',
577
+ 'BasicRuntimeChecks': '0',
578
+ },
579
+ 'VCLinkerTool': {
580
+ 'LinkTimeCodeGeneration': '1',
581
+ 'ErrorReporting': '1',
582
+ 'DataExecutionPrevention': '2',
583
+ },
584
+ }
585
+ expected_msbuild_settings = {
586
+ 'ClCompile': {
587
+ 'AdditionalIncludeDirectories': 'dir1',
588
+ 'AdditionalOptions': '/foo',
589
+ 'BasicRuntimeChecks': 'Default',
590
+ },
591
+ 'Link': {
592
+ 'LinkTimeCodeGeneration': 'UseLinkTimeCodeGeneration',
593
+ 'LinkErrorReporting': 'PromptImmediately',
594
+ 'DataExecutionPrevention': 'true',
595
+ },
596
+ }
597
+ actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(
598
+ msvs_settings,
599
+ self.stderr)
600
+ self.assertEqual(expected_msbuild_settings, actual_msbuild_settings)
601
+ self._ExpectedWarnings([])
602
+
603
+ def testConvertToMSBuildSettings_warnings(self):
604
+ """Tests conversion that generates warnings."""
605
+ msvs_settings = {
606
+ 'VCCLCompilerTool': {
607
+ 'AdditionalIncludeDirectories': '1',
608
+ 'AdditionalOptions': '2',
609
+ # These are incorrect values:
610
+ 'BasicRuntimeChecks': '12',
611
+ 'BrowseInformation': '21',
612
+ 'UsePrecompiledHeader': '13',
613
+ 'GeneratePreprocessedFile': '14'},
614
+ 'VCLinkerTool': {
615
+ # These are incorrect values:
616
+ 'Driver': '10',
617
+ 'LinkTimeCodeGeneration': '31',
618
+ 'ErrorReporting': '21',
619
+ 'FixedBaseAddress': '6'},
620
+ 'VCResourceCompilerTool': {
621
+ # Custom
622
+ 'Culture': '1003'}}
623
+ expected_msbuild_settings = {
624
+ 'ClCompile': {
625
+ 'AdditionalIncludeDirectories': '1',
626
+ 'AdditionalOptions': '2'},
627
+ 'Link': {},
628
+ 'ResourceCompile': {
629
+ # Custom
630
+ 'Culture': '0x03eb'}}
631
+ actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(
632
+ msvs_settings,
633
+ self.stderr)
634
+ self.assertEqual(expected_msbuild_settings, actual_msbuild_settings)
635
+ self._ExpectedWarnings([
636
+ 'Warning: while converting VCCLCompilerTool/BasicRuntimeChecks to '
637
+ 'MSBuild, index value (12) not in expected range [0, 4)',
638
+ 'Warning: while converting VCCLCompilerTool/BrowseInformation to '
639
+ 'MSBuild, index value (21) not in expected range [0, 3)',
640
+ 'Warning: while converting VCCLCompilerTool/UsePrecompiledHeader to '
641
+ 'MSBuild, index value (13) not in expected range [0, 3)',
642
+ 'Warning: while converting VCCLCompilerTool/GeneratePreprocessedFile to '
643
+ 'MSBuild, value must be one of [0, 1, 2]; got 14',
644
+
645
+ 'Warning: while converting VCLinkerTool/Driver to '
646
+ 'MSBuild, index value (10) not in expected range [0, 4)',
647
+ 'Warning: while converting VCLinkerTool/LinkTimeCodeGeneration to '
648
+ 'MSBuild, index value (31) not in expected range [0, 5)',
649
+ 'Warning: while converting VCLinkerTool/ErrorReporting to '
650
+ 'MSBuild, index value (21) not in expected range [0, 3)',
651
+ 'Warning: while converting VCLinkerTool/FixedBaseAddress to '
652
+ 'MSBuild, index value (6) not in expected range [0, 3)',
653
+ ])
654
+
655
+ def testConvertToMSBuildSettings_full_synthetic(self):
656
+ """Tests conversion of all the MSBuild settings."""
657
+ msvs_settings = {
658
+ 'VCCLCompilerTool': {
659
+ 'AdditionalIncludeDirectories': 'folder1;folder2;folder3',
660
+ 'AdditionalOptions': 'a_string',
661
+ 'AdditionalUsingDirectories': 'folder1;folder2;folder3',
662
+ 'AssemblerListingLocation': 'a_file_name',
663
+ 'AssemblerOutput': '0',
664
+ 'BasicRuntimeChecks': '1',
665
+ 'BrowseInformation': '2',
666
+ 'BrowseInformationFile': 'a_file_name',
667
+ 'BufferSecurityCheck': 'true',
668
+ 'CallingConvention': '0',
669
+ 'CompileAs': '1',
670
+ 'DebugInformationFormat': '4',
671
+ 'DefaultCharIsUnsigned': 'true',
672
+ 'Detect64BitPortabilityProblems': 'true',
673
+ 'DisableLanguageExtensions': 'true',
674
+ 'DisableSpecificWarnings': 'd1;d2;d3',
675
+ 'EnableEnhancedInstructionSet': '0',
676
+ 'EnableFiberSafeOptimizations': 'true',
677
+ 'EnableFunctionLevelLinking': 'true',
678
+ 'EnableIntrinsicFunctions': 'true',
679
+ 'EnablePREfast': 'true',
680
+ 'ErrorReporting': '1',
681
+ 'ExceptionHandling': '2',
682
+ 'ExpandAttributedSource': 'true',
683
+ 'FavorSizeOrSpeed': '0',
684
+ 'FloatingPointExceptions': 'true',
685
+ 'FloatingPointModel': '1',
686
+ 'ForceConformanceInForLoopScope': 'true',
687
+ 'ForcedIncludeFiles': 'file1;file2;file3',
688
+ 'ForcedUsingFiles': 'file1;file2;file3',
689
+ 'GeneratePreprocessedFile': '1',
690
+ 'GenerateXMLDocumentationFiles': 'true',
691
+ 'IgnoreStandardIncludePath': 'true',
692
+ 'InlineFunctionExpansion': '2',
693
+ 'KeepComments': 'true',
694
+ 'MinimalRebuild': 'true',
695
+ 'ObjectFile': 'a_file_name',
696
+ 'OmitDefaultLibName': 'true',
697
+ 'OmitFramePointers': 'true',
698
+ 'OpenMP': 'true',
699
+ 'Optimization': '3',
700
+ 'PrecompiledHeaderFile': 'a_file_name',
701
+ 'PrecompiledHeaderThrough': 'a_file_name',
702
+ 'PreprocessorDefinitions': 'd1;d2;d3',
703
+ 'ProgramDataBaseFileName': 'a_file_name',
704
+ 'RuntimeLibrary': '0',
705
+ 'RuntimeTypeInfo': 'true',
706
+ 'ShowIncludes': 'true',
707
+ 'SmallerTypeCheck': 'true',
708
+ 'StringPooling': 'true',
709
+ 'StructMemberAlignment': '1',
710
+ 'SuppressStartupBanner': 'true',
711
+ 'TreatWChar_tAsBuiltInType': 'true',
712
+ 'UndefineAllPreprocessorDefinitions': 'true',
713
+ 'UndefinePreprocessorDefinitions': 'd1;d2;d3',
714
+ 'UseFullPaths': 'true',
715
+ 'UsePrecompiledHeader': '1',
716
+ 'UseUnicodeResponseFiles': 'true',
717
+ 'WarnAsError': 'true',
718
+ 'WarningLevel': '2',
719
+ 'WholeProgramOptimization': 'true',
720
+ 'XMLDocumentationFileName': 'a_file_name'},
721
+ 'VCLinkerTool': {
722
+ 'AdditionalDependencies': 'file1;file2;file3',
723
+ 'AdditionalLibraryDirectories': 'folder1;folder2;folder3',
724
+ 'AdditionalLibraryDirectories_excluded': 'folder1;folder2;folder3',
725
+ 'AdditionalManifestDependencies': 'file1;file2;file3',
726
+ 'AdditionalOptions': 'a_string',
727
+ 'AddModuleNamesToAssembly': 'file1;file2;file3',
728
+ 'AllowIsolation': 'true',
729
+ 'AssemblyDebug': '0',
730
+ 'AssemblyLinkResource': 'file1;file2;file3',
731
+ 'BaseAddress': 'a_string',
732
+ 'CLRImageType': '1',
733
+ 'CLRThreadAttribute': '2',
734
+ 'CLRUnmanagedCodeCheck': 'true',
735
+ 'DataExecutionPrevention': '0',
736
+ 'DelayLoadDLLs': 'file1;file2;file3',
737
+ 'DelaySign': 'true',
738
+ 'Driver': '1',
739
+ 'EmbedManagedResourceFile': 'file1;file2;file3',
740
+ 'EnableCOMDATFolding': '0',
741
+ 'EnableUAC': 'true',
742
+ 'EntryPointSymbol': 'a_string',
743
+ 'ErrorReporting': '0',
744
+ 'FixedBaseAddress': '1',
745
+ 'ForceSymbolReferences': 'file1;file2;file3',
746
+ 'FunctionOrder': 'a_file_name',
747
+ 'GenerateDebugInformation': 'true',
748
+ 'GenerateManifest': 'true',
749
+ 'GenerateMapFile': 'true',
750
+ 'HeapCommitSize': 'a_string',
751
+ 'HeapReserveSize': 'a_string',
752
+ 'IgnoreAllDefaultLibraries': 'true',
753
+ 'IgnoreDefaultLibraryNames': 'file1;file2;file3',
754
+ 'IgnoreEmbeddedIDL': 'true',
755
+ 'IgnoreImportLibrary': 'true',
756
+ 'ImportLibrary': 'a_file_name',
757
+ 'KeyContainer': 'a_file_name',
758
+ 'KeyFile': 'a_file_name',
759
+ 'LargeAddressAware': '2',
760
+ 'LinkIncremental': '1',
761
+ 'LinkLibraryDependencies': 'true',
762
+ 'LinkTimeCodeGeneration': '2',
763
+ 'ManifestFile': 'a_file_name',
764
+ 'MapExports': 'true',
765
+ 'MapFileName': 'a_file_name',
766
+ 'MergedIDLBaseFileName': 'a_file_name',
767
+ 'MergeSections': 'a_string',
768
+ 'MidlCommandFile': 'a_file_name',
769
+ 'ModuleDefinitionFile': 'a_file_name',
770
+ 'OptimizeForWindows98': '1',
771
+ 'OptimizeReferences': '0',
772
+ 'OutputFile': 'a_file_name',
773
+ 'PerUserRedirection': 'true',
774
+ 'Profile': 'true',
775
+ 'ProfileGuidedDatabase': 'a_file_name',
776
+ 'ProgramDatabaseFile': 'a_file_name',
777
+ 'RandomizedBaseAddress': '1',
778
+ 'RegisterOutput': 'true',
779
+ 'ResourceOnlyDLL': 'true',
780
+ 'SetChecksum': 'true',
781
+ 'ShowProgress': '0',
782
+ 'StackCommitSize': 'a_string',
783
+ 'StackReserveSize': 'a_string',
784
+ 'StripPrivateSymbols': 'a_file_name',
785
+ 'SubSystem': '2',
786
+ 'SupportUnloadOfDelayLoadedDLL': 'true',
787
+ 'SuppressStartupBanner': 'true',
788
+ 'SwapRunFromCD': 'true',
789
+ 'SwapRunFromNet': 'true',
790
+ 'TargetMachine': '3',
791
+ 'TerminalServerAware': '2',
792
+ 'TurnOffAssemblyGeneration': 'true',
793
+ 'TypeLibraryFile': 'a_file_name',
794
+ 'TypeLibraryResourceID': '33',
795
+ 'UACExecutionLevel': '1',
796
+ 'UACUIAccess': 'true',
797
+ 'UseLibraryDependencyInputs': 'false',
798
+ 'UseUnicodeResponseFiles': 'true',
799
+ 'Version': 'a_string'},
800
+ 'VCResourceCompilerTool': {
801
+ 'AdditionalIncludeDirectories': 'folder1;folder2;folder3',
802
+ 'AdditionalOptions': 'a_string',
803
+ 'Culture': '1003',
804
+ 'IgnoreStandardIncludePath': 'true',
805
+ 'PreprocessorDefinitions': 'd1;d2;d3',
806
+ 'ResourceOutputFileName': 'a_string',
807
+ 'ShowProgress': 'true',
808
+ 'SuppressStartupBanner': 'true',
809
+ 'UndefinePreprocessorDefinitions': 'd1;d2;d3'},
810
+ 'VCMIDLTool': {
811
+ 'AdditionalIncludeDirectories': 'folder1;folder2;folder3',
812
+ 'AdditionalOptions': 'a_string',
813
+ 'CPreprocessOptions': 'a_string',
814
+ 'DefaultCharType': '0',
815
+ 'DLLDataFileName': 'a_file_name',
816
+ 'EnableErrorChecks': '2',
817
+ 'ErrorCheckAllocations': 'true',
818
+ 'ErrorCheckBounds': 'true',
819
+ 'ErrorCheckEnumRange': 'true',
820
+ 'ErrorCheckRefPointers': 'true',
821
+ 'ErrorCheckStubData': 'true',
822
+ 'GenerateStublessProxies': 'true',
823
+ 'GenerateTypeLibrary': 'true',
824
+ 'HeaderFileName': 'a_file_name',
825
+ 'IgnoreStandardIncludePath': 'true',
826
+ 'InterfaceIdentifierFileName': 'a_file_name',
827
+ 'MkTypLibCompatible': 'true',
828
+ 'OutputDirectory': 'a_string',
829
+ 'PreprocessorDefinitions': 'd1;d2;d3',
830
+ 'ProxyFileName': 'a_file_name',
831
+ 'RedirectOutputAndErrors': 'a_file_name',
832
+ 'StructMemberAlignment': '3',
833
+ 'SuppressStartupBanner': 'true',
834
+ 'TargetEnvironment': '1',
835
+ 'TypeLibraryName': 'a_file_name',
836
+ 'UndefinePreprocessorDefinitions': 'd1;d2;d3',
837
+ 'ValidateParameters': 'true',
838
+ 'WarnAsError': 'true',
839
+ 'WarningLevel': '4'},
840
+ 'VCLibrarianTool': {
841
+ 'AdditionalDependencies': 'file1;file2;file3',
842
+ 'AdditionalLibraryDirectories': 'folder1;folder2;folder3',
843
+ 'AdditionalLibraryDirectories_excluded': 'folder1;folder2;folder3',
844
+ 'AdditionalOptions': 'a_string',
845
+ 'ExportNamedFunctions': 'd1;d2;d3',
846
+ 'ForceSymbolReferences': 'a_string',
847
+ 'IgnoreAllDefaultLibraries': 'true',
848
+ 'IgnoreSpecificDefaultLibraries': 'file1;file2;file3',
849
+ 'LinkLibraryDependencies': 'true',
850
+ 'ModuleDefinitionFile': 'a_file_name',
851
+ 'OutputFile': 'a_file_name',
852
+ 'SuppressStartupBanner': 'true',
853
+ 'UseUnicodeResponseFiles': 'true'},
854
+ 'VCManifestTool': {
855
+ 'AdditionalManifestFiles': 'file1;file2;file3',
856
+ 'AdditionalOptions': 'a_string',
857
+ 'AssemblyIdentity': 'a_string',
858
+ 'ComponentFileName': 'a_file_name',
859
+ 'DependencyInformationFile': 'a_file_name',
860
+ 'EmbedManifest': 'true',
861
+ 'GenerateCatalogFiles': 'true',
862
+ 'InputResourceManifests': 'a_string',
863
+ 'ManifestResourceFile': 'my_name',
864
+ 'OutputManifestFile': 'a_file_name',
865
+ 'RegistrarScriptFile': 'a_file_name',
866
+ 'ReplacementsFile': 'a_file_name',
867
+ 'SuppressStartupBanner': 'true',
868
+ 'TypeLibraryFile': 'a_file_name',
869
+ 'UpdateFileHashes': 'true',
870
+ 'UpdateFileHashesSearchPath': 'a_file_name',
871
+ 'UseFAT32Workaround': 'true',
872
+ 'UseUnicodeResponseFiles': 'true',
873
+ 'VerboseOutput': 'true'}}
874
+ expected_msbuild_settings = {
875
+ 'ClCompile': {
876
+ 'AdditionalIncludeDirectories': 'folder1;folder2;folder3',
877
+ 'AdditionalOptions': 'a_string /J',
878
+ 'AdditionalUsingDirectories': 'folder1;folder2;folder3',
879
+ 'AssemblerListingLocation': 'a_file_name',
880
+ 'AssemblerOutput': 'NoListing',
881
+ 'BasicRuntimeChecks': 'StackFrameRuntimeCheck',
882
+ 'BrowseInformation': 'true',
883
+ 'BrowseInformationFile': 'a_file_name',
884
+ 'BufferSecurityCheck': 'true',
885
+ 'CallingConvention': 'Cdecl',
886
+ 'CompileAs': 'CompileAsC',
887
+ 'DebugInformationFormat': 'EditAndContinue',
888
+ 'DisableLanguageExtensions': 'true',
889
+ 'DisableSpecificWarnings': 'd1;d2;d3',
890
+ 'EnableEnhancedInstructionSet': 'NotSet',
891
+ 'EnableFiberSafeOptimizations': 'true',
892
+ 'EnablePREfast': 'true',
893
+ 'ErrorReporting': 'Prompt',
894
+ 'ExceptionHandling': 'Async',
895
+ 'ExpandAttributedSource': 'true',
896
+ 'FavorSizeOrSpeed': 'Neither',
897
+ 'FloatingPointExceptions': 'true',
898
+ 'FloatingPointModel': 'Strict',
899
+ 'ForceConformanceInForLoopScope': 'true',
900
+ 'ForcedIncludeFiles': 'file1;file2;file3',
901
+ 'ForcedUsingFiles': 'file1;file2;file3',
902
+ 'FunctionLevelLinking': 'true',
903
+ 'GenerateXMLDocumentationFiles': 'true',
904
+ 'IgnoreStandardIncludePath': 'true',
905
+ 'InlineFunctionExpansion': 'AnySuitable',
906
+ 'IntrinsicFunctions': 'true',
907
+ 'MinimalRebuild': 'true',
908
+ 'ObjectFileName': 'a_file_name',
909
+ 'OmitDefaultLibName': 'true',
910
+ 'OmitFramePointers': 'true',
911
+ 'OpenMPSupport': 'true',
912
+ 'Optimization': 'Full',
913
+ 'PrecompiledHeader': 'Create',
914
+ 'PrecompiledHeaderFile': 'a_file_name',
915
+ 'PrecompiledHeaderOutputFile': 'a_file_name',
916
+ 'PreprocessKeepComments': 'true',
917
+ 'PreprocessorDefinitions': 'd1;d2;d3',
918
+ 'PreprocessSuppressLineNumbers': 'false',
919
+ 'PreprocessToFile': 'true',
920
+ 'ProgramDataBaseFileName': 'a_file_name',
921
+ 'RuntimeLibrary': 'MultiThreaded',
922
+ 'RuntimeTypeInfo': 'true',
923
+ 'ShowIncludes': 'true',
924
+ 'SmallerTypeCheck': 'true',
925
+ 'StringPooling': 'true',
926
+ 'StructMemberAlignment': '1Byte',
927
+ 'SuppressStartupBanner': 'true',
928
+ 'TreatWarningAsError': 'true',
929
+ 'TreatWChar_tAsBuiltInType': 'true',
930
+ 'UndefineAllPreprocessorDefinitions': 'true',
931
+ 'UndefinePreprocessorDefinitions': 'd1;d2;d3',
932
+ 'UseFullPaths': 'true',
933
+ 'WarningLevel': 'Level2',
934
+ 'WholeProgramOptimization': 'true',
935
+ 'XMLDocumentationFileName': 'a_file_name'},
936
+ 'Link': {
937
+ 'AdditionalDependencies': 'file1;file2;file3',
938
+ 'AdditionalLibraryDirectories': 'folder1;folder2;folder3',
939
+ 'AdditionalManifestDependencies': 'file1;file2;file3',
940
+ 'AdditionalOptions': 'a_string',
941
+ 'AddModuleNamesToAssembly': 'file1;file2;file3',
942
+ 'AllowIsolation': 'true',
943
+ 'AssemblyDebug': '',
944
+ 'AssemblyLinkResource': 'file1;file2;file3',
945
+ 'BaseAddress': 'a_string',
946
+ 'CLRImageType': 'ForceIJWImage',
947
+ 'CLRThreadAttribute': 'STAThreadingAttribute',
948
+ 'CLRUnmanagedCodeCheck': 'true',
949
+ 'DataExecutionPrevention': '',
950
+ 'DelayLoadDLLs': 'file1;file2;file3',
951
+ 'DelaySign': 'true',
952
+ 'Driver': 'Driver',
953
+ 'EmbedManagedResourceFile': 'file1;file2;file3',
954
+ 'EnableCOMDATFolding': '',
955
+ 'EnableUAC': 'true',
956
+ 'EntryPointSymbol': 'a_string',
957
+ 'FixedBaseAddress': 'false',
958
+ 'ForceSymbolReferences': 'file1;file2;file3',
959
+ 'FunctionOrder': 'a_file_name',
960
+ 'GenerateDebugInformation': 'true',
961
+ 'GenerateMapFile': 'true',
962
+ 'HeapCommitSize': 'a_string',
963
+ 'HeapReserveSize': 'a_string',
964
+ 'IgnoreAllDefaultLibraries': 'true',
965
+ 'IgnoreEmbeddedIDL': 'true',
966
+ 'IgnoreSpecificDefaultLibraries': 'file1;file2;file3',
967
+ 'ImportLibrary': 'a_file_name',
968
+ 'KeyContainer': 'a_file_name',
969
+ 'KeyFile': 'a_file_name',
970
+ 'LargeAddressAware': 'true',
971
+ 'LinkErrorReporting': 'NoErrorReport',
972
+ 'LinkTimeCodeGeneration': 'PGInstrument',
973
+ 'ManifestFile': 'a_file_name',
974
+ 'MapExports': 'true',
975
+ 'MapFileName': 'a_file_name',
976
+ 'MergedIDLBaseFileName': 'a_file_name',
977
+ 'MergeSections': 'a_string',
978
+ 'MidlCommandFile': 'a_file_name',
979
+ 'ModuleDefinitionFile': 'a_file_name',
980
+ 'NoEntryPoint': 'true',
981
+ 'OptimizeReferences': '',
982
+ 'OutputFile': 'a_file_name',
983
+ 'PerUserRedirection': 'true',
984
+ 'Profile': 'true',
985
+ 'ProfileGuidedDatabase': 'a_file_name',
986
+ 'ProgramDatabaseFile': 'a_file_name',
987
+ 'RandomizedBaseAddress': 'false',
988
+ 'RegisterOutput': 'true',
989
+ 'SetChecksum': 'true',
990
+ 'ShowProgress': 'NotSet',
991
+ 'StackCommitSize': 'a_string',
992
+ 'StackReserveSize': 'a_string',
993
+ 'StripPrivateSymbols': 'a_file_name',
994
+ 'SubSystem': 'Windows',
995
+ 'SupportUnloadOfDelayLoadedDLL': 'true',
996
+ 'SuppressStartupBanner': 'true',
997
+ 'SwapRunFromCD': 'true',
998
+ 'SwapRunFromNET': 'true',
999
+ 'TargetMachine': 'MachineARM',
1000
+ 'TerminalServerAware': 'true',
1001
+ 'TurnOffAssemblyGeneration': 'true',
1002
+ 'TypeLibraryFile': 'a_file_name',
1003
+ 'TypeLibraryResourceID': '33',
1004
+ 'UACExecutionLevel': 'HighestAvailable',
1005
+ 'UACUIAccess': 'true',
1006
+ 'Version': 'a_string'},
1007
+ 'ResourceCompile': {
1008
+ 'AdditionalIncludeDirectories': 'folder1;folder2;folder3',
1009
+ 'AdditionalOptions': 'a_string',
1010
+ 'Culture': '0x03eb',
1011
+ 'IgnoreStandardIncludePath': 'true',
1012
+ 'PreprocessorDefinitions': 'd1;d2;d3',
1013
+ 'ResourceOutputFileName': 'a_string',
1014
+ 'ShowProgress': 'true',
1015
+ 'SuppressStartupBanner': 'true',
1016
+ 'UndefinePreprocessorDefinitions': 'd1;d2;d3'},
1017
+ 'Midl': {
1018
+ 'AdditionalIncludeDirectories': 'folder1;folder2;folder3',
1019
+ 'AdditionalOptions': 'a_string',
1020
+ 'CPreprocessOptions': 'a_string',
1021
+ 'DefaultCharType': 'Unsigned',
1022
+ 'DllDataFileName': 'a_file_name',
1023
+ 'EnableErrorChecks': 'All',
1024
+ 'ErrorCheckAllocations': 'true',
1025
+ 'ErrorCheckBounds': 'true',
1026
+ 'ErrorCheckEnumRange': 'true',
1027
+ 'ErrorCheckRefPointers': 'true',
1028
+ 'ErrorCheckStubData': 'true',
1029
+ 'GenerateStublessProxies': 'true',
1030
+ 'GenerateTypeLibrary': 'true',
1031
+ 'HeaderFileName': 'a_file_name',
1032
+ 'IgnoreStandardIncludePath': 'true',
1033
+ 'InterfaceIdentifierFileName': 'a_file_name',
1034
+ 'MkTypLibCompatible': 'true',
1035
+ 'OutputDirectory': 'a_string',
1036
+ 'PreprocessorDefinitions': 'd1;d2;d3',
1037
+ 'ProxyFileName': 'a_file_name',
1038
+ 'RedirectOutputAndErrors': 'a_file_name',
1039
+ 'StructMemberAlignment': '4',
1040
+ 'SuppressStartupBanner': 'true',
1041
+ 'TargetEnvironment': 'Win32',
1042
+ 'TypeLibraryName': 'a_file_name',
1043
+ 'UndefinePreprocessorDefinitions': 'd1;d2;d3',
1044
+ 'ValidateAllParameters': 'true',
1045
+ 'WarnAsError': 'true',
1046
+ 'WarningLevel': '4'},
1047
+ 'Lib': {
1048
+ 'AdditionalDependencies': 'file1;file2;file3',
1049
+ 'AdditionalLibraryDirectories': 'folder1;folder2;folder3',
1050
+ 'AdditionalOptions': 'a_string',
1051
+ 'ExportNamedFunctions': 'd1;d2;d3',
1052
+ 'ForceSymbolReferences': 'a_string',
1053
+ 'IgnoreAllDefaultLibraries': 'true',
1054
+ 'IgnoreSpecificDefaultLibraries': 'file1;file2;file3',
1055
+ 'ModuleDefinitionFile': 'a_file_name',
1056
+ 'OutputFile': 'a_file_name',
1057
+ 'SuppressStartupBanner': 'true',
1058
+ 'UseUnicodeResponseFiles': 'true'},
1059
+ 'Manifest': {
1060
+ 'AdditionalManifestFiles': 'file1;file2;file3',
1061
+ 'AdditionalOptions': 'a_string',
1062
+ 'AssemblyIdentity': 'a_string',
1063
+ 'ComponentFileName': 'a_file_name',
1064
+ 'GenerateCatalogFiles': 'true',
1065
+ 'InputResourceManifests': 'a_string',
1066
+ 'OutputManifestFile': 'a_file_name',
1067
+ 'RegistrarScriptFile': 'a_file_name',
1068
+ 'ReplacementsFile': 'a_file_name',
1069
+ 'SuppressStartupBanner': 'true',
1070
+ 'TypeLibraryFile': 'a_file_name',
1071
+ 'UpdateFileHashes': 'true',
1072
+ 'UpdateFileHashesSearchPath': 'a_file_name',
1073
+ 'VerboseOutput': 'true'},
1074
+ 'ManifestResourceCompile': {
1075
+ 'ResourceOutputFileName': 'my_name'},
1076
+ 'ProjectReference': {
1077
+ 'LinkLibraryDependencies': 'true',
1078
+ 'UseLibraryDependencyInputs': 'false'},
1079
+ '': {
1080
+ 'EmbedManifest': 'true',
1081
+ 'GenerateManifest': 'true',
1082
+ 'IgnoreImportLibrary': 'true',
1083
+ 'LinkIncremental': 'false'}}
1084
+ actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(
1085
+ msvs_settings,
1086
+ self.stderr)
1087
+ self.assertEqual(expected_msbuild_settings, actual_msbuild_settings)
1088
+ self._ExpectedWarnings([])
1089
+
1090
+ def testConvertToMSBuildSettings_actual(self):
1091
+ """Tests the conversion of an actual project.
1092
+
1093
+ A VS2008 project with most of the options defined was created through the
1094
+ VS2008 IDE. It was then converted to VS2010. The tool settings found in
1095
+ the .vcproj and .vcxproj files were converted to the two dictionaries
1096
+ msvs_settings and expected_msbuild_settings.
1097
+
1098
+ Note that for many settings, the VS2010 converter adds macros like
1099
+ %(AdditionalIncludeDirectories) to make sure than inherited values are
1100
+ included. Since the Gyp projects we generate do not use inheritance,
1101
+ we removed these macros. They were:
1102
+ ClCompile:
1103
+ AdditionalIncludeDirectories: ';%(AdditionalIncludeDirectories)'
1104
+ AdditionalOptions: ' %(AdditionalOptions)'
1105
+ AdditionalUsingDirectories: ';%(AdditionalUsingDirectories)'
1106
+ DisableSpecificWarnings: ';%(DisableSpecificWarnings)',
1107
+ ForcedIncludeFiles: ';%(ForcedIncludeFiles)',
1108
+ ForcedUsingFiles: ';%(ForcedUsingFiles)',
1109
+ PreprocessorDefinitions: ';%(PreprocessorDefinitions)',
1110
+ UndefinePreprocessorDefinitions:
1111
+ ';%(UndefinePreprocessorDefinitions)',
1112
+ Link:
1113
+ AdditionalDependencies: ';%(AdditionalDependencies)',
1114
+ AdditionalLibraryDirectories: ';%(AdditionalLibraryDirectories)',
1115
+ AdditionalManifestDependencies:
1116
+ ';%(AdditionalManifestDependencies)',
1117
+ AdditionalOptions: ' %(AdditionalOptions)',
1118
+ AddModuleNamesToAssembly: ';%(AddModuleNamesToAssembly)',
1119
+ AssemblyLinkResource: ';%(AssemblyLinkResource)',
1120
+ DelayLoadDLLs: ';%(DelayLoadDLLs)',
1121
+ EmbedManagedResourceFile: ';%(EmbedManagedResourceFile)',
1122
+ ForceSymbolReferences: ';%(ForceSymbolReferences)',
1123
+ IgnoreSpecificDefaultLibraries:
1124
+ ';%(IgnoreSpecificDefaultLibraries)',
1125
+ ResourceCompile:
1126
+ AdditionalIncludeDirectories: ';%(AdditionalIncludeDirectories)',
1127
+ AdditionalOptions: ' %(AdditionalOptions)',
1128
+ PreprocessorDefinitions: ';%(PreprocessorDefinitions)',
1129
+ Manifest:
1130
+ AdditionalManifestFiles: ';%(AdditionalManifestFiles)',
1131
+ AdditionalOptions: ' %(AdditionalOptions)',
1132
+ InputResourceManifests: ';%(InputResourceManifests)',
1133
+ """
1134
+ msvs_settings = {
1135
+ 'VCCLCompilerTool': {
1136
+ 'AdditionalIncludeDirectories': 'dir1',
1137
+ 'AdditionalOptions': '/more',
1138
+ 'AdditionalUsingDirectories': 'test',
1139
+ 'AssemblerListingLocation': '$(IntDir)\\a',
1140
+ 'AssemblerOutput': '1',
1141
+ 'BasicRuntimeChecks': '3',
1142
+ 'BrowseInformation': '1',
1143
+ 'BrowseInformationFile': '$(IntDir)\\e',
1144
+ 'BufferSecurityCheck': 'false',
1145
+ 'CallingConvention': '1',
1146
+ 'CompileAs': '1',
1147
+ 'DebugInformationFormat': '4',
1148
+ 'DefaultCharIsUnsigned': 'true',
1149
+ 'Detect64BitPortabilityProblems': 'true',
1150
+ 'DisableLanguageExtensions': 'true',
1151
+ 'DisableSpecificWarnings': 'abc',
1152
+ 'EnableEnhancedInstructionSet': '1',
1153
+ 'EnableFiberSafeOptimizations': 'true',
1154
+ 'EnableFunctionLevelLinking': 'true',
1155
+ 'EnableIntrinsicFunctions': 'true',
1156
+ 'EnablePREfast': 'true',
1157
+ 'ErrorReporting': '2',
1158
+ 'ExceptionHandling': '2',
1159
+ 'ExpandAttributedSource': 'true',
1160
+ 'FavorSizeOrSpeed': '2',
1161
+ 'FloatingPointExceptions': 'true',
1162
+ 'FloatingPointModel': '1',
1163
+ 'ForceConformanceInForLoopScope': 'false',
1164
+ 'ForcedIncludeFiles': 'def',
1165
+ 'ForcedUsingFiles': 'ge',
1166
+ 'GeneratePreprocessedFile': '2',
1167
+ 'GenerateXMLDocumentationFiles': 'true',
1168
+ 'IgnoreStandardIncludePath': 'true',
1169
+ 'InlineFunctionExpansion': '1',
1170
+ 'KeepComments': 'true',
1171
+ 'MinimalRebuild': 'true',
1172
+ 'ObjectFile': '$(IntDir)\\b',
1173
+ 'OmitDefaultLibName': 'true',
1174
+ 'OmitFramePointers': 'true',
1175
+ 'OpenMP': 'true',
1176
+ 'Optimization': '3',
1177
+ 'PrecompiledHeaderFile': '$(IntDir)\\$(TargetName).pche',
1178
+ 'PrecompiledHeaderThrough': 'StdAfx.hd',
1179
+ 'PreprocessorDefinitions': 'WIN32;_DEBUG;_CONSOLE',
1180
+ 'ProgramDataBaseFileName': '$(IntDir)\\vc90b.pdb',
1181
+ 'RuntimeLibrary': '3',
1182
+ 'RuntimeTypeInfo': 'false',
1183
+ 'ShowIncludes': 'true',
1184
+ 'SmallerTypeCheck': 'true',
1185
+ 'StringPooling': 'true',
1186
+ 'StructMemberAlignment': '3',
1187
+ 'SuppressStartupBanner': 'false',
1188
+ 'TreatWChar_tAsBuiltInType': 'false',
1189
+ 'UndefineAllPreprocessorDefinitions': 'true',
1190
+ 'UndefinePreprocessorDefinitions': 'wer',
1191
+ 'UseFullPaths': 'true',
1192
+ 'UsePrecompiledHeader': '0',
1193
+ 'UseUnicodeResponseFiles': 'false',
1194
+ 'WarnAsError': 'true',
1195
+ 'WarningLevel': '3',
1196
+ 'WholeProgramOptimization': 'true',
1197
+ 'XMLDocumentationFileName': '$(IntDir)\\c'},
1198
+ 'VCLinkerTool': {
1199
+ 'AdditionalDependencies': 'zx',
1200
+ 'AdditionalLibraryDirectories': 'asd',
1201
+ 'AdditionalManifestDependencies': 's2',
1202
+ 'AdditionalOptions': '/mor2',
1203
+ 'AddModuleNamesToAssembly': 'd1',
1204
+ 'AllowIsolation': 'false',
1205
+ 'AssemblyDebug': '1',
1206
+ 'AssemblyLinkResource': 'd5',
1207
+ 'BaseAddress': '23423',
1208
+ 'CLRImageType': '3',
1209
+ 'CLRThreadAttribute': '1',
1210
+ 'CLRUnmanagedCodeCheck': 'true',
1211
+ 'DataExecutionPrevention': '0',
1212
+ 'DelayLoadDLLs': 'd4',
1213
+ 'DelaySign': 'true',
1214
+ 'Driver': '2',
1215
+ 'EmbedManagedResourceFile': 'd2',
1216
+ 'EnableCOMDATFolding': '1',
1217
+ 'EnableUAC': 'false',
1218
+ 'EntryPointSymbol': 'f5',
1219
+ 'ErrorReporting': '2',
1220
+ 'FixedBaseAddress': '1',
1221
+ 'ForceSymbolReferences': 'd3',
1222
+ 'FunctionOrder': 'fssdfsd',
1223
+ 'GenerateDebugInformation': 'true',
1224
+ 'GenerateManifest': 'false',
1225
+ 'GenerateMapFile': 'true',
1226
+ 'HeapCommitSize': '13',
1227
+ 'HeapReserveSize': '12',
1228
+ 'IgnoreAllDefaultLibraries': 'true',
1229
+ 'IgnoreDefaultLibraryNames': 'flob;flok',
1230
+ 'IgnoreEmbeddedIDL': 'true',
1231
+ 'IgnoreImportLibrary': 'true',
1232
+ 'ImportLibrary': 'f4',
1233
+ 'KeyContainer': 'f7',
1234
+ 'KeyFile': 'f6',
1235
+ 'LargeAddressAware': '2',
1236
+ 'LinkIncremental': '0',
1237
+ 'LinkLibraryDependencies': 'false',
1238
+ 'LinkTimeCodeGeneration': '1',
1239
+ 'ManifestFile':
1240
+ '$(IntDir)\\$(TargetFileName).2intermediate.manifest',
1241
+ 'MapExports': 'true',
1242
+ 'MapFileName': 'd5',
1243
+ 'MergedIDLBaseFileName': 'f2',
1244
+ 'MergeSections': 'f5',
1245
+ 'MidlCommandFile': 'f1',
1246
+ 'ModuleDefinitionFile': 'sdsd',
1247
+ 'OptimizeForWindows98': '2',
1248
+ 'OptimizeReferences': '2',
1249
+ 'OutputFile': '$(OutDir)\\$(ProjectName)2.exe',
1250
+ 'PerUserRedirection': 'true',
1251
+ 'Profile': 'true',
1252
+ 'ProfileGuidedDatabase': '$(TargetDir)$(TargetName).pgdd',
1253
+ 'ProgramDatabaseFile': 'Flob.pdb',
1254
+ 'RandomizedBaseAddress': '1',
1255
+ 'RegisterOutput': 'true',
1256
+ 'ResourceOnlyDLL': 'true',
1257
+ 'SetChecksum': 'false',
1258
+ 'ShowProgress': '1',
1259
+ 'StackCommitSize': '15',
1260
+ 'StackReserveSize': '14',
1261
+ 'StripPrivateSymbols': 'd3',
1262
+ 'SubSystem': '1',
1263
+ 'SupportUnloadOfDelayLoadedDLL': 'true',
1264
+ 'SuppressStartupBanner': 'false',
1265
+ 'SwapRunFromCD': 'true',
1266
+ 'SwapRunFromNet': 'true',
1267
+ 'TargetMachine': '1',
1268
+ 'TerminalServerAware': '1',
1269
+ 'TurnOffAssemblyGeneration': 'true',
1270
+ 'TypeLibraryFile': 'f3',
1271
+ 'TypeLibraryResourceID': '12',
1272
+ 'UACExecutionLevel': '2',
1273
+ 'UACUIAccess': 'true',
1274
+ 'UseLibraryDependencyInputs': 'true',
1275
+ 'UseUnicodeResponseFiles': 'false',
1276
+ 'Version': '333'},
1277
+ 'VCResourceCompilerTool': {
1278
+ 'AdditionalIncludeDirectories': 'f3',
1279
+ 'AdditionalOptions': '/more3',
1280
+ 'Culture': '3084',
1281
+ 'IgnoreStandardIncludePath': 'true',
1282
+ 'PreprocessorDefinitions': '_UNICODE;UNICODE2',
1283
+ 'ResourceOutputFileName': '$(IntDir)/$(InputName)3.res',
1284
+ 'ShowProgress': 'true'},
1285
+ 'VCManifestTool': {
1286
+ 'AdditionalManifestFiles': 'sfsdfsd',
1287
+ 'AdditionalOptions': 'afdsdafsd',
1288
+ 'AssemblyIdentity': 'sddfdsadfsa',
1289
+ 'ComponentFileName': 'fsdfds',
1290
+ 'DependencyInformationFile': '$(IntDir)\\mt.depdfd',
1291
+ 'EmbedManifest': 'false',
1292
+ 'GenerateCatalogFiles': 'true',
1293
+ 'InputResourceManifests': 'asfsfdafs',
1294
+ 'ManifestResourceFile':
1295
+ '$(IntDir)\\$(TargetFileName).embed.manifest.resfdsf',
1296
+ 'OutputManifestFile': '$(TargetPath).manifestdfs',
1297
+ 'RegistrarScriptFile': 'sdfsfd',
1298
+ 'ReplacementsFile': 'sdffsd',
1299
+ 'SuppressStartupBanner': 'false',
1300
+ 'TypeLibraryFile': 'sfsd',
1301
+ 'UpdateFileHashes': 'true',
1302
+ 'UpdateFileHashesSearchPath': 'sfsd',
1303
+ 'UseFAT32Workaround': 'true',
1304
+ 'UseUnicodeResponseFiles': 'false',
1305
+ 'VerboseOutput': 'true'}}
1306
+ expected_msbuild_settings = {
1307
+ 'ClCompile': {
1308
+ 'AdditionalIncludeDirectories': 'dir1',
1309
+ 'AdditionalOptions': '/more /J',
1310
+ 'AdditionalUsingDirectories': 'test',
1311
+ 'AssemblerListingLocation': '$(IntDir)a',
1312
+ 'AssemblerOutput': 'AssemblyCode',
1313
+ 'BasicRuntimeChecks': 'EnableFastChecks',
1314
+ 'BrowseInformation': 'true',
1315
+ 'BrowseInformationFile': '$(IntDir)e',
1316
+ 'BufferSecurityCheck': 'false',
1317
+ 'CallingConvention': 'FastCall',
1318
+ 'CompileAs': 'CompileAsC',
1319
+ 'DebugInformationFormat': 'EditAndContinue',
1320
+ 'DisableLanguageExtensions': 'true',
1321
+ 'DisableSpecificWarnings': 'abc',
1322
+ 'EnableEnhancedInstructionSet': 'StreamingSIMDExtensions',
1323
+ 'EnableFiberSafeOptimizations': 'true',
1324
+ 'EnablePREfast': 'true',
1325
+ 'ErrorReporting': 'Queue',
1326
+ 'ExceptionHandling': 'Async',
1327
+ 'ExpandAttributedSource': 'true',
1328
+ 'FavorSizeOrSpeed': 'Size',
1329
+ 'FloatingPointExceptions': 'true',
1330
+ 'FloatingPointModel': 'Strict',
1331
+ 'ForceConformanceInForLoopScope': 'false',
1332
+ 'ForcedIncludeFiles': 'def',
1333
+ 'ForcedUsingFiles': 'ge',
1334
+ 'FunctionLevelLinking': 'true',
1335
+ 'GenerateXMLDocumentationFiles': 'true',
1336
+ 'IgnoreStandardIncludePath': 'true',
1337
+ 'InlineFunctionExpansion': 'OnlyExplicitInline',
1338
+ 'IntrinsicFunctions': 'true',
1339
+ 'MinimalRebuild': 'true',
1340
+ 'ObjectFileName': '$(IntDir)b',
1341
+ 'OmitDefaultLibName': 'true',
1342
+ 'OmitFramePointers': 'true',
1343
+ 'OpenMPSupport': 'true',
1344
+ 'Optimization': 'Full',
1345
+ 'PrecompiledHeader': 'NotUsing', # Actual conversion gives ''
1346
+ 'PrecompiledHeaderFile': 'StdAfx.hd',
1347
+ 'PrecompiledHeaderOutputFile': '$(IntDir)$(TargetName).pche',
1348
+ 'PreprocessKeepComments': 'true',
1349
+ 'PreprocessorDefinitions': 'WIN32;_DEBUG;_CONSOLE',
1350
+ 'PreprocessSuppressLineNumbers': 'true',
1351
+ 'PreprocessToFile': 'true',
1352
+ 'ProgramDataBaseFileName': '$(IntDir)vc90b.pdb',
1353
+ 'RuntimeLibrary': 'MultiThreadedDebugDLL',
1354
+ 'RuntimeTypeInfo': 'false',
1355
+ 'ShowIncludes': 'true',
1356
+ 'SmallerTypeCheck': 'true',
1357
+ 'StringPooling': 'true',
1358
+ 'StructMemberAlignment': '4Bytes',
1359
+ 'SuppressStartupBanner': 'false',
1360
+ 'TreatWarningAsError': 'true',
1361
+ 'TreatWChar_tAsBuiltInType': 'false',
1362
+ 'UndefineAllPreprocessorDefinitions': 'true',
1363
+ 'UndefinePreprocessorDefinitions': 'wer',
1364
+ 'UseFullPaths': 'true',
1365
+ 'WarningLevel': 'Level3',
1366
+ 'WholeProgramOptimization': 'true',
1367
+ 'XMLDocumentationFileName': '$(IntDir)c'},
1368
+ 'Link': {
1369
+ 'AdditionalDependencies': 'zx',
1370
+ 'AdditionalLibraryDirectories': 'asd',
1371
+ 'AdditionalManifestDependencies': 's2',
1372
+ 'AdditionalOptions': '/mor2',
1373
+ 'AddModuleNamesToAssembly': 'd1',
1374
+ 'AllowIsolation': 'false',
1375
+ 'AssemblyDebug': 'true',
1376
+ 'AssemblyLinkResource': 'd5',
1377
+ 'BaseAddress': '23423',
1378
+ 'CLRImageType': 'ForceSafeILImage',
1379
+ 'CLRThreadAttribute': 'MTAThreadingAttribute',
1380
+ 'CLRUnmanagedCodeCheck': 'true',
1381
+ 'DataExecutionPrevention': '',
1382
+ 'DelayLoadDLLs': 'd4',
1383
+ 'DelaySign': 'true',
1384
+ 'Driver': 'UpOnly',
1385
+ 'EmbedManagedResourceFile': 'd2',
1386
+ 'EnableCOMDATFolding': 'false',
1387
+ 'EnableUAC': 'false',
1388
+ 'EntryPointSymbol': 'f5',
1389
+ 'FixedBaseAddress': 'false',
1390
+ 'ForceSymbolReferences': 'd3',
1391
+ 'FunctionOrder': 'fssdfsd',
1392
+ 'GenerateDebugInformation': 'true',
1393
+ 'GenerateMapFile': 'true',
1394
+ 'HeapCommitSize': '13',
1395
+ 'HeapReserveSize': '12',
1396
+ 'IgnoreAllDefaultLibraries': 'true',
1397
+ 'IgnoreEmbeddedIDL': 'true',
1398
+ 'IgnoreSpecificDefaultLibraries': 'flob;flok',
1399
+ 'ImportLibrary': 'f4',
1400
+ 'KeyContainer': 'f7',
1401
+ 'KeyFile': 'f6',
1402
+ 'LargeAddressAware': 'true',
1403
+ 'LinkErrorReporting': 'QueueForNextLogin',
1404
+ 'LinkTimeCodeGeneration': 'UseLinkTimeCodeGeneration',
1405
+ 'ManifestFile': '$(IntDir)$(TargetFileName).2intermediate.manifest',
1406
+ 'MapExports': 'true',
1407
+ 'MapFileName': 'd5',
1408
+ 'MergedIDLBaseFileName': 'f2',
1409
+ 'MergeSections': 'f5',
1410
+ 'MidlCommandFile': 'f1',
1411
+ 'ModuleDefinitionFile': 'sdsd',
1412
+ 'NoEntryPoint': 'true',
1413
+ 'OptimizeReferences': 'true',
1414
+ 'OutputFile': '$(OutDir)$(ProjectName)2.exe',
1415
+ 'PerUserRedirection': 'true',
1416
+ 'Profile': 'true',
1417
+ 'ProfileGuidedDatabase': '$(TargetDir)$(TargetName).pgdd',
1418
+ 'ProgramDatabaseFile': 'Flob.pdb',
1419
+ 'RandomizedBaseAddress': 'false',
1420
+ 'RegisterOutput': 'true',
1421
+ 'SetChecksum': 'false',
1422
+ 'ShowProgress': 'LinkVerbose',
1423
+ 'StackCommitSize': '15',
1424
+ 'StackReserveSize': '14',
1425
+ 'StripPrivateSymbols': 'd3',
1426
+ 'SubSystem': 'Console',
1427
+ 'SupportUnloadOfDelayLoadedDLL': 'true',
1428
+ 'SuppressStartupBanner': 'false',
1429
+ 'SwapRunFromCD': 'true',
1430
+ 'SwapRunFromNET': 'true',
1431
+ 'TargetMachine': 'MachineX86',
1432
+ 'TerminalServerAware': 'false',
1433
+ 'TurnOffAssemblyGeneration': 'true',
1434
+ 'TypeLibraryFile': 'f3',
1435
+ 'TypeLibraryResourceID': '12',
1436
+ 'UACExecutionLevel': 'RequireAdministrator',
1437
+ 'UACUIAccess': 'true',
1438
+ 'Version': '333'},
1439
+ 'ResourceCompile': {
1440
+ 'AdditionalIncludeDirectories': 'f3',
1441
+ 'AdditionalOptions': '/more3',
1442
+ 'Culture': '0x0c0c',
1443
+ 'IgnoreStandardIncludePath': 'true',
1444
+ 'PreprocessorDefinitions': '_UNICODE;UNICODE2',
1445
+ 'ResourceOutputFileName': '$(IntDir)%(Filename)3.res',
1446
+ 'ShowProgress': 'true'},
1447
+ 'Manifest': {
1448
+ 'AdditionalManifestFiles': 'sfsdfsd',
1449
+ 'AdditionalOptions': 'afdsdafsd',
1450
+ 'AssemblyIdentity': 'sddfdsadfsa',
1451
+ 'ComponentFileName': 'fsdfds',
1452
+ 'GenerateCatalogFiles': 'true',
1453
+ 'InputResourceManifests': 'asfsfdafs',
1454
+ 'OutputManifestFile': '$(TargetPath).manifestdfs',
1455
+ 'RegistrarScriptFile': 'sdfsfd',
1456
+ 'ReplacementsFile': 'sdffsd',
1457
+ 'SuppressStartupBanner': 'false',
1458
+ 'TypeLibraryFile': 'sfsd',
1459
+ 'UpdateFileHashes': 'true',
1460
+ 'UpdateFileHashesSearchPath': 'sfsd',
1461
+ 'VerboseOutput': 'true'},
1462
+ 'ProjectReference': {
1463
+ 'LinkLibraryDependencies': 'false',
1464
+ 'UseLibraryDependencyInputs': 'true'},
1465
+ '': {
1466
+ 'EmbedManifest': 'false',
1467
+ 'GenerateManifest': 'false',
1468
+ 'IgnoreImportLibrary': 'true',
1469
+ 'LinkIncremental': ''
1470
+ },
1471
+ 'ManifestResourceCompile': {
1472
+ 'ResourceOutputFileName':
1473
+ '$(IntDir)$(TargetFileName).embed.manifest.resfdsf'}
1474
+ }
1475
+ actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(
1476
+ msvs_settings,
1477
+ self.stderr)
1478
+ self.assertEqual(expected_msbuild_settings, actual_msbuild_settings)
1479
+ self._ExpectedWarnings([])
1480
+
1481
+
1482
+ if __name__ == '__main__':
1483
+ unittest.main()