robotframework 7.1.1__zip → 7.2b1__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. {robotframework-7.1.1 → robotframework-7.2b1}/BUILD.rst +2 -2
  2. {robotframework-7.1.1 → robotframework-7.2b1}/PKG-INFO +2 -2
  3. {robotframework-7.1.1 → robotframework-7.2b1}/setup.py +1 -1
  4. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/api/__init__.py +33 -9
  5. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/api/deco.py +8 -6
  6. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/api/interfaces.py +21 -4
  7. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/api/parsing.py +72 -68
  8. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/conf/languages.py +4 -3
  9. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/conf/settings.py +11 -10
  10. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/errors.py +3 -1
  11. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/htmlfilewriter.py +3 -0
  12. robotframework-7.2b1/src/robot/htmldata/libdoc/libdoc.html +408 -0
  13. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/rebot/log.html +1 -1
  14. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/rebot/report.html +1 -1
  15. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/rebot/testdata.js +1 -1
  16. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdoc.py +19 -11
  17. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdocpkg/htmlwriter.py +7 -4
  18. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdocpkg/model.py +7 -5
  19. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdocpkg/writer.py +2 -2
  20. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libraries/BuiltIn.py +109 -32
  21. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libraries/Collections.py +18 -4
  22. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/__init__.py +3 -3
  23. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/body.py +48 -57
  24. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/control.py +35 -4
  25. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/message.py +13 -8
  26. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/modelobject.py +26 -0
  27. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/statistics.py +13 -9
  28. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/stats.py +12 -14
  29. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/suitestatistics.py +8 -9
  30. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/tags.py +10 -0
  31. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/tagstatistics.py +7 -8
  32. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/testcase.py +1 -0
  33. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/testsuite.py +1 -0
  34. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/totalstatistics.py +14 -21
  35. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/visitor.py +29 -3
  36. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/__init__.py +3 -2
  37. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/console/dotted.py +6 -3
  38. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/debugfile.py +3 -3
  39. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/filelogger.py +7 -3
  40. robotframework-7.2b1/src/robot/output/jsonlogger.py +338 -0
  41. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/librarylogger.py +12 -11
  42. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/listeners.py +49 -47
  43. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/logger.py +33 -20
  44. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/loggerapi.py +6 -0
  45. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/loggerhelper.py +26 -55
  46. robotframework-7.2b1/src/robot/output/loglevel.py +54 -0
  47. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/output.py +21 -17
  48. robotframework-7.2b1/src/robot/output/outputfile.py +174 -0
  49. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/pyloggingconf.py +2 -0
  50. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/xmllogger.py +40 -169
  51. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/lexer/blocklexers.py +25 -12
  52. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/lexer/statementlexers.py +16 -7
  53. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/lexer/tokens.py +2 -1
  54. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/model/__init__.py +1 -1
  55. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/model/blocks.py +34 -2
  56. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/model/statements.py +32 -2
  57. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/parser/blockparsers.py +7 -2
  58. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/rebot.py +10 -2
  59. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/reporting/jsmodelbuilders.py +1 -1
  60. robotframework-7.2b1/src/robot/reporting/outputwriter.py +30 -0
  61. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/result/__init__.py +1 -1
  62. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/result/executionerrors.py +9 -9
  63. robotframework-7.2b1/src/robot/result/executionresult.py +331 -0
  64. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/result/messagefilter.py +14 -10
  65. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/result/model.py +90 -18
  66. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/result/resultbuilder.py +2 -5
  67. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/result/xmlelementhandlers.py +20 -9
  68. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/run.py +18 -6
  69. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/__init__.py +1 -1
  70. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/arguments/embedded.py +7 -6
  71. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/arguments/typeconverters.py +14 -2
  72. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/arguments/typeinfo.py +22 -2
  73. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/bodyrunner.py +41 -0
  74. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/builder/settings.py +2 -1
  75. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/builder/transformers.py +46 -20
  76. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/context.py +22 -11
  77. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/librarykeyword.py +1 -1
  78. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/librarykeywordrunner.py +29 -23
  79. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/model.py +31 -4
  80. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/status.py +42 -35
  81. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/statusreporter.py +1 -1
  82. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/suiterunner.py +22 -15
  83. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/importer.py +39 -23
  84. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/unic.py +7 -8
  85. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/variables/evaluation.py +21 -2
  86. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/variables/replacer.py +20 -24
  87. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/variables/scopes.py +17 -8
  88. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/variables/variables.py +4 -1
  89. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/version.py +1 -1
  90. {robotframework-7.1.1 → robotframework-7.2b1}/src/robotframework.egg-info/PKG-INFO +2 -2
  91. {robotframework-7.1.1 → robotframework-7.2b1}/src/robotframework.egg-info/SOURCES.txt +3 -4
  92. robotframework-7.1.1/src/robot/htmldata/libdoc/doc_formatting.css +0 -74
  93. robotframework-7.1.1/src/robot/htmldata/libdoc/libdoc.css +0 -747
  94. robotframework-7.1.1/src/robot/htmldata/libdoc/libdoc.html +0 -702
  95. robotframework-7.1.1/src/robot/htmldata/libdoc/print.css +0 -11
  96. robotframework-7.1.1/src/robot/htmldata/libdoc/pygments.css +0 -162
  97. robotframework-7.1.1/src/robot/reporting/outputwriter.py +0 -48
  98. robotframework-7.1.1/src/robot/result/executionresult.py +0 -201
  99. {robotframework-7.1.1 → robotframework-7.2b1}/AUTHORS.rst +0 -0
  100. {robotframework-7.1.1 → robotframework-7.2b1}/CONTRIBUTING.rst +0 -0
  101. {robotframework-7.1.1 → robotframework-7.2b1}/COPYRIGHT.txt +0 -0
  102. {robotframework-7.1.1 → robotframework-7.2b1}/INSTALL.rst +0 -0
  103. {robotframework-7.1.1 → robotframework-7.2b1}/LICENSE.txt +0 -0
  104. {robotframework-7.1.1 → robotframework-7.2b1}/MANIFEST.in +0 -0
  105. {robotframework-7.1.1 → robotframework-7.2b1}/README.rst +0 -0
  106. {robotframework-7.1.1 → robotframework-7.2b1}/setup.cfg +0 -0
  107. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/__init__.py +0 -0
  108. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/__main__.py +0 -0
  109. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/api/exceptions.py +0 -0
  110. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/api/logger.py +0 -0
  111. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/api/py.typed +0 -0
  112. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/conf/__init__.py +0 -0
  113. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/conf/gatherfailed.py +0 -0
  114. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/__init__.py +0 -0
  115. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/common/__init__.py +0 -0
  116. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/common/js_disabled.css +0 -0
  117. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/common/storage.js +0 -0
  118. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/jsonwriter.py +0 -0
  119. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/lib/__init__.py +0 -0
  120. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/lib/jquery.highlight.min.js +0 -0
  121. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/lib/jquery.min.js +0 -0
  122. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/lib/jquery.tablesorter.min.js +0 -0
  123. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/lib/jquery.tmpl.min.js +0 -0
  124. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/lib/jsxcompressor.min.js +0 -0
  125. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/libdoc/__init__.py +0 -0
  126. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/rebot/__init__.py +0 -0
  127. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/rebot/common.css +0 -0
  128. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/rebot/doc_formatting.css +0 -0
  129. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/rebot/fileloading.js +0 -0
  130. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/rebot/log.css +0 -0
  131. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/rebot/log.js +0 -0
  132. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/rebot/model.js +0 -0
  133. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/rebot/print.css +0 -0
  134. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/rebot/report.css +0 -0
  135. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/rebot/util.js +0 -0
  136. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/rebot/view.js +0 -0
  137. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/template.py +0 -0
  138. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/testdoc/__init__.py +0 -0
  139. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/testdoc/testdoc.css +0 -0
  140. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/htmldata/testdoc/testdoc.html +0 -0
  141. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdocpkg/__init__.py +0 -0
  142. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdocpkg/builder.py +0 -0
  143. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdocpkg/consoleviewer.py +0 -0
  144. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdocpkg/datatypes.py +0 -0
  145. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdocpkg/htmlutils.py +0 -0
  146. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdocpkg/jsonbuilder.py +0 -0
  147. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdocpkg/jsonwriter.py +0 -0
  148. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdocpkg/output.py +0 -0
  149. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdocpkg/robotbuilder.py +0 -0
  150. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdocpkg/standardtypes.py +0 -0
  151. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdocpkg/xmlbuilder.py +0 -0
  152. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libdocpkg/xmlwriter.py +0 -0
  153. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libraries/DateTime.py +0 -0
  154. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libraries/Dialogs.py +0 -0
  155. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libraries/Easter.py +0 -0
  156. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libraries/OperatingSystem.py +0 -0
  157. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libraries/Process.py +0 -0
  158. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libraries/Remote.py +0 -0
  159. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libraries/Screenshot.py +0 -0
  160. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libraries/String.py +0 -0
  161. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libraries/Telnet.py +0 -0
  162. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libraries/XML.py +0 -0
  163. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libraries/__init__.py +0 -0
  164. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/libraries/dialogs_py.py +0 -0
  165. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/configurer.py +0 -0
  166. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/filter.py +0 -0
  167. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/fixture.py +0 -0
  168. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/itemlist.py +0 -0
  169. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/keyword.py +0 -0
  170. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/metadata.py +0 -0
  171. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/modifier.py +0 -0
  172. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/namepatterns.py +0 -0
  173. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/model/tagsetter.py +0 -0
  174. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/console/__init__.py +0 -0
  175. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/console/highlighting.py +0 -0
  176. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/console/quiet.py +0 -0
  177. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/console/verbose.py +0 -0
  178. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/output/stdoutlogsplitter.py +0 -0
  179. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/__init__.py +0 -0
  180. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/lexer/__init__.py +0 -0
  181. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/lexer/context.py +0 -0
  182. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/lexer/lexer.py +0 -0
  183. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/lexer/settings.py +0 -0
  184. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/lexer/tokenizer.py +0 -0
  185. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/model/visitor.py +0 -0
  186. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/parser/__init__.py +0 -0
  187. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/parser/fileparser.py +0 -0
  188. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/parser/parser.py +0 -0
  189. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/parsing/suitestructure.py +0 -0
  190. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/pythonpathsetter.py +0 -0
  191. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/reporting/__init__.py +0 -0
  192. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/reporting/expandkeywordmatcher.py +0 -0
  193. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/reporting/jsbuildingcontext.py +0 -0
  194. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/reporting/jsexecutionresult.py +0 -0
  195. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/reporting/jswriter.py +0 -0
  196. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/reporting/logreportwriters.py +0 -0
  197. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/reporting/resultwriter.py +0 -0
  198. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/reporting/stringcache.py +0 -0
  199. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/reporting/xunitwriter.py +0 -0
  200. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/result/configurer.py +0 -0
  201. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/result/flattenkeywordmatcher.py +0 -0
  202. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/result/keywordremover.py +0 -0
  203. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/result/merger.py +0 -0
  204. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/result/modeldeprecation.py +0 -0
  205. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/result/suiteteardownfailed.py +0 -0
  206. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/result/visitor.py +0 -0
  207. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/arguments/__init__.py +0 -0
  208. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/arguments/argumentconverter.py +0 -0
  209. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/arguments/argumentmapper.py +0 -0
  210. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/arguments/argumentparser.py +0 -0
  211. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/arguments/argumentresolver.py +0 -0
  212. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/arguments/argumentspec.py +0 -0
  213. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/arguments/argumentvalidator.py +0 -0
  214. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/arguments/customconverters.py +0 -0
  215. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/arguments/typeinfoparser.py +0 -0
  216. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/arguments/typevalidator.py +0 -0
  217. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/builder/__init__.py +0 -0
  218. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/builder/builders.py +0 -0
  219. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/builder/parsers.py +0 -0
  220. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/dynamicmethods.py +0 -0
  221. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/importer.py +0 -0
  222. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/invalidkeyword.py +0 -0
  223. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/keywordfinder.py +0 -0
  224. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/keywordimplementation.py +0 -0
  225. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/libraryscopes.py +0 -0
  226. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/namespace.py +0 -0
  227. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/outputcapture.py +0 -0
  228. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/randomizer.py +0 -0
  229. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/resourcemodel.py +0 -0
  230. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/runkwregister.py +0 -0
  231. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/signalhandler.py +0 -0
  232. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/testlibraries.py +0 -0
  233. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/timeouts/__init__.py +0 -0
  234. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/timeouts/nosupport.py +0 -0
  235. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/timeouts/posix.py +0 -0
  236. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/timeouts/windows.py +0 -0
  237. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/running/userkeywordrunner.py +0 -0
  238. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/testdoc.py +0 -0
  239. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/__init__.py +0 -0
  240. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/application.py +0 -0
  241. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/argumentparser.py +0 -0
  242. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/asserts.py +0 -0
  243. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/charwidth.py +0 -0
  244. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/compress.py +0 -0
  245. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/connectioncache.py +0 -0
  246. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/dotdict.py +0 -0
  247. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/encoding.py +0 -0
  248. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/encodingsniffer.py +0 -0
  249. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/error.py +0 -0
  250. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/escaping.py +0 -0
  251. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/etreewrapper.py +0 -0
  252. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/filereader.py +0 -0
  253. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/frange.py +0 -0
  254. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/htmlformatters.py +0 -0
  255. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/markuputils.py +0 -0
  256. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/markupwriters.py +0 -0
  257. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/match.py +0 -0
  258. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/misc.py +0 -0
  259. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/normalizing.py +0 -0
  260. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/notset.py +0 -0
  261. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/platform.py +0 -0
  262. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/recommendations.py +0 -0
  263. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/restreader.py +0 -0
  264. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/robotenv.py +0 -0
  265. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/robotinspect.py +0 -0
  266. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/robotio.py +0 -0
  267. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/robotpath.py +0 -0
  268. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/robottime.py +0 -0
  269. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/robottypes.py +0 -0
  270. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/setter.py +0 -0
  271. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/sortable.py +0 -0
  272. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/text.py +0 -0
  273. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/utils/typehints.py +0 -0
  274. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/variables/__init__.py +0 -0
  275. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/variables/assigner.py +0 -0
  276. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/variables/filesetter.py +0 -0
  277. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/variables/finders.py +0 -0
  278. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/variables/notfound.py +0 -0
  279. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/variables/resolvable.py +0 -0
  280. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/variables/search.py +0 -0
  281. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/variables/store.py +0 -0
  282. {robotframework-7.1.1 → robotframework-7.2b1}/src/robot/variables/tablesetter.py +0 -0
  283. {robotframework-7.1.1 → robotframework-7.2b1}/src/robotframework.egg-info/dependency_links.txt +0 -0
  284. {robotframework-7.1.1 → robotframework-7.2b1}/src/robotframework.egg-info/entry_points.txt +0 -0
  285. {robotframework-7.1.1 → robotframework-7.2b1}/src/robotframework.egg-info/top_level.txt +0 -0
  286. {robotframework-7.1.1 → robotframework-7.2b1}/tasks.py +0 -0
