robotframework 7.0rc3__zip → 7.0.1__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-7.0rc3 → robotframework-7.0.1}/INSTALL.rst +35 -35
- {robotframework-7.0rc3/src/robotframework.egg-info → robotframework-7.0.1}/PKG-INFO +5 -3
- {robotframework-7.0rc3 → robotframework-7.0.1}/README.rst +3 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/setup.py +1 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/interfaces.py +14 -10
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/conf/languages.py +45 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/BuiltIn.py +2 -2
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Collections.py +5 -3
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/dialogs_py.py +3 -4
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/__init__.py +1 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/configurer.py +1 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/filter.py +9 -9
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/keyword.py +2 -9
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/xmllogger.py +3 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/logreportwriters.py +1 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/model.py +2 -27
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/__init__.py +7 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentresolver.py +7 -15
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/typeconverters.py +11 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/typeinfo.py +34 -7
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/bodyrunner.py +1 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/builder/transformers.py +3 -3
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/invalidkeyword.py +5 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/librarykeyword.py +3 -3
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/model.py +32 -28
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/namespace.py +4 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/resourcemodel.py +1 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/timeouts/__init__.py +6 -2
- robotframework-7.0.1/src/robot/running/timeouts/nosupport.py +25 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/userkeywordrunner.py +2 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/__init__.py +1 -1
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/notset.py +2 -3
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/version.py +1 -1
- {robotframework-7.0rc3 → robotframework-7.0.1/src/robotframework.egg-info}/PKG-INFO +5 -3
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robotframework.egg-info/SOURCES.txt +1 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/AUTHORS.rst +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/BUILD.rst +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/CONTRIBUTING.rst +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/COPYRIGHT.txt +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/LICENSE.txt +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/MANIFEST.in +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/setup.cfg +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/__main__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/deco.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/exceptions.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/logger.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/parsing.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/py.typed +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/conf/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/conf/gatherfailed.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/conf/settings.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/errors.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/common/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/common/js_disabled.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/common/storage.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/htmlfilewriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/jsonwriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.highlight.min.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.min.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.tablesorter.min.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.tmpl.min.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jsxcompressor.min.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/doc_formatting.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/libdoc.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/libdoc.html +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/print.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/pygments.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/common.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/doc_formatting.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/fileloading.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/log.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/log.html +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/log.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/model.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/print.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/report.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/report.html +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/testdata.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/util.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/view.js +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/template.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/testdoc/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/testdoc/testdoc.css +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/testdoc/testdoc.html +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdoc.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/builder.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/consoleviewer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/datatypes.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/htmlutils.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/htmlwriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/jsonbuilder.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/jsonwriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/model.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/output.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/robotbuilder.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/standardtypes.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/writer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/xmlbuilder.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/xmlwriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/DateTime.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Dialogs.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Easter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/OperatingSystem.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Process.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Remote.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Screenshot.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/String.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Telnet.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/XML.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/body.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/control.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/fixture.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/itemlist.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/message.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/metadata.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/modelobject.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/modifier.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/namepatterns.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/statistics.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/stats.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/suitestatistics.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/tags.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/tagsetter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/tagstatistics.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/testcase.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/testsuite.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/totalstatistics.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/visitor.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/console/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/console/dotted.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/console/highlighting.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/console/quiet.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/console/verbose.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/debugfile.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/filelogger.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/librarylogger.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/listeners.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/logger.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/loggerapi.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/loggerhelper.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/output.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/pyloggingconf.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/stdoutlogsplitter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/blocklexers.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/context.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/lexer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/settings.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/statementlexers.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/tokenizer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/tokens.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/model/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/model/blocks.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/model/statements.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/model/visitor.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/parser/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/parser/blockparsers.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/parser/fileparser.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/parser/parser.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/suitestructure.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/pythonpathsetter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/rebot.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/expandkeywordmatcher.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/jsbuildingcontext.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/jsexecutionresult.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/jsmodelbuilders.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/jswriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/outputwriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/resultwriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/stringcache.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/xunitwriter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/configurer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/executionerrors.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/executionresult.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/flattenkeywordmatcher.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/keywordremover.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/merger.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/messagefilter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/modeldeprecation.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/resultbuilder.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/suiteteardownfailed.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/visitor.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/xmlelementhandlers.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/run.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentconverter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentmapper.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentparser.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentspec.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentvalidator.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/customconverters.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/embedded.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/typeinfoparser.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/typevalidator.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/builder/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/builder/builders.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/builder/parsers.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/builder/settings.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/context.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/dynamicmethods.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/importer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/keywordfinder.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/keywordimplementation.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/librarykeywordrunner.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/libraryscopes.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/outputcapture.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/randomizer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/runkwregister.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/signalhandler.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/status.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/statusreporter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/suiterunner.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/testlibraries.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/timeouts/posix.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/timeouts/windows.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/testdoc.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/application.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/argumentparser.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/asserts.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/charwidth.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/compress.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/connectioncache.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/dotdict.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/encoding.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/encodingsniffer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/error.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/escaping.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/etreewrapper.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/filereader.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/frange.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/htmlformatters.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/importer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/markuputils.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/markupwriters.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/match.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/misc.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/normalizing.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/platform.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/recommendations.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/restreader.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robotenv.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robotinspect.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robotio.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robotpath.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robottime.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robottypes.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/setter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/sortable.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/text.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/typehints.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/unic.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/__init__.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/assigner.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/evaluation.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/filesetter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/finders.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/notfound.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/replacer.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/resolvable.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/scopes.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/search.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/store.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/tablesetter.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/variables.py +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robotframework.egg-info/dependency_links.txt +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robotframework.egg-info/entry_points.txt +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/src/robotframework.egg-info/top_level.txt +0 -0
- {robotframework-7.0rc3 → robotframework-7.0.1}/tasks.py +0 -0
{robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/typeconverters.py
RENAMED
|
@@ -526,7 +526,17 @@ class TypedDictConverter(TypeConverter):
|
|
|
526
526
|
return type_info.is_typed_dict
|
|
527
527
|
|
|
528
528
|
def no_conversion_needed(self, value):
|
|
529
|
-
|
|
529
|
+
if not isinstance(value, Mapping):
|
|
530
|
+
return False
|
|
531
|
+
for key in value:
|
|
532
|
+
try:
|
|
533
|
+
converter = self.converters[key]
|
|
534
|
+
except KeyError:
|
|
535
|
+
return False
|
|
536
|
+
else:
|
|
537
|
+
if not converter.no_conversion_needed(value[key]):
|
|
538
|
+
return False
|
|
539
|
+
return set(value).issuperset(self.type_info.required)
|
|
530
540
|
|
|
531
541
|
def _non_string_convert(self, value):
|
|
532
542
|
return self._convert_items(value)
|
|
@@ -13,12 +13,20 @@
|
|
|
13
13
|
# See the License for the specific language governing permissions and
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
|
|
16
|
+
import sys
|
|
16
17
|
from collections.abc import Mapping, Sequence, Set
|
|
17
18
|
from datetime import date, datetime, timedelta
|
|
18
19
|
from decimal import Decimal
|
|
19
20
|
from enum import Enum
|
|
20
21
|
from pathlib import Path
|
|
21
|
-
from typing import Any, ForwardRef, get_type_hints, Literal, Union
|
|
22
|
+
from typing import Any, ForwardRef, get_type_hints, get_origin, Literal, Union
|
|
23
|
+
if sys.version_info >= (3, 11):
|
|
24
|
+
from typing import NotRequired, Required
|
|
25
|
+
else:
|
|
26
|
+
try:
|
|
27
|
+
from typing_extensions import NotRequired, Required
|
|
28
|
+
except ImportError:
|
|
29
|
+
NotRequired = Required = object()
|
|
22
30
|
|
|
23
31
|
from robot.conf import Languages, LanguagesLike
|
|
24
32
|
from robot.errors import DataError
|
|
@@ -307,11 +315,30 @@ class TypedDictInfo(TypeInfo):
|
|
|
307
315
|
|
|
308
316
|
def __init__(self, name: str, type: type):
|
|
309
317
|
super().__init__(name, type)
|
|
310
|
-
|
|
311
|
-
type_hints = get_type_hints(type)
|
|
312
|
-
except Exception:
|
|
313
|
-
type_hints = type.__annotations__
|
|
314
|
-
self.annotations = {name: TypeInfo.from_type_hint(hint)
|
|
315
|
-
for name, hint in type_hints.items()}
|
|
318
|
+
type_hints = self._get_type_hints(type)
|
|
316
319
|
# __required_keys__ is new in Python 3.9.
|
|
317
320
|
self.required = getattr(type, '__required_keys__', frozenset())
|
|
321
|
+
if sys.version_info < (3, 11):
|
|
322
|
+
self._handle_typing_extensions_required_and_not_required(type_hints)
|
|
323
|
+
self.annotations = {name: TypeInfo.from_type_hint(hint)
|
|
324
|
+
for name, hint in type_hints.items()}
|
|
325
|
+
|
|
326
|
+
def _get_type_hints(self, type) -> 'dict[str, Any]':
|
|
327
|
+
try:
|
|
328
|
+
return get_type_hints(type)
|
|
329
|
+
except Exception:
|
|
330
|
+
return type.__annotations__
|
|
331
|
+
|
|
332
|
+
def _handle_typing_extensions_required_and_not_required(self, type_hints):
|
|
333
|
+
# NotRequired and Required are handled automatically by Python 3.11 and newer,
|
|
334
|
+
# but with older they appear in type hints and need to be handled separately.
|
|
335
|
+
required = set(self.required)
|
|
336
|
+
for key, hint in type_hints.items():
|
|
337
|
+
origin = get_origin(hint)
|
|
338
|
+
if origin is Required:
|
|
339
|
+
required.add(key)
|
|
340
|
+
type_hints[key] = hint.__args__[0]
|
|
341
|
+
elif origin is NotRequired:
|
|
342
|
+
required.discard(key)
|
|
343
|
+
type_hints[key] = hint.__args__[0]
|
|
344
|
+
self.required = frozenset(required)
|
|
@@ -68,7 +68,7 @@ class KeywordRunner:
|
|
|
68
68
|
|
|
69
69
|
def run(self, data, result, name=None):
|
|
70
70
|
context = self._context
|
|
71
|
-
runner = context.get_runner(name or data.name)
|
|
71
|
+
runner = context.get_runner(name or data.name, recommend_on_failure=self._run)
|
|
72
72
|
if context.dry_run:
|
|
73
73
|
return runner.dry_run(data, result, context)
|
|
74
74
|
return runner.run(data, result, context, self._run)
|
|
@@ -370,9 +370,9 @@ class ForBuilder(BodyBuilder):
|
|
|
370
370
|
|
|
371
371
|
def build(self, node):
|
|
372
372
|
error = format_error(self._get_errors(node))
|
|
373
|
-
self.model.config(assign=node.assign, flavor=node.flavor
|
|
374
|
-
|
|
375
|
-
lineno=node.lineno, error=error)
|
|
373
|
+
self.model.config(assign=node.assign, flavor=node.flavor or 'IN',
|
|
374
|
+
values=node.values, start=node.start, mode=node.mode,
|
|
375
|
+
fill=node.fill, lineno=node.lineno, error=error)
|
|
376
376
|
for step in node.body:
|
|
377
377
|
self.visit(step)
|
|
378
378
|
return self.model
|
|
@@ -24,6 +24,11 @@ from .keywordimplementation import KeywordImplementation
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
class InvalidKeyword(KeywordImplementation):
|
|
27
|
+
"""Represents an invalid keyword call.
|
|
28
|
+
|
|
29
|
+
Keyword may not have been found, there could have been multiple matches,
|
|
30
|
+
or the keyword call itself could have been invalid.
|
|
31
|
+
"""
|
|
27
32
|
type = KeywordImplementation.INVALID_KEYWORD
|
|
28
33
|
|
|
29
34
|
def _get_embedded(self, name) -> 'EmbeddedArguments|None':
|
|
@@ -100,7 +100,7 @@ class LibraryKeyword(KeywordImplementation):
|
|
|
100
100
|
|
|
101
101
|
|
|
102
102
|
class StaticKeyword(LibraryKeyword):
|
|
103
|
-
"""Represents
|
|
103
|
+
"""Represents a keyword in a static library."""
|
|
104
104
|
__slots__ = ['method_name']
|
|
105
105
|
|
|
106
106
|
def __init__(self, method_name: str,
|
|
@@ -142,7 +142,7 @@ class StaticKeyword(LibraryKeyword):
|
|
|
142
142
|
|
|
143
143
|
|
|
144
144
|
class DynamicKeyword(LibraryKeyword):
|
|
145
|
-
"""Represents
|
|
145
|
+
"""Represents a keyword in a dynamic library."""
|
|
146
146
|
owner: 'DynamicLibrary'
|
|
147
147
|
__slots__ = ['run_keyword', '_orig_name', '__source_info']
|
|
148
148
|
|
|
@@ -212,7 +212,7 @@ class DynamicKeyword(LibraryKeyword):
|
|
|
212
212
|
|
|
213
213
|
|
|
214
214
|
class LibraryInit(LibraryKeyword):
|
|
215
|
-
"""Represents library initializer.
|
|
215
|
+
"""Represents a library initializer.
|
|
216
216
|
|
|
217
217
|
:attr:`positional` and :attr:`named` contain arguments used for initializing
|
|
218
218
|
the library.
|
|
@@ -36,7 +36,7 @@ __ http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#
|
|
|
36
36
|
|
|
37
37
|
import warnings
|
|
38
38
|
from pathlib import Path
|
|
39
|
-
from typing import Literal, Mapping, Sequence, TYPE_CHECKING, TypeVar, Union
|
|
39
|
+
from typing import Any, Literal, Mapping, Sequence, TYPE_CHECKING, TypeVar, Union
|
|
40
40
|
|
|
41
41
|
from robot import model
|
|
42
42
|
from robot.conf import RobotSettings
|
|
@@ -80,6 +80,35 @@ class WithSource:
|
|
|
80
80
|
return self.parent.source if self.parent is not None else None
|
|
81
81
|
|
|
82
82
|
|
|
83
|
+
class Argument:
|
|
84
|
+
"""A temporary API for creating named arguments with non-string values.
|
|
85
|
+
|
|
86
|
+
This class was added in RF 7.0.1 (#5031) after a failed attempt to add a public
|
|
87
|
+
API for this purpose in RF 7.0 (#5000). A better public API is planned for RF 7.1
|
|
88
|
+
(#5143).
|
|
89
|
+
|
|
90
|
+
If you need to support also RF 7.0, you can pass named arguments as two-item tuples
|
|
91
|
+
like `(name, value)` and positional arguments as one-item tuples like `(value,)`.
|
|
92
|
+
That approach does not work anymore in RF 7.0.1, though, so the code needs to be
|
|
93
|
+
conditional depending on Robot Framework version.
|
|
94
|
+
|
|
95
|
+
The main limitation of this class is that it is not compatible with the JSON model.
|
|
96
|
+
The current plan is to remove this in the future, possibly already in RF 8.0, but
|
|
97
|
+
we can consider preserving it if it turns out to be useful.
|
|
98
|
+
"""
|
|
99
|
+
|
|
100
|
+
def __init__(self, name: 'str|None', value: Any):
|
|
101
|
+
"""
|
|
102
|
+
:param name: Argument name. If ``None``, argument is considered positional.
|
|
103
|
+
:param value: Argument value.
|
|
104
|
+
"""
|
|
105
|
+
self.name = name
|
|
106
|
+
self.value = value
|
|
107
|
+
|
|
108
|
+
def __str__(self):
|
|
109
|
+
return str(self.value) if self.name is None else f'{self.name}={self.value}'
|
|
110
|
+
|
|
111
|
+
|
|
83
112
|
@Body.register
|
|
84
113
|
class Keyword(model.Keyword, WithSource):
|
|
85
114
|
"""Represents an executable keyword call.
|
|
@@ -97,27 +126,11 @@ class Keyword(model.Keyword, WithSource):
|
|
|
97
126
|
strings in the exact same format as in the data. This means that arguments can
|
|
98
127
|
have variables and escape characters, and that named arguments are specified
|
|
99
128
|
using the ``name=value`` syntax.
|
|
100
|
-
|
|
101
|
-
If arguments are set programmatically, it is possible to use also other types
|
|
102
|
-
than strings. To support non-string values with named arguments, it is possible
|
|
103
|
-
to use two-item tuples like ``('name', 'value')``. To avoid ambiguity if an
|
|
104
|
-
argument contains a literal ``=`` character, positional arguments can also be
|
|
105
|
-
given using one-item tuples like ``('value',)``. In all these cases strings
|
|
106
|
-
can contain variables, and they must follow the escaping rules used in normal
|
|
107
|
-
data.
|
|
108
|
-
|
|
109
|
-
Arguments can also be given directly as a tuple containing list of positional
|
|
110
|
-
arguments and a dictionary of named arguments. In this case arguments are
|
|
111
|
-
used as-is without replacing variables or handling escapes. Argument conversion
|
|
112
|
-
and validation is done even in this case, though.
|
|
113
|
-
|
|
114
|
-
Support for specifying arguments using tuples and giving them directly as
|
|
115
|
-
positional and named arguments are new in Robot Framework 7.0.
|
|
116
129
|
"""
|
|
117
130
|
__slots__ = ['lineno']
|
|
118
131
|
|
|
119
132
|
def __init__(self, name: str = '',
|
|
120
|
-
args:
|
|
133
|
+
args: 'Sequence[str|Argument|Any]' = (),
|
|
121
134
|
assign: Sequence[str] = (),
|
|
122
135
|
type: str = BodyItem.KEYWORD,
|
|
123
136
|
parent: BodyItemParent = None,
|
|
@@ -125,15 +138,6 @@ class Keyword(model.Keyword, WithSource):
|
|
|
125
138
|
super().__init__(name, args, assign, type, parent)
|
|
126
139
|
self.lineno = lineno
|
|
127
140
|
|
|
128
|
-
@classmethod
|
|
129
|
-
def from_json(cls, source) -> 'Keyword':
|
|
130
|
-
kw = super().from_json(source)
|
|
131
|
-
# Argument tuples have a special meaning during execution.
|
|
132
|
-
# Tuples are represented as lists in JSON, so we need to convert them.
|
|
133
|
-
kw.args = tuple([tuple(a) if isinstance(a, list) else a
|
|
134
|
-
for a in kw.args])
|
|
135
|
-
return kw
|
|
136
|
-
|
|
137
141
|
def to_dict(self) -> DataDict:
|
|
138
142
|
data = super().to_dict()
|
|
139
143
|
if self.lineno:
|
|
@@ -663,7 +667,7 @@ class TestSuite(model.TestSuite[Keyword, TestCase]):
|
|
|
663
667
|
|
|
664
668
|
Example::
|
|
665
669
|
|
|
666
|
-
suite.configure(
|
|
670
|
+
suite.configure(include_tags=['smoke'],
|
|
667
671
|
doc='Smoke test results.')
|
|
668
672
|
|
|
669
673
|
Not to be confused with :meth:`config` method that suites, tests,
|
|
@@ -215,6 +215,10 @@ class Namespace:
|
|
|
215
215
|
return library
|
|
216
216
|
|
|
217
217
|
def get_runner(self, name, recommend_on_failure=True):
|
|
218
|
+
# TODO: Consider changing the default value of `recommend_on_failure` to False.
|
|
219
|
+
# Recommendations are not needed in all contexts and collecting them has a
|
|
220
|
+
# performance effect that has caused issues #4659 and #5051. It is possible to
|
|
221
|
+
# opt-out from collecting recommendations, but making it opt-in could be safer.
|
|
218
222
|
try:
|
|
219
223
|
return self._kw_store.get_runner(name, recommend_on_failure)
|
|
220
224
|
except DataError as err:
|
|
@@ -155,7 +155,7 @@ class ResourceFile(ModelObject):
|
|
|
155
155
|
|
|
156
156
|
|
|
157
157
|
class UserKeyword(KeywordImplementation):
|
|
158
|
-
"""Represents user
|
|
158
|
+
"""Represents a user keyword."""
|
|
159
159
|
type = KeywordImplementation.USER_KEYWORD
|
|
160
160
|
fixture_class = Keyword
|
|
161
161
|
__slots__ = ['timeout', '_setup', '_teardown']
|
|
@@ -21,10 +21,14 @@ from robot.errors import TimeoutError, DataError, FrameworkError
|
|
|
21
21
|
if WINDOWS:
|
|
22
22
|
from .windows import Timeout
|
|
23
23
|
else:
|
|
24
|
-
|
|
24
|
+
try:
|
|
25
|
+
from .posix import Timeout
|
|
26
|
+
except ImportError:
|
|
27
|
+
from .nosupport import Timeout
|
|
25
28
|
|
|
26
29
|
|
|
27
30
|
class _Timeout(Sortable):
|
|
31
|
+
type: str
|
|
28
32
|
|
|
29
33
|
def __init__(self, timeout=None, variables=None):
|
|
30
34
|
self.string = timeout or ''
|
|
@@ -113,7 +117,7 @@ class TestTimeout(_Timeout):
|
|
|
113
117
|
def __init__(self, timeout=None, variables=None, rpa=False):
|
|
114
118
|
if rpa:
|
|
115
119
|
self.type = 'Task'
|
|
116
|
-
|
|
120
|
+
super().__init__(timeout, variables)
|
|
117
121
|
|
|
118
122
|
def set_keyword_timeout(self, timeout_occurred):
|
|
119
123
|
if timeout_occurred:
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Copyright 2008-2015 Nokia Networks
|
|
2
|
+
# Copyright 2016- Robot Framework Foundation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
from robot.errors import DataError
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class Timeout:
|
|
20
|
+
|
|
21
|
+
def __init__(self, timeout, error):
|
|
22
|
+
pass
|
|
23
|
+
|
|
24
|
+
def execute(self, runnable):
|
|
25
|
+
raise DataError('Timeouts are not supported on this platform.')
|
|
@@ -134,6 +134,8 @@ class UserKeywordRunner:
|
|
|
134
134
|
args = [f'${{{arg}}}' for arg in spec.positional]
|
|
135
135
|
if spec.var_positional:
|
|
136
136
|
args.append(f'@{{{spec.var_positional}}}')
|
|
137
|
+
if spec.named_only:
|
|
138
|
+
args.extend(f'${{{arg}}}' for arg in spec.named_only)
|
|
137
139
|
if spec.var_named:
|
|
138
140
|
args.append(f'&{{{spec.var_named}}}')
|
|
139
141
|
return args
|
|
@@ -54,7 +54,7 @@ from .match import eq, Matcher, MultiMatcher
|
|
|
54
54
|
from .misc import (classproperty, isatty, parse_re_flags, plural_or_not,
|
|
55
55
|
printable_name, seq2str, seq2str2, test_or_task)
|
|
56
56
|
from .normalizing import normalize, normalize_whitespace, NormalizedDict
|
|
57
|
-
from .notset import NOT_SET
|
|
57
|
+
from .notset import NOT_SET, NotSet
|
|
58
58
|
from .platform import PY_VERSION, PYPY, UNIXY, WINDOWS, RERAISED_EXCEPTIONS
|
|
59
59
|
from .recommendations import RecommendationFinder
|
|
60
60
|
from .robotenv import get_env_var, set_env_var, del_env_var, get_env_vars
|
|
@@ -19,8 +19,8 @@ class NotSet:
|
|
|
19
19
|
Can be used instead of the standard ``None`` in cases where ``None``
|
|
20
20
|
itself is a valid value.
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
``robot.utils.NOT_SET`` is an instance of this class, but it in same cases
|
|
23
|
+
it is better to create a separate instance.
|
|
24
24
|
|
|
25
25
|
New in Robot Framework 7.0.
|
|
26
26
|
"""
|
|
@@ -30,4 +30,3 @@ class NotSet:
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
NOT_SET = NotSet()
|
|
33
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: robotframework
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.0.1
|
|
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.
|
|
13
|
+
Project-URL: Release Notes, https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.0.1.rst
|
|
14
14
|
Project-URL: Slack, http://slack.robotframework.org
|
|
15
15
|
Description: Robot Framework
|
|
16
16
|
===============
|
|
@@ -63,10 +63,12 @@ Description: Robot Framework
|
|
|
63
63
|
For more detailed installation instructions, including installing Python, see
|
|
64
64
|
`INSTALL.rst <https://github.com/robotframework/robotframework/blob/master/INSTALL.rst>`__.
|
|
65
65
|
|
|
66
|
-
Robot Framework requires Python 3.
|
|
66
|
+
Robot Framework requires Python 3.8 or newer and runs also on `PyPy <http://pypy.org>`_.
|
|
67
|
+
The latest version that supports Python 3.6 and 3.7 is `Robot Framework 6.1.1`__.
|
|
67
68
|
If you need to use Python 2, `Jython <http://jython.org>`_ or
|
|
68
69
|
`IronPython <http://ironpython.net>`_, you can use `Robot Framework 4.1.3`__.
|
|
69
70
|
|
|
71
|
+
__ https://github.com/robotframework/robotframework/tree/v6.1.1#readme
|
|
70
72
|
__ https://github.com/robotframework/robotframework/tree/v4.1.3#readme
|
|
71
73
|
|
|
72
74
|
Example
|
|
@@ -218,6 +218,7 @@ src/robot/running/builder/parsers.py
|
|
|
218
218
|
src/robot/running/builder/settings.py
|
|
219
219
|
src/robot/running/builder/transformers.py
|
|
220
220
|
src/robot/running/timeouts/__init__.py
|
|
221
|
+
src/robot/running/timeouts/nosupport.py
|
|
221
222
|
src/robot/running/timeouts/posix.py
|
|
222
223
|
src/robot/running/timeouts/windows.py
|
|
223
224
|
src/robot/utils/__init__.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.highlight.min.js
RENAMED
|
File without changes
|
|
File without changes
|
{robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.tablesorter.min.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|