robotframework 7.4rc2__tar.gz → 7.4.1__tar.gz

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 (289) hide show
  1. {robotframework-7.4rc2 → robotframework-7.4.1}/PKG-INFO +2 -2
  2. {robotframework-7.4rc2 → robotframework-7.4.1}/setup.py +1 -1
  3. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/BuiltIn.py +54 -13
  4. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/Process.py +404 -356
  5. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/String.py +10 -7
  6. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/tags.py +1 -1
  7. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/result/model.py +2 -0
  8. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/result/resultbuilder.py +6 -0
  9. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/arguments/typeinfo.py +16 -6
  10. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/model.py +10 -10
  11. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/normalizing.py +24 -0
  12. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/robottypes.py +11 -9
  13. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/version.py +1 -1
  14. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robotframework.egg-info/PKG-INFO +2 -2
  15. {robotframework-7.4rc2 → robotframework-7.4.1}/AUTHORS.rst +0 -0
  16. {robotframework-7.4rc2 → robotframework-7.4.1}/BUILD.rst +0 -0
  17. {robotframework-7.4rc2 → robotframework-7.4.1}/CONTRIBUTING.rst +0 -0
  18. {robotframework-7.4rc2 → robotframework-7.4.1}/COPYRIGHT.txt +0 -0
  19. {robotframework-7.4rc2 → robotframework-7.4.1}/INSTALL.rst +0 -0
  20. {robotframework-7.4rc2 → robotframework-7.4.1}/LICENSE.txt +0 -0
  21. {robotframework-7.4rc2 → robotframework-7.4.1}/MANIFEST.in +0 -0
  22. {robotframework-7.4rc2 → robotframework-7.4.1}/README.rst +0 -0
  23. {robotframework-7.4rc2 → robotframework-7.4.1}/pyproject.toml +0 -0
  24. {robotframework-7.4rc2 → robotframework-7.4.1}/setup.cfg +0 -0
  25. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/__init__.py +0 -0
  26. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/__main__.py +0 -0
  27. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/api/__init__.py +0 -0
  28. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/api/deco.py +0 -0
  29. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/api/exceptions.py +0 -0
  30. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/api/interfaces.py +0 -0
  31. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/api/logger.py +0 -0
  32. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/api/parsing.py +0 -0
  33. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/api/py.typed +0 -0
  34. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/api/types.py +0 -0
  35. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/conf/__init__.py +0 -0
  36. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/conf/gatherfailed.py +0 -0
  37. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/conf/languages.py +0 -0
  38. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/conf/settings.py +0 -0
  39. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/errors.py +0 -0
  40. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/__init__.py +0 -0
  41. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/common/__init__.py +0 -0
  42. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/common/js_disabled.css +0 -0
  43. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/common/storage.js +0 -0
  44. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/htmlfilewriter.py +0 -0
  45. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/jsonwriter.py +0 -0
  46. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/lib/__init__.py +0 -0
  47. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/lib/jquery.highlight.min.js +0 -0
  48. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/lib/jquery.min.js +0 -0
  49. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/lib/jquery.tablesorter.min.js +0 -0
  50. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/lib/jquery.tmpl.min.js +0 -0
  51. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/lib/jsxcompressor.min.js +0 -0
  52. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/libdoc/__init__.py +0 -0
  53. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/libdoc/libdoc.html +0 -0
  54. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/rebot/__init__.py +0 -0
  55. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/rebot/common.css +0 -0
  56. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/rebot/doc_formatting.css +0 -0
  57. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/rebot/fileloading.js +0 -0
  58. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/rebot/log.css +0 -0
  59. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/rebot/log.html +0 -0
  60. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/rebot/log.js +0 -0
  61. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/rebot/model.js +0 -0
  62. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/rebot/print.css +0 -0
  63. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/rebot/report.css +0 -0
  64. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/rebot/report.html +0 -0
  65. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/rebot/testdata.js +0 -0
  66. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/rebot/util.js +0 -0
  67. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/rebot/view.js +0 -0
  68. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/template.py +0 -0
  69. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/testdoc/__init__.py +0 -0
  70. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/testdoc/testdoc.css +0 -0
  71. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/htmldata/testdoc/testdoc.html +0 -0
  72. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdoc.py +0 -0
  73. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/__init__.py +0 -0
  74. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/builder.py +0 -0
  75. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/consoleviewer.py +0 -0
  76. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/datatypes.py +0 -0
  77. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/htmlutils.py +0 -0
  78. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/htmlwriter.py +0 -0
  79. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/jsonbuilder.py +0 -0
  80. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/jsonwriter.py +0 -0
  81. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/languages.py +0 -0
  82. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/model.py +0 -0
  83. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/output.py +0 -0
  84. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/robotbuilder.py +0 -0
  85. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/standardtypes.py +0 -0
  86. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/writer.py +0 -0
  87. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/xmlbuilder.py +0 -0
  88. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libdocpkg/xmlwriter.py +0 -0
  89. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/Collections.py +0 -0
  90. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/DateTime.py +0 -0
  91. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/Dialogs.py +0 -0
  92. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/Easter.py +0 -0
  93. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/OperatingSystem.py +0 -0
  94. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/Remote.py +0 -0
  95. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/Screenshot.py +0 -0
  96. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/Telnet.py +0 -0
  97. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/XML.py +0 -0
  98. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/__init__.py +0 -0
  99. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/dialogs_py.py +0 -0
  100. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/normalizer.py +0 -0
  101. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/libraries/py.typed +0 -0
  102. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/logo.png +0 -0
  103. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/__init__.py +0 -0
  104. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/body.py +0 -0
  105. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/configurer.py +0 -0
  106. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/control.py +0 -0
  107. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/filter.py +0 -0
  108. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/fixture.py +0 -0
  109. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/itemlist.py +0 -0
  110. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/keyword.py +0 -0
  111. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/message.py +0 -0
  112. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/metadata.py +0 -0
  113. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/modelobject.py +0 -0
  114. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/modifier.py +0 -0
  115. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/namepatterns.py +0 -0
  116. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/statistics.py +0 -0
  117. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/stats.py +0 -0
  118. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/suitestatistics.py +0 -0
  119. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/tagsetter.py +0 -0
  120. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/tagstatistics.py +0 -0
  121. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/testcase.py +0 -0
  122. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/testsuite.py +0 -0
  123. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/totalstatistics.py +0 -0
  124. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/model/visitor.py +0 -0
  125. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/__init__.py +0 -0
  126. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/console/__init__.py +0 -0
  127. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/console/dotted.py +0 -0
  128. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/console/highlighting.py +0 -0
  129. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/console/quiet.py +0 -0
  130. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/console/verbose.py +0 -0
  131. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/debugfile.py +0 -0
  132. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/filelogger.py +0 -0
  133. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/jsonlogger.py +0 -0
  134. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/librarylogger.py +0 -0
  135. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/listeners.py +0 -0
  136. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/logger.py +0 -0
  137. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/loggerapi.py +0 -0
  138. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/loggerhelper.py +0 -0
  139. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/loglevel.py +0 -0
  140. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/output.py +0 -0
  141. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/outputfile.py +0 -0
  142. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/pyloggingconf.py +0 -0
  143. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/stdoutlogsplitter.py +0 -0
  144. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/output/xmllogger.py +0 -0
  145. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/__init__.py +0 -0
  146. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/lexer/__init__.py +0 -0
  147. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/lexer/blocklexers.py +0 -0
  148. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/lexer/context.py +0 -0
  149. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/lexer/lexer.py +0 -0
  150. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/lexer/settings.py +0 -0
  151. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/lexer/statementlexers.py +0 -0
  152. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/lexer/tokenizer.py +0 -0
  153. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/lexer/tokens.py +0 -0
  154. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/model/__init__.py +0 -0
  155. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/model/blocks.py +0 -0
  156. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/model/statements.py +0 -0
  157. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/model/visitor.py +0 -0
  158. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/parser/__init__.py +0 -0
  159. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/parser/blockparsers.py +0 -0
  160. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/parser/fileparser.py +0 -0
  161. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/parser/parser.py +0 -0
  162. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/parsing/suitestructure.py +0 -0
  163. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/pythonpathsetter.py +0 -0
  164. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/rebot.py +0 -0
  165. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/reporting/__init__.py +0 -0
  166. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/reporting/expandkeywordmatcher.py +0 -0
  167. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/reporting/jsbuildingcontext.py +0 -0
  168. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/reporting/jsexecutionresult.py +0 -0
  169. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/reporting/jsmodelbuilders.py +0 -0
  170. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/reporting/jswriter.py +0 -0
  171. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/reporting/logreportwriters.py +0 -0
  172. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/reporting/outputwriter.py +0 -0
  173. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/reporting/resultwriter.py +0 -0
  174. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/reporting/stringcache.py +0 -0
  175. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/reporting/xunitwriter.py +0 -0
  176. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/result/__init__.py +0 -0
  177. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/result/configurer.py +0 -0
  178. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/result/executionerrors.py +0 -0
  179. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/result/executionresult.py +0 -0
  180. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/result/flattenkeywordmatcher.py +0 -0
  181. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/result/keywordremover.py +0 -0
  182. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/result/merger.py +0 -0
  183. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/result/messagefilter.py +0 -0
  184. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/result/modeldeprecation.py +0 -0
  185. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/result/suiteteardownfailed.py +0 -0
  186. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/result/visitor.py +0 -0
  187. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/result/xmlelementhandlers.py +0 -0
  188. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/run.py +0 -0
  189. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/__init__.py +0 -0
  190. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/arguments/__init__.py +0 -0
  191. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/arguments/argumentconverter.py +0 -0
  192. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/arguments/argumentmapper.py +0 -0
  193. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/arguments/argumentparser.py +0 -0
  194. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/arguments/argumentresolver.py +0 -0
  195. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/arguments/argumentspec.py +0 -0
  196. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/arguments/argumentvalidator.py +0 -0
  197. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/arguments/customconverters.py +0 -0
  198. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/arguments/embedded.py +0 -0
  199. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/arguments/typeconverters.py +0 -0
  200. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/arguments/typeinfoparser.py +0 -0
  201. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/arguments/typevalidator.py +0 -0
  202. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/bodyrunner.py +0 -0
  203. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/builder/__init__.py +0 -0
  204. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/builder/builders.py +0 -0
  205. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/builder/parsers.py +0 -0
  206. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/builder/settings.py +0 -0
  207. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/builder/transformers.py +0 -0
  208. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/context.py +0 -0
  209. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/dynamicmethods.py +0 -0
  210. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/importer.py +0 -0
  211. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/invalidkeyword.py +0 -0
  212. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/keywordfinder.py +0 -0
  213. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/keywordimplementation.py +0 -0
  214. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/librarykeyword.py +0 -0
  215. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/librarykeywordrunner.py +0 -0
  216. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/libraryscopes.py +0 -0
  217. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/namespace.py +0 -0
  218. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/outputcapture.py +0 -0
  219. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/randomizer.py +0 -0
  220. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/resourcemodel.py +0 -0
  221. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/runkwregister.py +0 -0
  222. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/signalhandler.py +0 -0
  223. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/status.py +0 -0
  224. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/statusreporter.py +0 -0
  225. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/suiterunner.py +0 -0
  226. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/testlibraries.py +0 -0
  227. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/timeouts/__init__.py +0 -0
  228. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/timeouts/nosupport.py +0 -0
  229. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/timeouts/posix.py +0 -0
  230. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/timeouts/runner.py +0 -0
  231. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/timeouts/timeout.py +0 -0
  232. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/timeouts/windows.py +0 -0
  233. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/running/userkeywordrunner.py +0 -0
  234. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/testdoc.py +0 -0
  235. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/__init__.py +0 -0
  236. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/application.py +0 -0
  237. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/argumentparser.py +0 -0
  238. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/asserts.py +0 -0
  239. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/charwidth.py +0 -0
  240. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/compress.py +0 -0
  241. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/connectioncache.py +0 -0
  242. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/dotdict.py +0 -0
  243. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/encoding.py +0 -0
  244. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/encodingsniffer.py +0 -0
  245. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/error.py +0 -0
  246. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/escaping.py +0 -0
  247. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/etreewrapper.py +0 -0
  248. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/filereader.py +0 -0
  249. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/frange.py +0 -0
  250. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/htmlformatters.py +0 -0
  251. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/importer.py +0 -0
  252. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/json.py +0 -0
  253. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/markuputils.py +0 -0
  254. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/markupwriters.py +0 -0
  255. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/match.py +0 -0
  256. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/misc.py +0 -0
  257. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/notset.py +0 -0
  258. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/platform.py +0 -0
  259. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/recommendations.py +0 -0
  260. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/restreader.py +0 -0
  261. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/robotenv.py +0 -0
  262. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/robotinspect.py +0 -0
  263. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/robotio.py +0 -0
  264. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/robotpath.py +0 -0
  265. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/robottime.py +0 -0
  266. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/secret.py +0 -0
  267. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/setter.py +0 -0
  268. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/sortable.py +0 -0
  269. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/text.py +0 -0
  270. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/typehints.py +0 -0
  271. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/utils/unic.py +0 -0
  272. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/variables/__init__.py +0 -0
  273. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/variables/assigner.py +0 -0
  274. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/variables/evaluation.py +0 -0
  275. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/variables/filesetter.py +0 -0
  276. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/variables/finders.py +0 -0
  277. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/variables/notfound.py +0 -0
  278. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/variables/replacer.py +0 -0
  279. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/variables/resolvable.py +0 -0
  280. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/variables/scopes.py +0 -0
  281. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/variables/search.py +0 -0
  282. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/variables/store.py +0 -0
  283. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/variables/tablesetter.py +0 -0
  284. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robot/variables/variables.py +0 -0
  285. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robotframework.egg-info/SOURCES.txt +0 -0
  286. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robotframework.egg-info/dependency_links.txt +0 -0
  287. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robotframework.egg-info/entry_points.txt +0 -0
  288. {robotframework-7.4rc2 → robotframework-7.4.1}/src/robotframework.egg-info/top_level.txt +0 -0
  289. {robotframework-7.4rc2 → robotframework-7.4.1}/tasks.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: robotframework