@@ -229,14 +229,14 @@ Creating distributions
229
229
 
230
230
  git checkout gh-pages
231
231
  invoke add-docs $VERSION --push
232
- git checkout master
232
+ git checkout master # replace master with v*-maintenance if needed!
233
233
 
234
234
  Post actions
235
235
  ------------
236
236
 
237
237
  1. Back to master if needed::
238
238
 
239
- git checkout master
239
+ git checkout master # replace master with v*-maintenance if needed!
240
240
 
241
241
  2. Set dev version based on the previous version::
242
242
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: robotframework
3
- Version: 7.1.1
3
+ Version: 7.2b1
4
4
  Summary: Generic automation framework for acceptance testing and robotic process automation (RPA)
5
5
  Home-page: https://robotframework.org
6
6
  Author: Pekka Klärck
@@ -10,7 +10,7 @@ Download-URL: https://pypi.org/project/robotframework
10
10
  Project-URL: Source, https://github.com/robotframework/robotframework
11
11
  Project-URL: Issue Tracker, https://github.com/robotframework/robotframework/issues
12
12
  Project-URL: Documentation, https://robotframework.org/robotframework
13
- Project-URL: Release Notes, https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.1.1.rst
13
+ Project-URL: Release Notes, https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.2b1.rst
14
14
  Project-URL: Slack, http://slack.robotframework.org
