Skip to content

[pull] master from robotframework:master#145

Open
pull[bot] wants to merge 1959 commits into
testautomation:masterfrom
robotframework:master
Open

[pull] master from robotframework:master#145
pull[bot] wants to merge 1959 commits into
testautomation:masterfrom
robotframework:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 10, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull Bot added the ⤵️ pull label May 10, 2022
@squash-labs
Copy link
Copy Markdown

squash-labs Bot commented Feb 14, 2023

Manage this branch in Squash

Test this branch here: https://master-n02a3.squash.io

pekkaklarck and others added 28 commits November 1, 2025 22:33
Part of #5373.

Also some other changes:

- Documentation enhancement. Mostly removing information that's now
  got automatically based on type hints.

- Don't support using an empty string for disabling timeouts. This
  wasn't documented anywhere and preserving the functionality would
  have required using `timedelta | Literal[""] | None` instead of
  `timedelta | None`. Documented ways to disable timeout continue to
  work.

- Use NamedTemporaryFile, not TemporaryFile, with stdin content to get
  sane file name shown in configuration.
This seems to be the recommended naming style for type aliases.
Old name is preserved for backwards compatibility reasons for now.
Make it more explicit that `Run`, `Run And Return RC` and `Run And
Returcn RC And Output` are considered deprecated and the Process
library should be used instead. Especially `Run` is so widely used
that we cannot remove or even loudly deprecate it yet.

Fixes #5535.
Part of #5373.

Also allow disabling `Wait Until Created/Removed` timeout using
`None`. That fixes #5534.
It seemed to be impossible the get the granurality needed for
whitespaces with tempaltes, fallback to render with TS.
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
The change was done in 366b7f5. It was proposed in #5533 and that
issue explains why it was initially considered a good idea and why we
eventually decided otherwise.
The new libdoc build pipeline optimizes html so that attributes are not quoted.
Take that inot account when writing generator information.
…s/actions/setup-node-6

Bump actions/setup-node from 5 to 6
There are use cases for printing a warning or error message to the log
but not to the console.

This commit adds an optional also_console argument to logger.write,
logger.warn, and logger.error. Its value is stored in the message object
and based on it the loggers in src/robot/output/console/ print the
message or not.

Fixes #5460.

* atest: Update "Write messages to console" test

Messages logged with `also_console=True` are now printed to stderr
instead of stdout (see previous commit).

* atest: Test writing warning and error messages only to log
- Rename `also_console` argument to `console`. Preserve the old
  argument with `robot.api.logger.info` for backwards compatibility
  reasons for now.

- Enhance argument documentation in `robot.api.logger`.

- When writing normal messages (i.e. not warnings or errors) to
  console, always write them to `stdout` and never use extra
  prefix. This was a bug in PR #5462.

- Write normal messages to console in a single place.

- Enhance `Log` so that it can log warnings and errors so that they
  aren't written to console.

- Use standard ValueError, not DataError, if log level is invalid.

Related to issue #5460.
pekkaklarck and others added 30 commits April 27, 2026 13:25
Require using `AND` instead. Fixes #5661.
- Better explanation to how indices work with some list related
  keywords.
- Remove unnecessary notes about keywords getting items not modifying
  original containers.
- Remove outdated notes about some mutating keywords not returning
  anything when they nowadays do.
- ...
Clarifiy that tests are marked failed in the end if there are
continuable failures. Fixes #5653.
First part of #5658. Still need to handle invalid deferred annotations like `arg: 1/0`.
Change the base class from `RobotError`, which is based on `Exception`, to `BaseException`.

Fixes #5610.
Make it more explicit that it is nowadays based on `BaseException`,
not `Exception`. See #5610.
Move importing logic from Listeners to ListenerFacade itself and
add `create` classmethod to ease creating them.

Motivation is making it easier to reuse ListenerFacade when adding
support for custom console loggers (#5618).
That should allow using them where matching `Literal` is required.
Variable annotations are totally ignored at runtime. This means that
using `self.example: list | None` is fine regardless the Python
version. No quotes needed.
Surround pipes with spaces like `"str | None"`. This matches the
recommended style used with non-stringified annotations.

Spaces were originally omitted, because PyCharm had a bug that it
didn't recognize union types otherwise. Spaces weren't added earlier,
because annotations will anyway be reformatted in RF 8.0 when we
require Python 3.10 and can remove quotes from most annotations. The
code base started to have annotations both in `"x|y"` and `"x | y"`
formats, so it was decided to unify them already now. Not all quotes
can be removed until we require Python 3.14 anyway either.
Helps making sure users use correct types.
Slightly simpler and also faster code. This is actually 50% faster in
a micro benchmark, but I doubt it has measurable difference in real
usage.
That's certanly better than returning an empty string.
Support deprecating section headers and settings by using
`Language.deprecations` dictionary. Code using `Languages` can all the
`get_deprecation` method to get possible deprecation message or `None`
if the term isn't deprecated at all or the deprecation is not yet
active.

This is basically the back-end code for issue #5668. The functionality
still needs to be taken into actual use by the parsing modules. That
turned out to be complicated with settings, because parsing modules
don't currently differentiate warnings and errors. We already have
issue #5210 about enhancing that situation, and its probably best to
implement that before finalizing #5668. Deprecating headers would be
possible already now, because we could use the same kludge we used to
get deprecation warnings about singular section headers shown (#4432).
This avoids cyclic imports issues and helps implementing #5618
(PR #5671).
… `LoggerApi` (#5671)

Eases adding support for custom console loggers (#5618).
"Result file" is better term than "output file".
Add separate, explicit tests result files with a v3 listener. We
already have similar tests in `listener_v3.robot`, but these tests are
more thorough and, most importantly, now we have a natural place where
to add tests for the forthcoming `result_file` method (#5673).
It is called if more specific result file related methods are not
implemented. That helps, for example, when creating custom console
loggers (#5618).

Implements #5673 but User Guide documentation still missing.
Fixes #5673.

Also enhance documentation of the related listener methods.
Earlier "output files" was used for that purpose. That was confusing,
because "output file" refers to XML/JSON output files.

Fixes #5675.
Use Path.resolve() when importing relative Path objects so tmpdir aliasing
(/var -> /private/var) does not break expected log messages.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.