3
- Version: 7.4rc2
3
+ Version: 7.4.1
4
4
  Summary: Generic automation framework for acceptance testing and robotic process automation (RPA)
5
5
  Home-page: https://robotframework.org
6
6
  Download-URL: https://pypi.org/project/robotframework
@@ -10,7 +10,7 @@ License: Apache License 2.0
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.4rc2.rst
13
+ Project-URL: Release Notes, https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.4.1.rst
14
14
  Project-URL: Slack, http://slack.robotframework.org
15
15
  Keywords: robotframework automation testautomation rpa testing acceptancetesting atdd bdd
16
16
  Platform: any
@@ -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.4rc2"
9
+ VERSION = "7.4.1"
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"
@@ -45,9 +45,49 @@ from robot.version import get_version
45
45
 
46
46
  from .normalizer import Normalizer, StripSpaces
47
47
 
48
- # Type alias for expressions that are evaluated in Python. We may want to replace
49
- # this with a concrete type with a custom type documentation.
50
- Expression = object
48
+
49
+ class Expression:
50
+ """An expression evaluated in Python.
51
+
52
+ Expressions are evaluated using Python's
53
+ [http://docs.python.org/library/functions.html#eval|eval] function so
54
+ that all Python built-ins like ``len()`` and ``int()`` are available.
55
+ In addition to that, all unrecognized variables are considered to be
56
+ modules that are automatically imported. It is possible to use all
57
+ available Python modules, including the standard modules and the installed
58
+ third party modules.
59
+
60
+ Examples:
61
+ | `Should Be True` len('${result}') > 3
62
+ | `Run Keyword If` os.sep == '/' Non-Windows Keyword
63
+ | ${version} = `Evaluate` robot.__version__
64
+
65
+ When a variable is used in the expressing using the normal ``${variable}``
66
+ syntax, its value is replaced before the expression is evaluated. This
67
+ means that the value used in the expression will be the string
68
+ representation of the variable value, not the variable value itself.
69
+ This is not a problem with numbers and other objects that have a string
70
+ representation that can be evaluated directly, but with other objects
71
+ the behavior depends on the string representation. Most importantly,
72
+ strings must always be quoted, and if they can contain newlines, they must
73
+ be triple quoted.
74
+
75
+ Examples:
76
+ | `Should Be True` ${rc} < 10 Return code greater than 10
77
+ | `Run Keyword If` '${status}' == 'PASS' `Log` Passed
78
+ | `Run Keyword If` 'FAIL' in '''${output}''' `Log` Output contains FAIL
79
+
80
+ Actual variables values are also available in the evaluation namespace.
81
+ They can be accessed using special variable syntax without the curly
82
+ braces like ``$variable``. These variables should never be quoted.
83
+
84
+ Examples:
85
+ | `Should Be True` $rc < 10 Return code greater than 10
86
+ | `Run Keyword If` $status == 'PASS' `Log` Passed
87
+ | `Run Keyword If` 'FAIL' in $output `Log` Output contains FAIL
88
+ | `Should Be True` len($result) > 1 and $result[1] == 'OK'
89
+ | `Should Be True` $result is not None
90
+ """
51
91
 