15
15
  Description: Robot Framework
16
16
  ===============
@@ -6,7 +6,7 @@ from setuptools import find_packages, setup
6
6
 
7
7
  # Version number typically updated by running `invoke set-version <version>`.
8
8
  # Run `invoke --help set-version` or see tasks.py for details.
9
- VERSION = '7.1.1'
9
+ VERSION = '7.2b1'
10
10
  with open(join(dirname(abspath(__file__)), 'README.rst')) as f:
11
11
  LONG_DESCRIPTION = f.read()
12
12
  base_url = 'https://github.com/robotframework/robotframework/blob/master'
@@ -72,18 +72,42 @@ All of the above classes can be imported like::
72
72
 
73
73
  from robot.api import ClassName
74
74
 
75
+ The public API intends to follow the `distributing type information specification
76
+ <https://typing.readthedocs.io/en/latest/spec/distributing.html#distributing-type-information>`_
77
+ originally specified in `PEP 484 <https://peps.python.org/pep-0484/>`_.
78
+
75
79
  See documentations of the individual APIs for more details.
76
80
 
77
81
  .. tip:: APIs related to the command line entry points are exposed directly
78
82
  via the :mod:`robot` root package.
79
83
  """
80
84
 
81
- from robot.conf.languages import Language, Languages
82
- from robot.model import SuiteVisitor
83
- from robot.parsing import (get_tokens, get_resource_tokens, get_init_tokens,
84
- get_model, get_resource_model, get_init_model, Token)
85
- from robot.reporting import ResultWriter
86
- from robot.result import ExecutionResult, ResultVisitor
87
- from robot.running import TestSuite, TestSuiteBuilder, TypeInfo
88
-
89
- from .exceptions import ContinuableFailure, Failure, FatalError, Error, SkipExecution
85
+ from robot.conf.languages import Language as Language, Languages as Languages
86
+ from robot.model import SuiteVisitor as SuiteVisitor
87
+ from robot.parsing import (
88
+ get_tokens as get_tokens,
89
+ get_resource_tokens as get_resource_tokens,
90
+ get_init_tokens as get_init_tokens,
91
+ get_model as get_model,
92
+ get_resource_model as get_resource_model,
93
+ get_init_model as get_init_model,
94
+ Token as Token
95
+ )
96
+ from robot.reporting import ResultWriter as ResultWriter
97
+ from robot.result import (
98
+ ExecutionResult as ExecutionResult,
99
+ ResultVisitor as ResultVisitor
100
+ )
101
+ from robot.running import (
102
+ TestSuite as TestSuite,
103
+ TestSuiteBuilder as TestSuiteBuilder,
104
+ TypeInfo as TypeInfo
105
+ )
106
+
107
+ from .exceptions import (
108
+ ContinuableFailure as ContinuableFailure,
109
+ Failure as Failure,
110
+ FatalError as FatalError,
111
+ Error as Error,
112
+ SkipExecution as SkipExecution
113
+ )
@@ -13,7 +13,7 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- from typing import Any, Callable, Sequence, TypeVar, Union, overload
16
+ from typing import Any, Callable, Literal, Sequence, TypeVar, Union, overload
17
17
 
18
18
  from .interfaces import TypeHints
19
19
 
@@ -26,7 +26,9 @@ K = TypeVar('K', bound=Callable[..., Any]) # Keyword function.
26
26
  L = TypeVar('L', bound=type) # Library class.
27
27
  KeywordDecorator = Callable[[K], K]
28
28
  LibraryDecorator = Callable[[L], L]
29
+ Scope = Literal['GLOBAL', 'SUITE', 'TEST', 'TASK']
29
30
  Converter = Union[Callable[[Any], Any], Callable[[Any, Any], Any]]
31
+ DocFormat = Literal['ROBOT', 'HTML', 'TEXT', 'REST']
30
32
 
31
33
 
32
34
  def not_keyword(func: F) -> F:
@@ -107,7 +109,7 @@ def keyword(name: 'K | str | None' = None,
107
109
  def types_as_list(length, case_insensitive):
108
110
  # ...
109
111
 
110
- @keyword(types=None])
112
+ @keyword(types=None)
111
113
  def no_conversion(length, case_insensitive=False):
112
114
  # ...
113
115
  """
