robotframework 6.1rc1__zip → 7.0__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.
- {robotframework-6.1rc1 → robotframework-7.0}/INSTALL.rst +25 -25
- {robotframework-6.1rc1 → robotframework-7.0}/PKG-INFO +6 -8
- {robotframework-6.1rc1 → robotframework-7.0}/README.rst +3 -2
- {robotframework-6.1rc1 → robotframework-7.0}/setup.py +3 -6
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/api/__init__.py +4 -1
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/api/deco.py +60 -14
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/api/exceptions.py +6 -6
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/api/interfaces.py +403 -68
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/api/logger.py +27 -20
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/api/parsing.py +4 -2
- robotframework-7.0/src/robot/api/py.typed +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/conf/gatherfailed.py +2 -2
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/conf/languages.py +61 -25
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/conf/settings.py +21 -14
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/common/storage.js +11 -6
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/htmlfilewriter.py +1 -1
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/libdoc/libdoc.css +10 -2
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/libdoc/libdoc.html +10 -0
- robotframework-7.0/src/robot/htmldata/rebot/common.css +362 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/rebot/doc_formatting.css +13 -7
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/rebot/log.css +51 -10
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/rebot/log.html +14 -23
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/rebot/model.js +2 -4
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/rebot/report.css +83 -19
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/rebot/report.html +22 -7
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/rebot/testdata.js +10 -3
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/rebot/view.js +84 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/template.py +3 -3
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdocpkg/builder.py +0 -8
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdocpkg/datatypes.py +9 -10
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdocpkg/htmlutils.py +4 -7
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdocpkg/jsonbuilder.py +38 -20
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdocpkg/model.py +21 -28
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdocpkg/robotbuilder.py +50 -31
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdocpkg/standardtypes.py +9 -1
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdocpkg/xmlbuilder.py +35 -20
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdocpkg/xmlwriter.py +18 -38
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libraries/BuiltIn.py +255 -205
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libraries/Collections.py +384 -240
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libraries/DateTime.py +73 -60
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libraries/OperatingSystem.py +6 -5
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libraries/Process.py +26 -27
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libraries/Remote.py +40 -36
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libraries/String.py +66 -76
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libraries/XML.py +66 -59
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libraries/__init__.py +2 -2
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libraries/dialogs_py.py +14 -2
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/__init__.py +5 -5
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/body.py +44 -13
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/configurer.py +19 -15
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/control.py +230 -88
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/filter.py +31 -25
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/itemlist.py +9 -8
- robotframework-7.0/src/robot/model/keyword.py +77 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/message.py +19 -10
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/modelobject.py +27 -15
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/modifier.py +1 -1
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/namepatterns.py +3 -25
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/stats.py +9 -15
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/tags.py +1 -1
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/testcase.py +15 -27
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/testsuite.py +44 -28
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/visitor.py +35 -8
- robotframework-7.0/src/robot/output/console/dotted.py +90 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/output/console/quiet.py +3 -2
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/output/console/verbose.py +61 -61
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/output/debugfile.py +39 -24
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/output/filelogger.py +18 -15
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/output/librarylogger.py +3 -2
- robotframework-7.0/src/robot/output/listeners.py +753 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/output/logger.py +216 -80
- robotframework-7.0/src/robot/output/loggerapi.py +215 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/output/loggerhelper.py +23 -56
- robotframework-7.0/src/robot/output/output.py +185 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/output/stdoutlogsplitter.py +8 -5
- robotframework-7.0/src/robot/output/xmllogger.py +459 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/lexer/blocklexers.py +17 -13
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/lexer/context.py +12 -2
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/lexer/lexer.py +1 -1
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/lexer/settings.py +6 -3
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/lexer/statementlexers.py +39 -10
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/lexer/tokens.py +27 -29
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/model/blocks.py +19 -6
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/model/statements.py +193 -94
- robotframework-7.0/src/robot/parsing/model/visitor.py +100 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/rebot.py +2 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/reporting/expandkeywordmatcher.py +1 -1
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/reporting/jsbuildingcontext.py +8 -6
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/reporting/jsmodelbuilders.py +88 -61
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/reporting/logreportwriters.py +16 -10
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/reporting/outputwriter.py +18 -2
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/reporting/resultwriter.py +4 -4
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/reporting/stringcache.py +3 -3
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/reporting/xunitwriter.py +15 -21
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/result/__init__.py +3 -2
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/result/configurer.py +12 -9
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/result/executionresult.py +56 -8
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/result/flattenkeywordmatcher.py +48 -9
- robotframework-7.0/src/robot/result/keywordremover.py +207 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/result/merger.py +1 -1
- robotframework-7.0/src/robot/result/model.py +1185 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/result/modeldeprecation.py +9 -3
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/result/resultbuilder.py +46 -36
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/result/xmlelementhandlers.py +83 -43
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/run.py +3 -1
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/__init__.py +14 -4
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/arguments/__init__.py +2 -1
- robotframework-7.0/src/robot/running/arguments/argumentconverter.py +100 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/arguments/argumentmapper.py +26 -24
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/arguments/argumentparser.py +85 -61
- robotframework-7.0/src/robot/running/arguments/argumentresolver.py +158 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/arguments/argumentspec.py +83 -116
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/arguments/argumentvalidator.py +33 -27
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/arguments/customconverters.py +15 -12
- robotframework-7.0/src/robot/running/arguments/embedded.py +145 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/arguments/typeconverters.py +268 -220
- robotframework-7.0/src/robot/running/arguments/typeinfo.py +317 -0
- robotframework-7.0/src/robot/running/arguments/typeinfoparser.py +219 -0
- robotframework-7.0/src/robot/running/arguments/typevalidator.py +60 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/bodyrunner.py +147 -129
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/builder/builders.py +17 -26
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/builder/parsers.py +17 -11
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/builder/settings.py +9 -17
- robotframework-7.0/src/robot/running/builder/transformers.py +535 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/context.py +113 -31
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/dynamicmethods.py +62 -34
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/importer.py +27 -49
- robotframework-7.0/src/robot/running/invalidkeyword.py +67 -0
- robotframework-7.0/src/robot/running/keywordfinder.py +91 -0
- robotframework-7.0/src/robot/running/keywordimplementation.py +164 -0
- robotframework-7.0/src/robot/running/librarykeyword.py +392 -0
- robotframework-7.0/src/robot/running/librarykeywordrunner.py +250 -0
- robotframework-7.0/src/robot/running/libraryscopes.py +115 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/model.py +198 -337
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/namespace.py +124 -137
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/outputcapture.py +20 -12
- robotframework-7.0/src/robot/running/resourcemodel.py +448 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/statusreporter.py +16 -13
- robotframework-7.0/src/robot/running/suiterunner.py +265 -0
- robotframework-7.0/src/robot/running/testlibraries.py +500 -0
- robotframework-7.0/src/robot/running/userkeywordrunner.py +260 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/testdoc.py +18 -13
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/__init__.py +53 -35
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/connectioncache.py +64 -59
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/dotdict.py +3 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/encodingsniffer.py +9 -4
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/escaping.py +19 -19
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/importer.py +2 -2
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/markupwriters.py +23 -15
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/misc.py +1 -2
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/normalizing.py +9 -24
- robotframework-7.0/src/robot/utils/notset.py +33 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/platform.py +15 -5
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/robotio.py +9 -9
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/robotpath.py +1 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/robottime.py +122 -90
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/robottypes.py +21 -31
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/setter.py +0 -5
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/text.py +7 -4
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/unic.py +2 -2
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/variables/__init__.py +2 -2
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/variables/assigner.py +17 -19
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/variables/evaluation.py +20 -17
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/variables/filesetter.py +80 -80
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/variables/replacer.py +33 -36
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/variables/scopes.py +17 -12
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/variables/search.py +66 -41
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/variables/store.py +14 -16
- robotframework-7.0/src/robot/variables/tablesetter.py +164 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/variables/variables.py +1 -1
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/version.py +1 -1
- {robotframework-6.1rc1 → robotframework-7.0}/src/robotframework.egg-info/PKG-INFO +6 -8
- {robotframework-6.1rc1 → robotframework-7.0}/src/robotframework.egg-info/SOURCES.txt +10 -8
- {robotframework-6.1rc1 → robotframework-7.0}/tasks.py +6 -6
- robotframework-6.1rc1/src/robot/htmldata/rebot/common.css +0 -239
- robotframework-6.1rc1/src/robot/libraries/Reserved.py +0 -48
- robotframework-6.1rc1/src/robot/model/keyword.py +0 -173
- robotframework-6.1rc1/src/robot/output/console/dotted.py +0 -90
- robotframework-6.1rc1/src/robot/output/listenerarguments.py +0 -165
- robotframework-6.1rc1/src/robot/output/listenermethods.py +0 -113
- robotframework-6.1rc1/src/robot/output/listeners.py +0 -174
- robotframework-6.1rc1/src/robot/output/output.py +0 -95
- robotframework-6.1rc1/src/robot/output/xmllogger.py +0 -354
- robotframework-6.1rc1/src/robot/parsing/model/visitor.py +0 -67
- robotframework-6.1rc1/src/robot/result/keywordremover.py +0 -183
- robotframework-6.1rc1/src/robot/result/model.py +0 -957
- robotframework-6.1rc1/src/robot/running/arguments/argumentconverter.py +0 -79
- robotframework-6.1rc1/src/robot/running/arguments/argumentresolver.py +0 -131
- robotframework-6.1rc1/src/robot/running/arguments/embedded.py +0 -146
- robotframework-6.1rc1/src/robot/running/arguments/typevalidator.py +0 -56
- robotframework-6.1rc1/src/robot/running/builder/transformers.py +0 -642
- robotframework-6.1rc1/src/robot/running/handlers.py +0 -321
- robotframework-6.1rc1/src/robot/running/handlerstore.py +0 -66
- robotframework-6.1rc1/src/robot/running/librarykeywordrunner.py +0 -238
- robotframework-6.1rc1/src/robot/running/libraryscopes.py +0 -97
- robotframework-6.1rc1/src/robot/running/modelcombiner.py +0 -32
- robotframework-6.1rc1/src/robot/running/suiterunner.py +0 -249
- robotframework-6.1rc1/src/robot/running/testlibraries.py +0 -420
- robotframework-6.1rc1/src/robot/running/usererrorhandler.py +0 -75
- robotframework-6.1rc1/src/robot/running/userkeyword.py +0 -111
- robotframework-6.1rc1/src/robot/running/userkeywordrunner.py +0 -274
- robotframework-6.1rc1/src/robot/variables/tablesetter.py +0 -156
- {robotframework-6.1rc1 → robotframework-7.0}/AUTHORS.rst +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/BUILD.rst +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/CONTRIBUTING.rst +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/COPYRIGHT.txt +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/LICENSE.txt +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/MANIFEST.in +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/setup.cfg +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/__main__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/conf/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/errors.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/common/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/common/js_disabled.css +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/jsonwriter.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/lib/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/lib/jquery.highlight.min.js +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/lib/jquery.min.js +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/lib/jquery.tablesorter.min.js +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/lib/jquery.tmpl.min.js +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/lib/jsxcompressor.min.js +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/libdoc/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/libdoc/doc_formatting.css +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/libdoc/print.css +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/libdoc/pygments.css +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/rebot/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/rebot/fileloading.js +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/rebot/log.js +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/rebot/print.css +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/rebot/util.js +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/testdoc/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/testdoc/testdoc.css +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/htmldata/testdoc/testdoc.html +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdoc.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdocpkg/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdocpkg/consoleviewer.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdocpkg/htmlwriter.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdocpkg/jsonwriter.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdocpkg/output.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libdocpkg/writer.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libraries/Dialogs.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libraries/Easter.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libraries/Screenshot.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/libraries/Telnet.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/fixture.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/metadata.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/statistics.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/suitestatistics.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/tagsetter.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/tagstatistics.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/model/totalstatistics.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/output/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/output/console/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/output/console/highlighting.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/output/pyloggingconf.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/lexer/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/lexer/tokenizer.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/model/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/parser/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/parser/blockparsers.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/parser/fileparser.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/parser/parser.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/parsing/suitestructure.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/pythonpathsetter.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/reporting/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/reporting/jsexecutionresult.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/reporting/jswriter.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/result/executionerrors.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/result/messagefilter.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/result/suiteteardownfailed.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/result/visitor.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/builder/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/randomizer.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/runkwregister.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/signalhandler.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/status.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/timeouts/__init__.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/timeouts/posix.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/running/timeouts/windows.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/application.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/argumentparser.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/asserts.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/charwidth.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/compress.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/encoding.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/error.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/etreewrapper.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/filereader.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/frange.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/htmlformatters.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/markuputils.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/match.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/recommendations.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/restreader.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/robotenv.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/robotinspect.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/sortable.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/utils/typehints.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/variables/finders.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/variables/notfound.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robot/variables/resolvable.py +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robotframework.egg-info/dependency_links.txt +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robotframework.egg-info/entry_points.txt +0 -0
- {robotframework-6.1rc1 → robotframework-7.0}/src/robotframework.egg-info/top_level.txt +0 -0
|
@@ -34,9 +34,6 @@ base class.
|
|
|
34
34
|
.. note:: These classes are not exposed via the top level :mod:`robot.api`
|
|
35
35
|
package and need to imported via :mod:`robot.api.interfaces`.
|
|
36
36
|
|
|
37
|
-
.. note:: Using this module requires having the typing_extensions__ module
|
|
38
|
-
installed when using Python 3.6 or 3.7.
|
|
39
|
-
|
|
40
37
|
This module is new in Robot Framework 6.1.
|
|
41
38
|
|
|
42
39
|
__ http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#dynamic-library-api
|
|
@@ -44,22 +41,12 @@ __ http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#
|
|
|
44
41
|
__ http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#listener-version-2
|
|
45
42
|
__ http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#listener-version-3
|
|
46
43
|
__ http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#parser-interface
|
|
47
|
-
__ https://pypi.org/project/typing-extensions/
|
|
48
44
|
"""
|
|
49
45
|
|
|
50
46
|
import sys
|
|
51
47
|
from abc import ABC, abstractmethod
|
|
52
48
|
from pathlib import Path
|
|
53
|
-
from typing import Any,
|
|
54
|
-
# Need to use version check and not try/except to support Mypy's stubgen.
|
|
55
|
-
if sys.version_info >= (3, 8):
|
|
56
|
-
from typing import TypedDict
|
|
57
|
-
else:
|
|
58
|
-
try:
|
|
59
|
-
from typing_extensions import TypedDict
|
|
60
|
-
except ImportError:
|
|
61
|
-
raise ImportError("Using the 'robot.api.interfaces' module requires having "
|
|
62
|
-
"the 'typing_extensions' module installed with Python < 3.8.")
|
|
49
|
+
from typing import Any, Mapping, Sequence, TypedDict, Union
|
|
63
50
|
if sys.version_info >= (3, 10):
|
|
64
51
|
from types import UnionType
|
|
65
52
|
else:
|
|
@@ -72,32 +59,32 @@ from robot.running import TestDefaults, TestSuite
|
|
|
72
59
|
|
|
73
60
|
# Type aliases used by DynamicLibrary and HybridLibrary.
|
|
74
61
|
Name = str
|
|
75
|
-
PositArgs =
|
|
76
|
-
NamedArgs =
|
|
62
|
+
PositArgs = Sequence[Any]
|
|
63
|
+
NamedArgs = Mapping[str, Any]
|
|
77
64
|
Documentation = str
|
|
78
|
-
Arguments =
|
|
65
|
+
Arguments = Sequence[
|
|
79
66
|
Union[
|
|
80
|
-
str,
|
|
81
|
-
|
|
82
|
-
|
|
67
|
+
str, # Name with possible default like `arg` or `arg=1`.
|
|
68
|
+
'tuple[str]', # Name without a default like `('arg',)`.
|
|
69
|
+
'tuple[str, Any]' # Name and default like `('arg', 1)`.
|
|
83
70
|
]
|
|
84
71
|
]
|
|
85
|
-
|
|
86
|
-
type,
|
|
87
|
-
str,
|
|
88
|
-
UnionType,
|
|
89
|
-
|
|
72
|
+
TypeHint = Union[
|
|
73
|
+
type, # Actual type.
|
|
74
|
+
str, # Type name or alias.
|
|
75
|
+
UnionType, # Union syntax (e.g. `int | float`).
|
|
76
|
+
'tuple[TypeHint, ...]' # Tuple of type hints. Behaves like a union.
|
|
90
77
|
]
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
78
|
+
TypeHints = Union[
|
|
79
|
+
Mapping[str, TypeHint], # Types by name.
|
|
80
|
+
Sequence[ # Types by position.
|
|
94
81
|
Union[
|
|
95
|
-
|
|
96
|
-
None
|
|
82
|
+
TypeHint, # Type hint.
|
|
83
|
+
None # No type hint.
|
|
97
84
|
]
|
|
98
85
|
]
|
|
99
86
|
]
|
|
100
|
-
Tags =
|
|
87
|
+
Tags = Sequence[str]
|
|
101
88
|
Source = str
|
|
102
89
|
|
|
103
90
|
|
|
@@ -112,7 +99,7 @@ class DynamicLibrary(ABC):
|
|
|
112
99
|
"""
|
|
113
100
|
|
|
114
101
|
@abstractmethod
|
|
115
|
-
def get_keyword_names(self) ->
|
|
102
|
+
def get_keyword_names(self) -> Sequence[Name]:
|
|
116
103
|
"""Return names of the keywords this library implements.
|
|
117
104
|
|
|
118
105
|
:return: Keyword names as a list of strings.
|
|
@@ -137,7 +124,7 @@ class DynamicLibrary(ABC):
|
|
|
137
124
|
"""
|
|
138
125
|
raise NotImplementedError
|
|
139
126
|
|
|
140
|
-
def get_keyword_documentation(self, name: Name) ->
|
|
127
|
+
def get_keyword_documentation(self, name: Name) -> 'Documentation | None':
|
|
141
128
|
"""Optional method to return keyword documentation.
|
|
142
129
|
|
|
143
130
|
The first logical line of keyword documentation is shown in
|
|
@@ -155,7 +142,7 @@ class DynamicLibrary(ABC):
|
|
|
155
142
|
"""
|
|
156
143
|
return None
|
|
157
144
|
|
|
158
|
-
def get_keyword_arguments(self, name: Name) ->
|
|
145
|
+
def get_keyword_arguments(self, name: Name) -> 'Arguments | None':
|
|
159
146
|
"""Optional method to return keyword's argument specification.
|
|
160
147
|
|
|
161
148
|
Returned information is used during execution for argument validation.
|
|
@@ -179,7 +166,7 @@ class DynamicLibrary(ABC):
|
|
|
179
166
|
- If keyword does not accept varargs, a lone ``*`` can be used
|
|
180
167
|
a separator between normal and named-only arguments like
|
|
181
168
|
``['normal', '*', 'named']``.
|
|
182
|
-
- Kwargs must have a ``**`` prefix like [
|
|
169
|
+
- Kwargs must have a ``**`` prefix like ``['**config']``. There can
|
|
183
170
|
be only one kwargs, and it must be last.
|
|
184
171
|
|
|
185
172
|
Both normal arguments and named-only arguments can have default values:
|
|
@@ -198,7 +185,7 @@ class DynamicLibrary(ABC):
|
|
|
198
185
|
"""
|
|
199
186
|
return None
|
|
200
187
|
|
|
201
|
-
def get_keyword_types(self, name: Name) ->
|
|
188
|
+
def get_keyword_types(self, name: Name) -> 'TypeHints | None':
|
|
202
189
|
"""Optional method to return keyword's type specification.
|
|
203
190
|
|
|
204
191
|
Type information is used for automatic argument conversion during
|
|
@@ -231,7 +218,7 @@ class DynamicLibrary(ABC):
|
|
|
231
218
|
"""
|
|
232
219
|
return None
|
|
233
220
|
|
|
234
|
-
def get_keyword_tags(self, name: Name) ->
|
|
221
|
+
def get_keyword_tags(self, name: Name) -> 'Tags | None':
|
|
235
222
|
"""Optional method to return keyword's tags.
|
|
236
223
|
|
|
237
224
|
Tags are shown in the execution log and in documentation generated by
|
|
@@ -242,7 +229,7 @@ class DynamicLibrary(ABC):
|
|
|
242
229
|
"""
|
|
243
230
|
return None
|
|
244
231
|
|
|
245
|
-
def get_keyword_source(self, name: Name) ->
|
|
232
|
+
def get_keyword_source(self, name: Name) -> 'Source | None':
|
|
246
233
|
"""Optional method to return keyword's source path and line number.
|
|
247
234
|
|
|
248
235
|
Source information is used by IDEs to provide navigation from
|
|
@@ -281,7 +268,7 @@ class HybridLibrary(ABC):
|
|
|
281
268
|
"""
|
|
282
269
|
|
|
283
270
|
@abstractmethod
|
|
284
|
-
def get_keyword_names(self) ->
|
|
271
|
+
def get_keyword_names(self) -> Sequence[Name]:
|
|
285
272
|
"""Return names of the implemented keyword methods as a list or strings.
|
|
286
273
|
|
|
287
274
|
Returned names must match names of the implemented keyword methods.
|
|
@@ -299,10 +286,10 @@ class StartSuiteAttributes(TypedDict):
|
|
|
299
286
|
id: str
|
|
300
287
|
longname: str
|
|
301
288
|
doc: str
|
|
302
|
-
metadata: dict
|
|
289
|
+
metadata: 'dict[str, str]'
|
|
303
290
|
source: str
|
|
304
|
-
suites:
|
|
305
|
-
tests:
|
|
291
|
+
suites: 'list[str]'
|
|
292
|
+
tests: 'list[str]'
|
|
306
293
|
totaltests: int
|
|
307
294
|
starttime: str
|
|
308
295
|
|
|
@@ -328,7 +315,7 @@ class StartTestAttributes(TypedDict):
|
|
|
328
315
|
longname: str
|
|
329
316
|
originalname: str
|
|
330
317
|
doc: str
|
|
331
|
-
tags:
|
|
318
|
+
tags: 'list[str]'
|
|
332
319
|
template: str
|
|
333
320
|
source: str
|
|
334
321
|
lineno: int
|
|
@@ -352,22 +339,18 @@ class OptionalKeywordAttributes(TypedDict, total=False):
|
|
|
352
339
|
These attributes are included with control structures. For example, with
|
|
353
340
|
IF structures attributes include ``condition``.
|
|
354
341
|
"""
|
|
355
|
-
# FOR
|
|
356
|
-
variables:
|
|
342
|
+
# FOR / ITERATION with FOR
|
|
343
|
+
variables: 'list[str] | dict[str, str]'
|
|
357
344
|
flavor: str
|
|
358
|
-
values:
|
|
359
|
-
# ITERATION with FOR
|
|
360
|
-
variables: Dict[str, str]
|
|
345
|
+
values: 'list[str]' # Also RETURN
|
|
361
346
|
# WHILE and IF
|
|
362
347
|
condition: str
|
|
363
348
|
# WHILE
|
|
364
349
|
limit: str
|
|
365
350
|
# EXCEPT
|
|
366
|
-
patterns:
|
|
351
|
+
patterns: 'list[str]'
|
|
367
352
|
pattern_type: str
|
|
368
353
|
variable: str
|
|
369
|
-
# RETURN
|
|
370
|
-
values: List[str]
|
|
371
354
|
|
|
372
355
|
|
|
373
356
|
class StartKeywordAttributes(OptionalKeywordAttributes):
|
|
@@ -379,9 +362,9 @@ class StartKeywordAttributes(OptionalKeywordAttributes):
|
|
|
379
362
|
kwname: str
|
|
380
363
|
libname: str
|
|
381
364
|
doc: str
|
|
382
|
-
args:
|
|
383
|
-
assign:
|
|
384
|
-
tags:
|
|
365
|
+
args: 'list[str]'
|
|
366
|
+
assign: 'list[str]'
|
|
367
|
+
tags: 'list[str]'
|
|
385
368
|
source: str
|
|
386
369
|
lineno: int
|
|
387
370
|
status: str
|
|
@@ -413,10 +396,10 @@ class LibraryAttributes(TypedDict):
|
|
|
413
396
|
|
|
414
397
|
See the User Guide for more information.
|
|
415
398
|
"""
|
|
416
|
-
args:
|
|
399
|
+
args: 'list[str]'
|
|
417
400
|
originalname: str
|
|
418
401
|
source: str
|
|
419
|
-
importer:
|
|
402
|
+
importer: 'str | None'
|
|
420
403
|
|
|
421
404
|
|
|
422
405
|
class ResourceAttributes(TypedDict):
|
|
@@ -425,7 +408,7 @@ class ResourceAttributes(TypedDict):
|
|
|
425
408
|
See the User Guide for more information.
|
|
426
409
|
"""
|
|
427
410
|
source: str
|
|
428
|
-
importer:
|
|
411
|
+
importer: 'str | None'
|
|
429
412
|
|
|
430
413
|
|
|
431
414
|
class VariablesAttributes(TypedDict):
|
|
@@ -433,13 +416,13 @@ class VariablesAttributes(TypedDict):
|
|
|
433
416
|
|
|
434
417
|
See the User Guide for more information.
|
|
435
418
|
"""
|
|
436
|
-
args:
|
|
419
|
+
args: 'list[str]'
|
|
437
420
|
source: str
|
|
438
|
-
importer:
|
|
421
|
+
importer: 'str | None'
|
|
439
422
|
|
|
440
423
|
|
|
441
424
|
class ListenerV2:
|
|
442
|
-
"""Optional base class for listeners using the listener API
|
|
425
|
+
"""Optional base class for listeners using the listener API version 2."""
|
|
443
426
|
ROBOT_LISTENER_API_VERSION = 2
|
|
444
427
|
|
|
445
428
|
def start_suite(self, name: str, attributes: StartSuiteAttributes):
|
|
@@ -518,7 +501,7 @@ class ListenerV2:
|
|
|
518
501
|
|
|
519
502
|
|
|
520
503
|
class ListenerV3:
|
|
521
|
-
"""Optional base class for listeners using the listener API
|
|
504
|
+
"""Optional base class for listeners using the listener API version 3."""
|
|
522
505
|
ROBOT_LISTENER_API_VERSION = 3
|
|
523
506
|
|
|
524
507
|
def start_suite(self, data: running.TestSuite, result: result.TestSuite):
|
|
@@ -531,7 +514,359 @@ class ListenerV3:
|
|
|
531
514
|
"""Called when a test or task starts."""
|
|
532
515
|
|
|
533
516
|
def end_test(self, data: running.TestCase, result: result.TestCase):
|
|
534
|
-
"""Called when a test or ends
|
|
517
|
+
"""Called when a test or tasks ends."""
|
|
518
|
+
|
|
519
|
+
def start_keyword(self, data: running.Keyword, result: result.Keyword):
|
|
520
|
+
"""Called when a keyword starts by default.
|
|
521
|
+
|
|
522
|
+
This method is called, by default, with user keywords, library keywords
|
|
523
|
+
and when a keyword call is invalid. It is not called, however, if a more
|
|
524
|
+
specific :meth:`start_user_keyword`, :meth:`start_library_keyword` or
|
|
525
|
+
:meth:`start_invalid_keyword` method is implemented.
|
|
526
|
+
|
|
527
|
+
The default implementation calls :meth:`start_body_item`.
|
|
528
|
+
|
|
529
|
+
New in Robot Framework 7.0.
|
|
530
|
+
"""
|
|
531
|
+
self.start_body_item(data, result)
|
|
532
|
+
|
|
533
|
+
def end_keyword(self, data: running.Keyword, result: result.Keyword):
|
|
534
|
+
"""Called when a keyword ends by default.
|
|
535
|
+
|
|
536
|
+
This method is called, by default, with user keywords, library keywords
|
|
537
|
+
and when a keyword call is invalid. It is not called, however, if a more
|
|
538
|
+
specific :meth:`end_user_keyword`, :meth:`end_library_keyword` or
|
|
539
|
+
:meth:`end_invalid_keyword` method is implemented.
|
|
540
|
+
|
|
541
|
+
The default implementation calls :meth:`end_body_item`.
|
|
542
|
+
|
|
543
|
+
New in Robot Framework 7.0.
|
|
544
|
+
"""
|
|
545
|
+
self.end_body_item(data, result)
|
|
546
|
+
|
|
547
|
+
def start_user_keyword(self, data: running.Keyword,
|
|
548
|
+
implementation: running.UserKeyword,
|
|
549
|
+
result: result.Keyword):
|
|
550
|
+
"""Called when a user keyword starts.
|
|
551
|
+
|
|
552
|
+
The default implementation calls :meth:`start_keyword`.
|
|
553
|
+
|
|
554
|
+
New in Robot Framework 7.0.
|
|
555
|
+
"""
|
|
556
|
+
self.start_keyword(data, result)
|
|
557
|
+
|
|
558
|
+
def end_user_keyword(self, data: running.Keyword,
|
|
559
|
+
implementation: running.UserKeyword,
|
|
560
|
+
result: result.Keyword):
|
|
561
|
+
"""Called when a user keyword ends.
|
|
562
|
+
|
|
563
|
+
The default implementation calls :meth:`end_keyword`.
|
|
564
|
+
|
|
565
|
+
New in Robot Framework 7.0.
|
|
566
|
+
"""
|
|
567
|
+
self.end_keyword(data, result)
|
|
568
|
+
|
|
569
|
+
def start_library_keyword(self, data: running.Keyword,
|
|
570
|
+
implementation: running.LibraryKeyword,
|
|
571
|
+
result: result.Keyword):
|
|
572
|
+
"""Called when a library keyword starts.
|
|
573
|
+
|
|
574
|
+
The default implementation calls :meth:`start_keyword`.
|
|
575
|
+
|
|
576
|
+
New in Robot Framework 7.0.
|
|
577
|
+
"""
|
|
578
|
+
self.start_keyword(data, result)
|
|
579
|
+
|
|
580
|
+
def end_library_keyword(self, data: running.Keyword,
|
|
581
|
+
implementation: running.LibraryKeyword,
|
|
582
|
+
result: result.Keyword):
|
|
583
|
+
"""Called when a library keyword ends.
|
|
584
|
+
|
|
585
|
+
The default implementation calls :meth:`start_keyword`.
|
|
586
|
+
|
|
587
|
+
New in Robot Framework 7.0.
|
|
588
|
+
"""
|
|
589
|
+
self.end_keyword(data, result)
|
|
590
|
+
|
|
591
|
+
def start_invalid_keyword(self, data: running.Keyword,
|
|
592
|
+
implementation: running.KeywordImplementation,
|
|
593
|
+
result: result.Keyword):
|
|
594
|
+
"""Called when an invalid keyword call starts.
|
|
595
|
+
|
|
596
|
+
Keyword may not have been found, there could have been multiple matches,
|
|
597
|
+
or the keyword call itself could have been invalid.
|
|
598
|
+
|
|
599
|
+
The default implementation calls :meth:`start_keyword`.
|
|
600
|
+
|
|
601
|
+
New in Robot Framework 7.0.
|
|
602
|
+
"""
|
|
603
|
+
self.start_keyword(data, result)
|
|
604
|
+
|
|
605
|
+
def end_invalid_keyword(self, data: running.Keyword,
|
|
606
|
+
implementation: running.KeywordImplementation,
|
|
607
|
+
result: result.Keyword):
|
|
608
|
+
"""Called when an invalid keyword call ends.
|
|
609
|
+
|
|
610
|
+
Keyword may not have been found, there could have been multiple matches,
|
|
611
|
+
or the keyword call itself could have been invalid.
|
|
612
|
+
|
|
613
|
+
The default implementation calls :meth:`end_keyword`.
|
|
614
|
+
|
|
615
|
+
New in Robot Framework 7.0.
|
|
616
|
+
"""
|
|
617
|
+
self.end_keyword(data, result)
|
|
618
|
+
|
|
619
|
+
def start_for(self, data: running.For, result: result.For):
|
|
620
|
+
"""Called when a FOR loop starts.
|
|
621
|
+
|
|
622
|
+
The default implementation calls :meth:`start_body_item`.
|
|
623
|
+
|
|
624
|
+
New in Robot Framework 7.0.
|
|
625
|
+
"""
|
|
626
|
+
self.start_body_item(data, result)
|
|
627
|
+
|
|
628
|
+
def end_for(self, data: running.For, result: result.For):
|
|
629
|
+
"""Called when a FOR loop ends.
|
|
630
|
+
|
|
631
|
+
The default implementation calls :meth:`end_body_item`.
|
|
632
|
+
|
|
633
|
+
New in Robot Framework 7.0.
|
|
634
|
+
"""
|
|
635
|
+
self.end_body_item(data, result)
|
|
636
|
+
|
|
637
|
+
def start_for_iteration(self, data: running.ForIteration,
|
|
638
|
+
result: result.ForIteration):
|
|
639
|
+
"""Called when a FOR loop iteration starts.
|
|
640
|
+
|
|
641
|
+
The default implementation calls :meth:`start_body_item`.
|
|
642
|
+
|
|
643
|
+
New in Robot Framework 7.0.
|
|
644
|
+
"""
|
|
645
|
+
self.start_body_item(data, result)
|
|
646
|
+
|
|
647
|
+
def end_for_iteration(self, data: running.ForIteration,
|
|
648
|
+
result: result.ForIteration):
|
|
649
|
+
"""Called when a FOR loop iteration ends.
|
|
650
|
+
|
|
651
|
+
The default implementation calls :meth:`end_body_item`.
|
|
652
|
+
|
|
653
|
+
New in Robot Framework 7.0.
|
|
654
|
+
"""
|
|
655
|
+
self.end_body_item(data, result)
|
|
656
|
+
|
|
657
|
+
def start_while(self, data: running.While, result: result.While):
|
|
658
|
+
"""Called when a WHILE loop starts.
|
|
659
|
+
|
|
660
|
+
The default implementation calls :meth:`start_body_item`.
|
|
661
|
+
|
|
662
|
+
New in Robot Framework 7.0.
|
|
663
|
+
"""
|
|
664
|
+
self.start_body_item(data, result)
|
|
665
|
+
|
|
666
|
+
def end_while(self, data: running.While, result: result.While):
|
|
667
|
+
"""Called when a WHILE loop ends.
|
|
668
|
+
|
|
669
|
+
The default implementation calls :meth:`end_body_item`.
|
|
670
|
+
|
|
671
|
+
New in Robot Framework 7.0.
|
|
672
|
+
"""
|
|
673
|
+
self.end_body_item(data, result)
|
|
674
|
+
|
|
675
|
+
def start_while_iteration(self, data: running.WhileIteration,
|
|
676
|
+
result: result.WhileIteration):
|
|
677
|
+
"""Called when a WHILE loop iteration starts.
|
|
678
|
+
|
|
679
|
+
The default implementation calls :meth:`start_body_item`.
|
|
680
|
+
|
|
681
|
+
New in Robot Framework 7.0.
|
|
682
|
+
"""
|
|
683
|
+
self.start_body_item(data, result)
|
|
684
|
+
|
|
685
|
+
def end_while_iteration(self, data: running.WhileIteration,
|
|
686
|
+
result: result.WhileIteration):
|
|
687
|
+
"""Called when a WHILE loop iteration ends.
|
|
688
|
+
|
|
689
|
+
The default implementation calls :meth:`end_body_item`.
|
|
690
|
+
|
|
691
|
+
New in Robot Framework 7.0.
|
|
692
|
+
"""
|
|
693
|
+
self.end_body_item(data, result)
|
|
694
|
+
|
|
695
|
+
def start_if(self, data: running.If, result: result.If):
|
|
696
|
+
"""Called when an IF/ELSE structure starts.
|
|
697
|
+
|
|
698
|
+
The default implementation calls :meth:`start_body_item`.
|
|
699
|
+
|
|
700
|
+
New in Robot Framework 7.0.
|
|
701
|
+
"""
|
|
702
|
+
self.start_body_item(data, result)
|
|
703
|
+
|
|
704
|
+
def end_if(self, data: running.If, result: result.If):
|
|
705
|
+
"""Called when an IF/ELSE structure ends.
|
|
706
|
+
|
|
707
|
+
The default implementation calls :meth:`end_body_item`.
|
|
708
|
+
|
|
709
|
+
New in Robot Framework 7.0.
|
|
710
|
+
"""
|
|
711
|
+
self.end_body_item(data, result)
|
|
712
|
+
|
|
713
|
+
def start_if_branch(self, data: running.IfBranch, result: result.IfBranch):
|
|
714
|
+
"""Called when an individual IF/ELSE branch starts.
|
|
715
|
+
|
|
716
|
+
The default implementation calls :meth:`start_body_item`.
|
|
717
|
+
|
|
718
|
+
New in Robot Framework 7.0.
|
|
719
|
+
"""
|
|
720
|
+
self.start_body_item(data, result)
|
|
721
|
+
|
|
722
|
+
def end_if_branch(self, data: running.IfBranch, result: result.IfBranch):
|
|
723
|
+
"""Called when an individual IF/ELSE branch ends.
|
|
724
|
+
|
|
725
|
+
The default implementation calls :meth:`end_body_item`.
|
|
726
|
+
|
|
727
|
+
New in Robot Framework 7.0.
|
|
728
|
+
"""
|
|
729
|
+
self.end_body_item(data, result)
|
|
730
|
+
|
|
731
|
+
def start_try(self, data: running.Try, result: result.Try):
|
|
732
|
+
"""Called when a TRY/EXCEPT structure starts.
|
|
733
|
+
|
|
734
|
+
The default implementation calls :meth:`start_body_item`.
|
|
735
|
+
|
|
736
|
+
New in Robot Framework 7.0.
|
|
737
|
+
"""
|
|
738
|
+
self.start_body_item(data, result)
|
|
739
|
+
|
|
740
|
+
def end_try(self, data: running.Try, result: result.Try):
|
|
741
|
+
"""Called when a TRY/EXCEPT structure ends.
|
|
742
|
+
|
|
743
|
+
The default implementation calls :meth:`end_body_item`.
|
|
744
|
+
|
|
745
|
+
New in Robot Framework 7.0.
|
|
746
|
+
"""
|
|
747
|
+
self.end_body_item(data, result)
|
|
748
|
+
|
|
749
|
+
def start_try_branch(self, data: running.TryBranch, result: result.TryBranch):
|
|
750
|
+
"""Called when an individual TRY/EXCEPT branch starts.
|
|
751
|
+
|
|
752
|
+
The default implementation calls :meth:`start_body_item`.
|
|
753
|
+
|
|
754
|
+
New in Robot Framework 7.0.
|
|
755
|
+
"""
|
|
756
|
+
self.start_body_item(data, result)
|
|
757
|
+
|
|
758
|
+
def end_try_branch(self, data: running.TryBranch, result: result.TryBranch):
|
|
759
|
+
"""Called when an individual TRY/EXCEPT branch ends.
|
|
760
|
+
|
|
761
|
+
The default implementation calls :meth:`end_body_item`.
|
|
762
|
+
|
|
763
|
+
New in Robot Framework 7.0.
|
|
764
|
+
"""
|
|
765
|
+
self.end_body_item(data, result)
|
|
766
|
+
|
|
767
|
+
def start_var(self, data: running.Var, result: result.Var):
|
|
768
|
+
"""Called when VAR starts.
|
|
769
|
+
|
|
770
|
+
The default implementation calls :meth:`start_body_item`.
|
|
771
|
+
|
|
772
|
+
New in Robot Framework 7.0.
|
|
773
|
+
"""
|
|
774
|
+
self.start_body_item(data, result)
|
|
775
|
+
|
|
776
|
+
def end_var(self, data: running.Var, result: result.Var):
|
|
777
|
+
"""Called when VAR ends.
|
|
778
|
+
|
|
779
|
+
The default implementation calls :meth:`end_body_item`.
|
|
780
|
+
|
|
781
|
+
New in Robot Framework 7.0.
|
|
782
|
+
"""
|
|
783
|
+
self.end_body_item(data, result)
|
|
784
|
+
|
|
785
|
+
def start_break(self, data: running.Break, result: result.Break):
|
|
786
|
+
"""Called when BREAK starts.
|
|
787
|
+
|
|
788
|
+
The default implementation calls :meth:`start_body_item`.
|
|
789
|
+
|
|
790
|
+
New in Robot Framework 7.0.
|
|
791
|
+
"""
|
|
792
|
+
self.start_body_item(data, result)
|
|
793
|
+
|
|
794
|
+
def end_break(self, data: running.Break, result: result.Break):
|
|
795
|
+
"""Called when BREAK ends.
|
|
796
|
+
|
|
797
|
+
The default implementation calls :meth:`end_body_item`.
|
|
798
|
+
|
|
799
|
+
New in Robot Framework 7.0.
|
|
800
|
+
"""
|
|
801
|
+
self.end_body_item(data, result)
|
|
802
|
+
|
|
803
|
+
def start_continue(self, data: running.Continue, result: result.Continue):
|
|
804
|
+
"""Called when CONTINUE starts.
|
|
805
|
+
|
|
806
|
+
The default implementation calls :meth:`start_body_item`.
|
|
807
|
+
|
|
808
|
+
New in Robot Framework 7.0.
|
|
809
|
+
"""
|
|
810
|
+
self.start_body_item(data, result)
|
|
811
|
+
|
|
812
|
+
def end_continue(self, data: running.Continue, result: result.Continue):
|
|
813
|
+
"""Called when CONTINUE ends.
|
|
814
|
+
|
|
815
|
+
The default implementation calls :meth:`end_body_item`.
|
|
816
|
+
|
|
817
|
+
New in Robot Framework 7.0.
|
|
818
|
+
"""
|
|
819
|
+
self.end_body_item(data, result)
|
|
820
|
+
|
|
821
|
+
def start_return(self, data: running.Return, result: result.Return):
|
|
822
|
+
"""Called when RETURN starts.
|
|
823
|
+
|
|
824
|
+
The default implementation calls :meth:`start_body_item`.
|
|
825
|
+
|
|
826
|
+
New in Robot Framework 7.0.
|
|
827
|
+
"""
|
|
828
|
+
self.start_body_item(data, result)
|
|
829
|
+
|
|
830
|
+
def end_return(self, data: running.Return, result: result.Return):
|
|
831
|
+
"""Called when RETURN ends.
|
|
832
|
+
|
|
833
|
+
The default implementation calls :meth:`end_body_item`.
|
|
834
|
+
|
|
835
|
+
New in Robot Framework 7.0.
|
|
836
|
+
"""
|
|
837
|
+
self.end_body_item(data, result)
|
|
838
|
+
|
|
839
|
+
def start_error(self, data: running.Error, result: result.Error):
|
|
840
|
+
"""Called when encountered invalid syntax starts.
|
|
841
|
+
|
|
842
|
+
The default implementation calls :meth:`start_body_item`.
|
|
843
|
+
|
|
844
|
+
New in Robot Framework 7.0.
|
|
845
|
+
"""
|
|
846
|
+
self.start_body_item(data, result)
|
|
847
|
+
|
|
848
|
+
def end_error(self, data: running.Error, result: result.Error):
|
|
849
|
+
"""Called when encountered invalid syntax ends.
|
|
850
|
+
|
|
851
|
+
The default implementation calls :meth:`end_body_item`.
|
|
852
|
+
|
|
853
|
+
New in Robot Framework 7.0.
|
|
854
|
+
"""
|
|
855
|
+
self.end_body_item(data, result)
|
|
856
|
+
|
|
857
|
+
def start_body_item(self, data, result):
|
|
858
|
+
"""Called by default when a keyword or a control structure starts.
|
|
859
|
+
|
|
860
|
+
New in Robot Framework 7.0.
|
|
861
|
+
"""
|
|
862
|
+
pass
|
|
863
|
+
|
|
864
|
+
def end_body_item(self, data, result):
|
|
865
|
+
"""Called by default when a keyword or a control structure ends.
|
|
866
|
+
|
|
867
|
+
New in Robot Framework 7.0.
|
|
868
|
+
"""
|
|
869
|
+
pass
|
|
535
870
|
|
|
536
871
|
def log_message(self, message: Message):
|
|
537
872
|
"""Called when a normal log message are emitted.
|
|
@@ -548,22 +883,22 @@ class ListenerV3:
|
|
|
548
883
|
if it is enabled.
|
|
549
884
|
"""
|
|
550
885
|
|
|
551
|
-
def output_file(self, path:
|
|
886
|
+
def output_file(self, path: Path):
|
|
552
887
|
"""Called after the output file has been created.
|
|
553
888
|
|
|
554
889
|
At this point the file is guaranteed to be closed.
|
|
555
890
|
"""
|
|
556
891
|
|
|
557
|
-
def log_file(self, path:
|
|
892
|
+
def log_file(self, path: Path):
|
|
558
893
|
"""Called after the log file has been created."""
|
|
559
894
|
|
|
560
|
-
def report_file(self, path:
|
|
895
|
+
def report_file(self, path: Path):
|
|
561
896
|
"""Called after the report file has been created."""
|
|
562
897
|
|
|
563
|
-
def xunit_file(self, path:
|
|
898
|
+
def xunit_file(self, path: Path):
|
|
564
899
|
"""Called after the xunit compatible output file has been created."""
|
|
565
900
|
|
|
566
|
-
def debug_file(self, path:
|
|
901
|
+
def debug_file(self, path: Path):
|
|
567
902
|
"""Called after the debug file has been created."""
|
|
568
903
|
|
|
569
904
|
def close(self):
|
|
@@ -605,7 +940,7 @@ class Parser(ABC):
|
|
|
605
940
|
|
|
606
941
|
The support for custom parsers is new in Robot Framework 6.1.
|
|
607
942
|
"""
|
|
608
|
-
extension:
|
|
943
|
+
extension: 'str | Sequence[str]'
|
|
609
944
|
|
|
610
945
|
@abstractmethod
|
|
611
946
|
def parse(self, source: Path, defaults: TestDefaults) -> TestSuite:
|