52
92
 
53
93
  def run_keyword_variant(resolve, dry_run=False):
@@ -1775,7 +1815,7 @@ class _Variables(_BuiltInBase):
1775
1815
  return self._variables.as_dict(decoration=not no_decoration)
1776
1816
 
1777
1817
  @run_keyword_variant(resolve=0)
1778
- def get_variable_value(self, name: str, default: object = None, /) -> object:
1818
+ def get_variable_value(self, name: str, default: object = None) -> object:
1779
1819
  r"""Returns variable value or ``default`` if the variable does not exist.
1780
1820
 
1781
1821
  The name of the variable can be given either as a normal variable name
@@ -1826,7 +1866,7 @@ class _Variables(_BuiltInBase):
1826
1866
  return name, value
1827
1867
 
1828
1868
  @run_keyword_variant(resolve=0)
1829
- def variable_should_exist(self, name: str, message: "str | None" = None, /):
1869
+ def variable_should_exist(self, name: str, message: "str | None" = None):
1830
1870
  r"""Fails unless the given variable exists within the current scope.
1831
1871
 
1832
1872
  The name of the variable can be given either as a normal variable name
@@ -1851,7 +1891,7 @@ class _Variables(_BuiltInBase):
1851
1891
  )
1852
1892
 
1853
1893
  @run_keyword_variant(resolve=0)