@@ -129,20 +131,20 @@ def library(cls: L, /) -> L:
129
131
 
130
132
 
131
133
  @overload
132
- def library(scope: 'str | None' = None,
134
+ def library(scope: 'Scope | None' = None,
133
135
  version: 'str | None' = None,
134
136
  converters: 'dict[type, Converter] | None' = None,
135
- doc_format: 'str | None' = None,
137
+ doc_format: 'DocFormat | None' = None,
136
138
  listener: 'Any | None' = None,
137
139
  auto_keywords: bool = False) -> LibraryDecorator:
138
140
  ...
139
141
 
140
142
 
141
143
  @not_keyword
142
- def library(scope: 'L | str | None' = None,
144
+ def library(scope: 'L | Scope | None' = None,
143
145
  version: 'str | None' = None,
144
146
  converters: 'dict[type, Converter] | None' = None,
145
- doc_format: 'str | None' = None,
147
+ doc_format: 'DocFormat | None' = None,
146
148
  listener: 'Any | None' = None,
147
149
  auto_keywords: bool = False) -> 'L | LibraryDecorator':
148
150
  """Class decorator to control keyword discovery and other library settings.
@@ -53,7 +53,6 @@ else:
53
53
  UnionType = type
54
54
 
55
55
  from robot import result, running
56
- from robot.model import Message
57
56
  from robot.running import TestDefaults, TestSuite
58
57
 
59
58
 
@@ -366,7 +365,7 @@ class StartKeywordAttributes(OptionalKeywordAttributes):
366
365
  assign: 'list[str]'
367
366
  tags: 'list[str]'
368
367
  source: str
369
- lineno: int
368
+ lineno: 'int|None'
370
369
  status: str
371
370
  starttime: str
372
371
 
@@ -709,6 +708,24 @@ class ListenerV3:
709
708
  """
710
709
  self.end_body_item(data, result)
711
710
 
711
+ def start_group(self, data: running.Group, result: result.Group):
712
+ """Called when a GROUP starts.
713
+
714
+ The default implementation calls :meth:`start_body_item`.
715
+
716
+ New in Robot Framework 7.2.
717
+ """
718
+ self.start_body_item(data, result)
719
+
720
+ def end_group(self, data: running.Group, result: result.Group):
721
+ """Called when a GROUP ends.
722
+
723
+ The default implementation calls :meth:`end_body_item`.
724
+
725
+ New in Robot Framework 7.2.
726
+ """
727
+ self.end_body_item(data, result)
728
+
712
729
  def start_if(self, data: running.If, result: result.If):
713
730
  """Called when an IF/ELSE structure starts.
714
731
 
@@ -885,7 +902,7 @@ class ListenerV3:
885
902
  """
886
903
  pass
887
904
 
888
- def log_message(self, message: Message):
905
+ def log_message(self, message: result.Message):
889
906
  """Called when a normal log message are emitted.
890
907
 
891
908
  The messages are typically logged by keywords, but also the framework
@@ -893,7 +910,7 @@ class ListenerV3:
893
910
  log.html.
894
911
  """
895
912
 
896
- def message(self, message: Message):
913
+ def message(self, message: result.Message):
897
914
  """Called when framework's internal messages are emitted.
898
915
 
899
916
  Only logged by the framework itself. These messages end up to the syslog
@@ -196,6 +196,7 @@ Blocks:
196
196
  - :class:`~robot.parsing.model.blocks.Try`
197
197
  - :class:`~robot.parsing.model.blocks.For`
198
198
  - :class:`~robot.parsing.model.blocks.While`
199
+ - :class:`~robot.parsing.model.blocks.Group` (new in RF 7.2)
199
200
 
200
201
  Statements:
201
202
 
@@ -236,6 +237,7 @@ Statements:
236
237
  - :class:`~robot.parsing.model.statements.FinallyHeader`
237
238
  - :class:`~robot.parsing.model.statements.ForHeader`
238
239
  - :class:`~robot.parsing.model.statements.WhileHeader`
240
+ - :class:`~robot.parsing.model.statements.GroupHeader` (new in RF 7.2)
239
241
  - :class:`~robot.parsing.model.statements.Var` (new in RF 7.0)
240
242
  - :class:`~robot.parsing.model.statements.End`
241
243
  - :class:`~robot.parsing.model.statements.ReturnStatement`
@@ -484,78 +486,80 @@ get the executable suite by using the
484
486
  """
485
487
 
486
488
  from robot.parsing import (
487
- get_tokens,
488
- get_resource_tokens,
489
- get_init_tokens,
490
- get_model,
491
- get_resource_model,
492
- get_init_model,
493
- Token
489
+ get_tokens as get_tokens,
490
+ get_resource_tokens as get_resource_tokens,
491
+ get_init_tokens as get_init_tokens,
492
+ get_model as get_model,
493
+ get_resource_model as get_resource_model,
494
+ get_init_model as get_init_model,
495
+ Token as Token
494
496
  )
495
497
  from robot.parsing.model.blocks import (
496
- File,
497
- SettingSection,
498
- VariableSection,
499
- TestCaseSection,
500
- KeywordSection,
501
- CommentSection,
502
- TestCase,
503
- Keyword,
504
- If,
505
- Try,
506
- For,
507
- While
498
+ File as File,
499
+ SettingSection as SettingSection,
500
+ VariableSection as VariableSection,
501
+ TestCaseSection as TestCaseSection,
502
+ KeywordSection as KeywordSection,
503
+ CommentSection as CommentSection,
504
+ TestCase as TestCase,
505
+ Keyword as Keyword,
506
+ If as If,
507
+ Try as Try,
508
+ For as For,
509
+ While as While,
510
+ Group as Group
508
511
  )
509
512
  from robot.parsing.model.statements import (
510
- SectionHeader,
511
- LibraryImport,
512
- ResourceImport,
513
- VariablesImport,
514
- Documentation,
515
- Metadata,
516
- SuiteName,
517
- SuiteSetup,
518
- SuiteTeardown,
519
- TestSetup,
520
- TestTeardown,
521
- TestTemplate,
522
- TestTimeout,
523
- TestTags,
524
- DefaultTags,
525
- KeywordTags,
526
- Variable,
527
- TestCaseName,
528
- KeywordName,
529
- Setup,
530
- Teardown,
531
- Tags,
532
- Template,
533
- Timeout,
534
- Arguments,
535
- Return,
536
- ReturnSetting,
537
- KeywordCall,
538
- TemplateArguments,
539
- IfHeader,
540
- InlineIfHeader,
541
- ElseIfHeader,
542
- ElseHeader,
543
- TryHeader,
544
- ExceptHeader,
545
- FinallyHeader,
546
- ForHeader,
547
- WhileHeader,
548
- End,
549
- Var,
550
- ReturnStatement,
551
- Continue,
552
- Break,
553
- Comment,
554
- Config,
555
- Error,
556
- EmptyLine
513
+ SectionHeader as SectionHeader,
514
+ LibraryImport as LibraryImport,
515
+ ResourceImport as ResourceImport,
516
+ VariablesImport as VariablesImport,
517
+ Documentation as Documentation,
518
+ Metadata as Metadata,
519
+ SuiteName as SuiteName,
520
+ SuiteSetup as SuiteSetup,
521
+ SuiteTeardown as SuiteTeardown,
522
+ TestSetup as TestSetup,
523
+ TestTeardown as TestTeardown,
524
+ TestTemplate as TestTemplate,
525
+ TestTimeout as TestTimeout,
526
+ TestTags as TestTags,
527
+ DefaultTags as DefaultTags,
528
+ KeywordTags as KeywordTags,
529
+ Variable as Variable,
530
+ TestCaseName as TestCaseName,
531
+ KeywordName as KeywordName,
532
+ Setup as Setup,
533
+ Teardown as Teardown,
534
+ Tags as Tags,
535
+ Template as Template,
536
+ Timeout as Timeout,
537
+ Arguments as Arguments,
538
+ Return as Return,
539
+ ReturnSetting as ReturnSetting,
540
+ KeywordCall as KeywordCall,
541
+ TemplateArguments as TemplateArguments,
542
+ IfHeader as IfHeader,
543
+ InlineIfHeader as InlineIfHeader,
544
+ ElseIfHeader as ElseIfHeader,
545
+ ElseHeader as ElseHeader,
546
+ TryHeader as TryHeader,
547
+ ExceptHeader as ExceptHeader,
548
+ FinallyHeader as FinallyHeader,
549
+ ForHeader as ForHeader,
550
+ WhileHeader as WhileHeader,
551
+ GroupHeader as GroupHeader,
552
+ End as End,
553
+ Var as Var,
554
+ ReturnStatement as ReturnStatement,
555
+ Continue as Continue,
556
+ Break as Break,
557
+ Comment as Comment,
558
+ Config as Config,
559
+ Error as Error,
560
+ EmptyLine as EmptyLine
557
561
  )
558
562
  from robot.parsing.model.visitor import (
559
- ModelTransformer,
560
- ModelVisitor
563
+ ModelTransformer as ModelTransformer,
564
+ ModelVisitor as ModelVisitor
561
565
  )
@@ -115,8 +115,7 @@ class Languages:
115
115
  self.false_strings |= {s.title() for s in lang.false_strings}
116
116
 
117
117
  def _get_languages(self, languages, add_english=True) -> 'list[Language]':
118
- languages = self._resolve_languages(languages, add_english)
119
- available = self._get_available_languages()
118
+ languages, available = self._resolve_languages(languages, add_english)
120
119
  returned: 'list[Language]' = []
121
120
  for lang in languages:
122
121
  if isinstance(lang, Language):
@@ -138,9 +137,11 @@ class Languages:
138
137
  languages = list(languages)
139
138
  else:
140
139
  languages = [languages]
140
+ # Get available languages only if custom languages are used to save time.
141
+ available = self._get_available_languages() if languages else {}
141
142
  if add_english:
142
143
  languages.append(En())
143
- return languages
144
+ return languages, available
144
145
 
145
146
  def _get_available_languages(self) -> 'dict[str, type[Language]]':
146
147
  available = {}
@@ -23,7 +23,7 @@ from datetime import datetime
23
23
  from pathlib import Path
24
24
 
25
25
  from robot.errors import DataError, FrameworkError
26
- from robot.output import LOGGER, loggerhelper
26
+ from robot.output import LOGGER, LogLevel
27
27
  from robot.result.keywordremover import KeywordRemover
28
28
  from robot.result.flattenkeywordmatcher import validate_flatten_keyword
29
29
  from robot.utils import (abspath, create_destination_directory, escape,
@@ -163,16 +163,17 @@ class _BaseSettings:
163
163
 
164
164
  def _split_log_level(self, level):
165
165
  if ':' in level:
166
- log_level, visible_level = level.split(':', 1)
166
+ collect, show = level.split(':', 1)
167
167
  else:
168
- log_level = visible_level = level
169
- for level in log_level, visible_level:
170
- if level not in loggerhelper.LEVELS:
171
- self._raise_invalid('LogLevel', f"Invalid level '{level}'.")
172
- if not loggerhelper.IsLogged(log_level)(visible_level):
173
- self._raise_invalid('LogLevel', f"Level in log '{visible_level}' is lower "
174
- f"than execution level '{log_level}'.")
175
- return log_level, visible_level
168
+ collect = show = level
169
+ try:
170
+ collect, show = LogLevel(collect), LogLevel(show)
171
+ except DataError as err:
172
+ self._raise_invalid('LogLevel', str(err))
173
+ if collect.priority > show.priority:
174
+ self._raise_invalid('LogLevel', f"Level in log '{show.level}' is lower "
175
+ f"than execution level '{collect.level}'.")
176
+ return collect.level, show.level
176
177
 
177
178
  def _process_max_error_lines(self, value):
178
179
  if not value or value.upper() == 'NONE':
@@ -143,10 +143,12 @@ class ExecutionStatus(RobotError):
143
143
  def can_continue(self, context, templated=False):
144
144
  if context.dry_run:
145
145
  return True
146
- if self.syntax or self.exit or self.skip or self.test_timeout:
146
+ if self.syntax or self.exit or self.test_timeout:
147
147
  return False
148
148
  if templated:
149
149
  return context.continue_on_failure(default=True)
150
+ if self.skip:
151
+ return False
150
152
  if self.keyword_timeout:
151
153
  return False
152
154
  return self.continue_on_failure or context.continue_on_failure()
@@ -63,6 +63,9 @@ class Writer(ABC):
63
63
  class ModelWriter(Writer, ABC):
64
64
  handles_line = '<!-- JS MODEL -->'
65
65
 
66
+ def handles(self, line: str):
67
+ return line.strip().startswith(self.handles_line)
68
+
66
69
 
67
70
  class LineWriter(Writer):
68
71