Skip to content

Conversation

pull[bot]
Copy link

@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

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 February 7, 2025 01:07
Also prefer `from robot.utils import ...` over `from robot import utils`.
- Acceptance test libraries gracefully handle the module not being
  available. Schema validation will obviously fail, but otherwise
  libraries work normally.

- Acceptance tests needing jsonschema got a new `require-jsonschema`
  tag that can be used for skipping or excluding them.

- Unit tests needing jsonschema are skipped if the module isn't
  installed.

The motivation with these changes is making it possible to test Robot
on Python 3.14 that isn't currently supported by jsonschema. (#5352)
Fixes #5150.

Also fix a bug BDD prefix matching affecting the added prefixes. Fixes #5340.
The code is based on PR #5302 by @franzhaas, but contains some cleanup,
doc updates, and fix for handling closed stdout/stderr PIPEs.

Fixes #4173.
These features are tested also elsewhere. Also some cleanup.
The fix is based on the code in PR #5302 by @franzhaas.

Fixes #5345.

Now that `Popen.communicate()` gets a timeout, its implementation
always gets to a code path where stdtout/stderr being a closed PIPE
doesn't matter and we only need to care about stdin. As the result
content written to PIPEs that are later closed is now available.
mkorpela and others added 30 commits August 28, 2025 09:36
Add step to archive acceptance test results on failure.
This avoids warnings when #5492 is implemented.
This makes it possible to show source and line number in import
errors/warnings also when using `Import Library/Resource/Variables`
keywords for importing libraries. Need by #5492.
Libraries imported with the same name as already imported libraries
are ignored. This used to be silent, but after this commit there are
warnings in these cases:

- Library is re-imported with different arguments than earlier.
- Library is imported using an alias that is used by another imported
  library.

Fixes #5492.
Remove class references from docs when method has a return type.
Add explicit `return`.
- Run tests also with Python 3.14 (#5435). Hopefully using just '3.14'
  is enough when it's still in the RC phase.
- Run unit tests with PRs with same Python versions as acceptance tests.
Trying to setup running tests with Python 3.14 on GitHub Actions
(#5435). Using '3.14' as the version didn't work, because Python 3.14
is still in the RC phase. Using '3.14-dev' ought give us the latest
preview release (and hopefully the final version vhen it's released):
https://github.com/actions/setup-python/blob/main/docs/advanced-usage.md#using-the-python-version-input
In practice using

    VAR    ${scalar}    scope=TEST

will cause a deprecation warning and should be replaced with

    VAR    ${scalar}    ${EMPTY}    scope=TEST

No changes to creating @{list} and &{dict} variables or when using the
local scope implicitly or explicitly.

Fixes #5439.
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.6.0 to 6.0.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@v5.6.0...v6.0.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 5.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v4...v5)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit contains the initial implementation of the `Secret` type (issue #4537) provided by the PR #5449. Basic functionality works, but there are still some things to look at. See the aforementioned issue and/or PR for details.
- Fix creating secret lists with list variables in values.
- Explicit tests for secret dicts with dict variables in values.
- Fix handlig escaped content when handling embedded secrets.
- Add `Secret.__repr__`.
- Report the type of the resolved value in errors.

See issue #4537 and PR #5449.
When creating variables, don't report error about value not being
secret after replacing variables. There is no need for that, because
the error is anyway reported in the next step when conversion is
attempted. This simplifies code and gives consistent error messages.

See issue #4537 and PR #5449.
Most importantly, try to fix tests on Windows.
Part of issue #5373.

---------

Co-authored-by: Clemens Otto <[email protected]>
Values were already validated by keywords themselves so there are no
real functional changes. The main benefit is getting the accepted
values shown automatically in documentation and in some cases also
error messages got better. In the future IDEs may also be able to
auto-complete the accepted values.

Existing argument validation wasn't removed from keywords to avoid
problems in programmatic usage.

This is related to adding typing to standard libraries (#5373).
We'd like the `Secret` type (#4537) to be implemented under `robot.api`,
but that causes very-hard-to-resolve cyclic import issues. After some
failed attempts, we decided to keep it under `robot.utils`.

At some point the idea was to "hide" the implementation under `robot.utils`
by naming the module `_secret`, but we haven't used such convention with
other modules so better to go with normal `secret` name. The docs will
be updated later to explain that the class should be imported under
`robot.api.types`.
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.