1854
- def variable_should_not_exist(self, name: str, message: "str | None" = None, /):
1894
+ def variable_should_not_exist(self, name: str, message: "str | None" = None):
1855
1895
  r"""Fails if the given variable exists within the current scope.
1856
1896
 
1857
1897
  The name of the variable can be given either as a normal variable name
@@ -3350,7 +3390,7 @@ class _Control(_BuiltInBase):
3350
3390
  raise PassExecution(message)
3351
3391
 
3352
3392
  @run_keyword_variant(resolve=1)
3353
- def pass_execution_if(self, condition: Expression, message: str, /, *tags: str):
3393
+ def pass_execution_if(self, condition: Expression, message: str, *tags: str):
3354
3394
  """Conditionally skips rest of the current test, setup, or teardown with PASS status.
3355
3395
 
3356
3396
  A wrapper for `Pass Execution` to skip rest of the current test,
@@ -3640,7 +3680,7 @@ class _Misc(_BuiltInBase):
3640
3680
  logger.info(f"Reloaded library {lib.name} with {len(lib.keywords)} keywords.")
3641
3681
 
3642
3682
  @run_keyword_variant(resolve=0)
3643
- def import_library(self, name: str, /, *args: object):
3683
+ def import_library(self, name: str, *args: object):
3644
3684
  """Imports a library with the given name and optional arguments.
3645
3685
 
3646
3686
  This functionality allows dynamic importing of libraries while tests
@@ -3676,7 +3716,7 @@ class _Misc(_BuiltInBase):
3676
3716
  return args, None
3677
3717
 
3678
3718
  @run_keyword_variant(resolve=0)
3679
- def import_variables(self, path: str, /, *args: object):
3719
+ def import_variables(self, path: str, *args: object):
3680
3720
  """Imports a variable file with the given path and optional arguments.
