robotframework 7.1rc1__zip → 7.1rc2__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.1rc1 → robotframework-7.1rc2}/PKG-INFO +2 -2
- {robotframework-7.1rc1 → robotframework-7.1rc2}/setup.py +1 -1
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/conf/settings.py +7 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/console/__init__.py +3 -3
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/console/dotted.py +3 -3
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/console/highlighting.py +29 -11
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/console/verbose.py +7 -7
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/logger.py +2 -2
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/rebot.py +3 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/run.py +3 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/bodyrunner.py +34 -19
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/version.py +1 -1
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robotframework.egg-info/PKG-INFO +2 -2
- {robotframework-7.1rc1 → robotframework-7.1rc2}/AUTHORS.rst +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/BUILD.rst +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/CONTRIBUTING.rst +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/COPYRIGHT.txt +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/INSTALL.rst +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/LICENSE.txt +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/MANIFEST.in +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/README.rst +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/setup.cfg +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/__main__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/api/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/api/deco.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/api/exceptions.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/api/interfaces.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/api/logger.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/api/parsing.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/api/py.typed +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/conf/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/conf/gatherfailed.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/conf/languages.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/errors.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/common/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/common/js_disabled.css +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/common/storage.js +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/htmlfilewriter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/jsonwriter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/lib/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/lib/jquery.highlight.min.js +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/lib/jquery.min.js +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/lib/jquery.tablesorter.min.js +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/lib/jquery.tmpl.min.js +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/lib/jsxcompressor.min.js +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/libdoc/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/libdoc/doc_formatting.css +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/libdoc/libdoc.css +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/libdoc/libdoc.html +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/libdoc/print.css +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/libdoc/pygments.css +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/rebot/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/rebot/common.css +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/rebot/doc_formatting.css +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/rebot/fileloading.js +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/rebot/log.css +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/rebot/log.html +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/rebot/log.js +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/rebot/model.js +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/rebot/print.css +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/rebot/report.css +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/rebot/report.html +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/rebot/testdata.js +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/rebot/util.js +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/rebot/view.js +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/template.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/testdoc/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/testdoc/testdoc.css +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/testdoc/testdoc.html +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdoc.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdocpkg/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdocpkg/builder.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdocpkg/consoleviewer.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdocpkg/datatypes.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdocpkg/htmlutils.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdocpkg/htmlwriter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdocpkg/jsonbuilder.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdocpkg/jsonwriter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdocpkg/model.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdocpkg/output.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdocpkg/robotbuilder.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdocpkg/standardtypes.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdocpkg/writer.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdocpkg/xmlbuilder.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libdocpkg/xmlwriter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libraries/BuiltIn.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libraries/Collections.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libraries/DateTime.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libraries/Dialogs.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libraries/Easter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libraries/OperatingSystem.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libraries/Process.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libraries/Remote.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libraries/Screenshot.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libraries/String.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libraries/Telnet.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libraries/XML.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libraries/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/libraries/dialogs_py.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/body.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/configurer.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/control.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/filter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/fixture.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/itemlist.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/keyword.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/message.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/metadata.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/modelobject.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/modifier.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/namepatterns.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/statistics.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/stats.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/suitestatistics.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/tags.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/tagsetter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/tagstatistics.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/testcase.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/testsuite.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/totalstatistics.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/model/visitor.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/console/quiet.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/debugfile.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/filelogger.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/librarylogger.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/listeners.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/loggerapi.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/loggerhelper.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/output.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/pyloggingconf.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/stdoutlogsplitter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/output/xmllogger.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/lexer/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/lexer/blocklexers.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/lexer/context.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/lexer/lexer.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/lexer/settings.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/lexer/statementlexers.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/lexer/tokenizer.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/lexer/tokens.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/model/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/model/blocks.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/model/statements.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/model/visitor.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/parser/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/parser/blockparsers.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/parser/fileparser.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/parser/parser.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/parsing/suitestructure.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/pythonpathsetter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/reporting/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/reporting/expandkeywordmatcher.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/reporting/jsbuildingcontext.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/reporting/jsexecutionresult.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/reporting/jsmodelbuilders.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/reporting/jswriter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/reporting/logreportwriters.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/reporting/outputwriter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/reporting/resultwriter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/reporting/stringcache.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/reporting/xunitwriter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/result/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/result/configurer.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/result/executionerrors.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/result/executionresult.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/result/flattenkeywordmatcher.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/result/keywordremover.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/result/merger.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/result/messagefilter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/result/model.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/result/modeldeprecation.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/result/resultbuilder.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/result/suiteteardownfailed.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/result/visitor.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/result/xmlelementhandlers.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/arguments/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/arguments/argumentconverter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/arguments/argumentmapper.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/arguments/argumentparser.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/arguments/argumentresolver.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/arguments/argumentspec.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/arguments/argumentvalidator.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/arguments/customconverters.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/arguments/embedded.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/arguments/typeconverters.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/arguments/typeinfo.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/arguments/typeinfoparser.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/arguments/typevalidator.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/builder/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/builder/builders.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/builder/parsers.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/builder/settings.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/builder/transformers.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/context.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/dynamicmethods.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/importer.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/invalidkeyword.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/keywordfinder.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/keywordimplementation.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/librarykeyword.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/librarykeywordrunner.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/libraryscopes.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/model.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/namespace.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/outputcapture.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/randomizer.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/resourcemodel.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/runkwregister.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/signalhandler.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/status.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/statusreporter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/suiterunner.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/testlibraries.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/timeouts/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/timeouts/nosupport.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/timeouts/posix.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/timeouts/windows.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/running/userkeywordrunner.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/testdoc.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/application.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/argumentparser.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/asserts.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/charwidth.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/compress.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/connectioncache.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/dotdict.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/encoding.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/encodingsniffer.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/error.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/escaping.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/etreewrapper.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/filereader.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/frange.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/htmlformatters.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/importer.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/markuputils.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/markupwriters.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/match.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/misc.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/normalizing.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/notset.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/platform.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/recommendations.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/restreader.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/robotenv.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/robotinspect.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/robotio.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/robotpath.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/robottime.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/robottypes.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/setter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/sortable.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/text.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/typehints.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/utils/unic.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/variables/__init__.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/variables/assigner.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/variables/evaluation.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/variables/filesetter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/variables/finders.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/variables/notfound.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/variables/replacer.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/variables/resolvable.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/variables/scopes.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/variables/search.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/variables/store.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/variables/tablesetter.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/variables/variables.py +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robotframework.egg-info/SOURCES.txt +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robotframework.egg-info/dependency_links.txt +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robotframework.egg-info/entry_points.txt +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/src/robotframework.egg-info/top_level.txt +0 -0
- {robotframework-7.1rc1 → robotframework-7.1rc2}/tasks.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: robotframework
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.1rc2
|
|
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.1rc2.rst
|
|
14
14
|
Project-URL: Slack, http://slack.robotframework.org
|
|
15
15
|
Description: Robot Framework
|
|
16
16
|
===============
|
|
@@ -6,7 +6,7 @@ from setuptools import find_packages, setup
|
|
|
6
6
|
|
|
7
7
|
# Version number typically updated by running `invoke set-version <version>`.
|
|
8
8
|
# Run `invoke --help set-version` or see tasks.py for details.
|
|
9
|
-
VERSION = '7.
|
|
9
|
+
VERSION = '7.1rc2'
|
|
10
10
|
with open(join(dirname(abspath(__file__)), 'README.rst')) as f:
|
|
11
11
|
LONG_DESCRIPTION = f.read()
|
|
12
12
|
base_url = 'https://github.com/robotframework/robotframework/blob/master'
|
|
@@ -68,6 +68,7 @@ class _BaseSettings:
|
|
|
68
68
|
'PreRebotModifiers': ('prerebotmodifier', []),
|
|
69
69
|
'StatusRC' : ('statusrc', True),
|
|
70
70
|
'ConsoleColors' : ('consolecolors', 'AUTO'),
|
|
71
|
+
'ConsoleLinks' : ('consolelinks', 'AUTO'),
|
|
71
72
|
'PythonPath' : ('pythonpath', []),
|
|
72
73
|
'StdOut' : ('stdout', None),
|
|
73
74
|
'StdErr' : ('stderr', None)}
|
|
@@ -454,6 +455,10 @@ class _BaseSettings:
|
|
|
454
455
|
def console_colors(self):
|
|
455
456
|
return self['ConsoleColors']
|
|
456
457
|
|
|
458
|
+
@property
|
|
459
|
+
def console_links(self):
|
|
460
|
+
return self['ConsoleLinks']
|
|
461
|
+
|
|
457
462
|
@property
|
|
458
463
|
def rpa(self):
|
|
459
464
|
return self['RPA']
|
|
@@ -613,6 +618,7 @@ class RobotSettings(_BaseSettings):
|
|
|
613
618
|
'type': self.console_type,
|
|
614
619
|
'width': self.console_width,
|
|
615
620
|
'colors': self.console_colors,
|
|
621
|
+
'links': self.console_links,
|
|
616
622
|
'markers': self.console_markers,
|
|
617
623
|
'stdout': self['StdOut'],
|
|
618
624
|
'stderr': self['StdErr']
|
|
@@ -736,6 +742,7 @@ class RebotSettings(_BaseSettings):
|
|
|
736
742
|
def console_output_config(self):
|
|
737
743
|
return {
|
|
738
744
|
'colors': self.console_colors,
|
|
745
|
+
'links': self.console_links,
|
|
739
746
|
'stdout': self['StdOut'],
|
|
740
747
|
'stderr': self['StdErr']
|
|
741
748
|
}
|
|
@@ -20,13 +20,13 @@ from .quiet import NoOutput, QuietOutput
|
|
|
20
20
|
from .verbose import VerboseOutput
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
def ConsoleOutput(type='verbose', width=78, colors='AUTO', markers='AUTO',
|
|
23
|
+
def ConsoleOutput(type='verbose', width=78, colors='AUTO', links='AUTO', markers='AUTO',
|
|
24
24
|
stdout=None, stderr=None):
|
|
25
25
|
upper = type.upper()
|
|
26
26
|
if upper == 'VERBOSE':
|
|
27
|
-
return VerboseOutput(width, colors, markers, stdout, stderr)
|
|
27
|
+
return VerboseOutput(width, colors, links, markers, stdout, stderr)
|
|
28
28
|
if upper == 'DOTTED':
|
|
29
|
-
return DottedOutput(width, colors, stdout, stderr)
|
|
29
|
+
return DottedOutput(width, colors, links, stdout, stderr)
|
|
30
30
|
if upper == 'QUIET':
|
|
31
31
|
return QuietOutput(colors, stderr)
|
|
32
32
|
if upper == 'NONE':
|
|
@@ -25,10 +25,10 @@ from ..loggerapi import LoggerApi
|
|
|
25
25
|
|
|
26
26
|
class DottedOutput(LoggerApi):
|
|
27
27
|
|
|
28
|
-
def __init__(self, width=78, colors='AUTO', stdout=None, stderr=None):
|
|
28
|
+
def __init__(self, width=78, colors='AUTO', links='AUTO', stdout=None, stderr=None):
|
|
29
29
|
self.width = width
|
|
30
|
-
self.stdout = HighlightingStream(stdout or sys.__stdout__, colors)
|
|
31
|
-
self.stderr = HighlightingStream(stderr or sys.__stderr__, colors)
|
|
30
|
+
self.stdout = HighlightingStream(stdout or sys.__stdout__, colors, links)
|
|
31
|
+
self.stderr = HighlightingStream(stderr or sys.__stderr__, colors, links)
|
|
32
32
|
self.markers_on_row = 0
|
|
33
33
|
|
|
34
34
|
def start_suite(self, data, result):
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
import errno
|
|
21
21
|
import os
|
|
22
|
+
import socket
|
|
22
23
|
import sys
|
|
23
24
|
from contextlib import contextmanager
|
|
24
25
|
try:
|
|
@@ -42,11 +43,11 @@ from robot.utils import console_encode, isatty, WINDOWS
|
|
|
42
43
|
|
|
43
44
|
class HighlightingStream:
|
|
44
45
|
|
|
45
|
-
def __init__(self, stream, colors='AUTO'):
|
|
46
|
+
def __init__(self, stream, colors='AUTO', links='AUTO'):
|
|
46
47
|
self.stream = stream
|
|
47
|
-
self._highlighter = self._get_highlighter(stream, colors)
|
|
48
|
+
self._highlighter = self._get_highlighter(stream, colors, links)
|
|
48
49
|
|
|
49
|
-
def _get_highlighter(self, stream, colors):
|
|
50
|
+
def _get_highlighter(self, stream, colors, links):
|
|
50
51
|
options = {'AUTO': Highlighter if isatty(stream) else NoHighlighting,
|
|
51
52
|
'ON': Highlighter,
|
|
52
53
|
'OFF': NoHighlighting,
|
|
@@ -54,9 +55,12 @@ class HighlightingStream:
|
|
|
54
55
|
try:
|
|
55
56
|
highlighter = options[colors.upper()]
|
|
56
57
|
except KeyError:
|
|
57
|
-
raise DataError("Invalid console color value '
|
|
58
|
-
"'AUTO', 'ON', 'OFF' and 'ANSI'."
|
|
59
|
-
|
|
58
|
+
raise DataError(f"Invalid console color value '{colors}'. "
|
|
59
|
+
f"Available 'AUTO', 'ON', 'OFF' and 'ANSI'.")
|
|
60
|
+
if links.upper() not in ('AUTO', 'OFF'):
|
|
61
|
+
raise DataError(f"Invalid console link value '{links}. "
|
|
62
|
+
f"Available 'AUTO' and 'OFF'.")
|
|
63
|
+
return highlighter(stream, links.upper() == 'AUTO')
|
|
60
64
|
|
|
61
65
|
def write(self, text, flush=True):
|
|
62
66
|
self._write(console_encode(text, stream=self.stream))
|
|
@@ -120,13 +124,13 @@ class HighlightingStream:
|
|
|
120
124
|
self.write(f"{kind + ':':8} {path}\n")
|
|
121
125
|
|
|
122
126
|
|
|
123
|
-
def Highlighter(stream):
|
|
127
|
+
def Highlighter(stream, links=True):
|
|
124
128
|
if os.sep == '/':
|
|
125
|
-
return AnsiHighlighter(stream)
|
|
129
|
+
return AnsiHighlighter(stream, links)
|
|
126
130
|
if not windll:
|
|
127
131
|
return NoHighlighting(stream)
|
|
128
132
|
if virtual_terminal_enabled(stream):
|
|
129
|
-
return AnsiHighlighter(stream)
|
|
133
|
+
return AnsiHighlighter(stream, links)
|
|
130
134
|
return DosHighlighter(stream)
|
|
131
135
|
|
|
132
136
|
|
|
@@ -136,8 +140,9 @@ class AnsiHighlighter:
|
|
|
136
140
|
YELLOW = '\033[33m'
|
|
137
141
|
RESET = '\033[0m'
|
|
138
142
|
|
|
139
|
-
def __init__(self, stream):
|
|
143
|
+
def __init__(self, stream, links=True):
|
|
140
144
|
self._stream = stream
|
|
145
|
+
self._links = links
|
|
141
146
|
|
|
142
147
|
def green(self):
|
|
143
148
|
self._set_color(self.GREEN)
|
|
@@ -152,7 +157,20 @@ class AnsiHighlighter:
|
|
|
152
157
|
self._set_color(self.RESET)
|
|
153
158
|
|
|
154
159
|
def link(self, path):
|
|
155
|
-
|
|
160
|
+
if not self._links:
|
|
161
|
+
return path
|
|
162
|
+
try:
|
|
163
|
+
uri = path.as_uri()
|
|
164
|
+
except ValueError:
|
|
165
|
+
return path
|
|
166
|
+
# Add the host name to the URI to support opening links remotely.
|
|
167
|
+
# Windows Terminal doesn't yet support the host component, though:
|
|
168
|
+
# https://github.com/microsoft/terminal/issues/14116
|
|
169
|
+
if uri[:8] == 'file:///' and not WINDOWS:
|
|
170
|
+
uri = f'file://{socket.getfqdn()}/{uri[8:]}'
|
|
171
|
+
# The hyperlink format is documented here:
|
|
172
|
+
# https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
|
|
173
|
+
return f'\033]8;;{uri}\033\\{path}\033]8;;\033\\'
|
|
156
174
|
|
|
157
175
|
def _set_color(self, color):
|
|
158
176
|
self._stream.write(color)
|
|
@@ -24,9 +24,9 @@ from ..loggerapi import LoggerApi
|
|
|
24
24
|
|
|
25
25
|
class VerboseOutput(LoggerApi):
|
|
26
26
|
|
|
27
|
-
def __init__(self, width=78, colors='AUTO',
|
|
28
|
-
stderr=None):
|
|
29
|
-
self.writer = VerboseWriter(width, colors, markers, stdout, stderr)
|
|
27
|
+
def __init__(self, width=78, colors='AUTO', links='AUTO', markers='AUTO',
|
|
28
|
+
stdout=None, stderr=None):
|
|
29
|
+
self.writer = VerboseWriter(width, colors, links, markers, stdout, stderr)
|
|
30
30
|
self.started = False
|
|
31
31
|
self.started_keywords = 0
|
|
32
32
|
self.running_test = False
|
|
@@ -73,11 +73,11 @@ class VerboseOutput(LoggerApi):
|
|
|
73
73
|
class VerboseWriter:
|
|
74
74
|
_status_length = len('| PASS |')
|
|
75
75
|
|
|
76
|
-
def __init__(self, width=78, colors='AUTO',
|
|
77
|
-
stderr=None):
|
|
76
|
+
def __init__(self, width=78, colors='AUTO', links='AUTO', markers='AUTO',
|
|
77
|
+
stdout=None, stderr=None):
|
|
78
78
|
self.width = width
|
|
79
|
-
self.stdout = HighlightingStream(stdout or sys.__stdout__, colors)
|
|
80
|
-
self.stderr = HighlightingStream(stderr or sys.__stderr__, colors)
|
|
79
|
+
self.stdout = HighlightingStream(stdout or sys.__stdout__, colors, links)
|
|
80
|
+
self.stderr = HighlightingStream(stderr or sys.__stderr__, colors, links)
|
|
81
81
|
self._keyword_marker = KeywordMarker(self.stdout, markers)
|
|
82
82
|
self._last_info = None
|
|
83
83
|
|
|
@@ -104,8 +104,8 @@ class Logger(AbstractLogger):
|
|
|
104
104
|
self.close()
|
|
105
105
|
|
|
106
106
|
def register_console_logger(self, type='verbose', width=78, colors='AUTO',
|
|
107
|
-
markers='AUTO', stdout=None, stderr=None):
|
|
108
|
-
logger = ConsoleOutput(type, width, colors, markers, stdout, stderr)
|
|
107
|
+
links='AUTO', markers='AUTO', stdout=None, stderr=None):
|
|
108
|
+
logger = ConsoleOutput(type, width, colors, links, markers, stdout, stderr)
|
|
109
109
|
self._console_logger = self._wrap_and_relay(logger)
|
|
110
110
|
|
|
111
111
|
def _wrap_and_relay(self, logger):
|
|
@@ -262,6 +262,9 @@ Options
|
|
|
262
262
|
on: always use colors
|
|
263
263
|
ansi: like `on` but use ANSI colors also on Windows
|
|
264
264
|
off: disable colors altogether
|
|
265
|
+
--consolelinks auto|off Control making paths to results files hyperlinks.
|
|
266
|
+
auto: use links when colors are enabled (default)
|
|
267
|
+
off: disable links unconditionally
|
|
265
268
|
-P --pythonpath path * Additional locations to add to the module search path
|
|
266
269
|
that is used when importing Python based extensions.
|
|
267
270
|
-A --argumentfile path * Text file to read more arguments from. File can have
|
|
@@ -341,6 +341,9 @@ Options
|
|
|
341
341
|
on: always use colors
|
|
342
342
|
ansi: like `on` but use ANSI colors also on Windows
|
|
343
343
|
off: disable colors altogether
|
|
344
|
+
--consolelinks auto|off Control making paths to results files hyperlinks.
|
|
345
|
+
auto: use links when colors are enabled (default)
|
|
346
|
+
off: disable links unconditionally
|
|
344
347
|
-K --consolemarkers auto|on|off Show markers on the console when top level
|
|
345
348
|
keywords in a test case end. Values have same
|
|
346
349
|
semantics as with --consolecolors.
|
|
@@ -383,7 +383,6 @@ class WhileRunner:
|
|
|
383
383
|
ctx = self._context
|
|
384
384
|
error = None
|
|
385
385
|
run = False
|
|
386
|
-
limit = None
|
|
387
386
|
result.start_time = datetime.now()
|
|
388
387
|
iter_result = result.body.create_iteration(start_time=datetime.now())
|
|
389
388
|
if self._run:
|
|
@@ -391,15 +390,17 @@ class WhileRunner:
|
|
|
391
390
|
error = DataError(data.error, syntax=True)
|
|
392
391
|
elif not ctx.dry_run:
|
|
393
392
|
try:
|
|
394
|
-
limit = WhileLimit.create(data.limit,
|
|
395
|
-
data.on_limit,
|
|
396
|
-
data.on_limit_message,
|
|
397
|
-
ctx.variables)
|
|
398
393
|
run = self._should_run(data.condition, ctx.variables)
|
|
399
394
|
except DataError as err:
|
|
400
395
|
error = err
|
|
401
396
|
with StatusReporter(data, result, self._context, run):
|
|
402
397
|
iter_data = data.get_iteration()
|
|
398
|
+
if run:
|
|
399
|
+
try:
|
|
400
|
+
limit = WhileLimit.create(data, ctx.variables)
|
|
401
|
+
except DataError as err:
|
|
402
|
+
error = err
|
|
403
|
+
run = False
|
|
403
404
|
if ctx.dry_run or not run:
|
|
404
405
|
self._run_iteration(iter_data, iter_result, run)
|
|
405
406
|
if error:
|
|
@@ -651,29 +652,34 @@ class WhileLimit:
|
|
|
651
652
|
self.on_limit_message = on_limit_message
|
|
652
653
|
|
|
653
654
|
@classmethod
|
|
654
|
-
def create(cls,
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
except DataError as err:
|
|
659
|
-
raise DataError(f"Invalid WHILE loop 'on_limit_message': '{err}")
|
|
660
|
-
on_limit = cls._parse_on_limit(variables, on_limit)
|
|
655
|
+
def create(cls, data, variables):
|
|
656
|
+
limit = cls._parse_limit(data.limit, variables)
|
|
657
|
+
on_limit = cls._parse_on_limit(data.on_limit, variables)
|
|
658
|
+
on_limit_msg = cls._parse_on_limit_message(data.on_limit_message, variables)
|
|
661
659
|
if not limit:
|
|
662
|
-
return IterationCountLimit(DEFAULT_WHILE_LIMIT, on_limit,
|
|
663
|
-
limit = variables.replace_string(limit)
|
|
660
|
+
return IterationCountLimit(DEFAULT_WHILE_LIMIT, on_limit, on_limit_msg)
|
|
664
661
|
if limit.upper() == 'NONE':
|
|
665
662
|
return NoLimit()
|
|
666
663
|
try:
|
|
667
664
|
count = cls._parse_limit_as_count(limit)
|
|
668
665
|
except ValueError:
|
|
669
666
|
seconds = cls._parse_limit_as_timestr(limit)
|
|
670
|
-
return DurationLimit(seconds, on_limit,
|
|
667
|
+
return DurationLimit(seconds, on_limit, on_limit_msg)
|
|
671
668
|
else:
|
|
672
|
-
return IterationCountLimit(count, on_limit,
|
|
669
|
+
return IterationCountLimit(count, on_limit, on_limit_msg)
|
|
673
670
|
|
|
674
671
|
@classmethod
|
|
675
|
-
def
|
|
676
|
-
if
|
|
672
|
+
def _parse_limit(cls, limit, variables):
|
|
673
|
+
if not limit:
|
|
674
|
+
return None
|
|
675
|
+
try:
|
|
676
|
+
return variables.replace_string(limit)
|
|
677
|
+
except DataError as err:
|
|
678
|
+
raise DataError(f"Invalid WHILE loop limit: {err}")
|
|
679
|
+
|
|
680
|
+
@classmethod
|
|
681
|
+
def _parse_on_limit(cls, on_limit, variables):
|
|
682
|
+
if not on_limit:
|
|
677
683
|
return None
|
|
678
684
|
try:
|
|
679
685
|
on_limit = variables.replace_string(on_limit)
|
|
@@ -682,7 +688,16 @@ class WhileLimit:
|
|
|
682
688
|
raise DataError(f"Value '{on_limit}' is not accepted. Valid values "
|
|
683
689
|
f"are 'PASS' and 'FAIL'.")
|
|
684
690
|
except DataError as err:
|
|
685
|
-
raise DataError(f"Invalid WHILE loop 'on_limit'
|
|
691
|
+
raise DataError(f"Invalid WHILE loop 'on_limit': {err}")
|
|
692
|
+
|
|
693
|
+
@classmethod
|
|
694
|
+
def _parse_on_limit_message(cls, on_limit_message, variables):
|
|
695
|
+
if not on_limit_message:
|
|
696
|
+
return None
|
|
697
|
+
try:
|
|
698
|
+
return variables.replace_string(on_limit_message)
|
|
699
|
+
except DataError as err:
|
|
700
|
+
raise DataError(f"Invalid WHILE loop 'on_limit_message': '{err}")
|
|
686
701
|
|
|
687
702
|
@classmethod
|
|
688
703
|
def _parse_limit_as_count(cls, limit):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: robotframework
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.1rc2
|
|
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.1rc2.rst
|
|
14
14
|
Project-URL: Slack, http://slack.robotframework.org
|
|
15
15
|
Description: Robot Framework
|
|
16
16
|
===============
|
|
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
|
{robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/lib/jquery.highlight.min.js
RENAMED
|
File without changes
|
|
File without changes
|
{robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/lib/jquery.tablesorter.min.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{robotframework-7.1rc1 → robotframework-7.1rc2}/src/robot/htmldata/libdoc/doc_formatting.css
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|