3681
3721
 
3682
3722
  Variables imported with this keyword are set into the test suite scope
@@ -3701,7 +3741,7 @@ class _Misc(_BuiltInBase):
3701
3741
  raise RuntimeError(str(err))
3702
3742
 
3703
3743
  @run_keyword_variant(resolve=0)
3704
- def import_resource(self, path: str, /):
3744
+ def import_resource(self, path: str):
3705
3745
  """Imports a resource file with the given path.
3706
3746
 
3707
3747
  Resources imported with this keyword are set into the test suite scope
@@ -4250,6 +4290,7 @@ class _Misc(_BuiltInBase):
4250
4290
  converters={
4251
4291
  KeywordName: lambda value: str(value),
4252
4292
  KeywordArgument: lambda value: value,
4293
+ Expression: lambda value: value,
4253
4294
  },
4254
4295
  auto_keywords=True,
4255
4296
  )
@@ -4402,7 +4443,7 @@ class BuiltIn(_Verify, _Converter, _Variables, _RunKeyword, _Control, _Misc):
4402
4443
  Examples:
4403
4444
  | `Should Be True` len('${result}') > 3
4404
4445
  | `Run Keyword If` os.sep == '/' Non-Windows Keyword
4405
- | ${version} = `Evaluate` robot.__version__
4446
+ | ${version} = `Evaluate` robot.__version__
4406
4447
 
4407
4448
  `Evaluate` also allows configuring the execution namespace with a custom
4408
4449
  namespace and with custom modules to be imported. The latter functionality
@@ -4425,8 +4466,8 @@ class BuiltIn(_Verify, _Converter, _Variables, _RunKeyword, _Control, _Misc):
4425
4466
 
4426
4467
  Examples:
4427
4468
  | `Should Be True` ${rc} < 10 Return code greater than 10
4428
- | `Run Keyword If` '${status}' == 'PASS' Log Passed
4429
- | `Run Keyword If` 'FAIL' in '''${output}''' Log Output contains FAIL
4469
+ | `Run Keyword If` '${status}' == 'PASS' `Log` Passed
4470
+ | `Run Keyword If` 'FAIL' in '''${output}''' `Log` Output contains FAIL
4430
4471
 
4431
4472
  Actual variables values are also available in the evaluation namespace.
4432
4473
  They can be accessed using special variable syntax without the curly