Skip to content

Conversation

@pull
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 added 28 commits May 8, 2025 16:58
Also some cleanup to requirements in general.
Missing part of the already closed #5417.
Also small adjustment to when to raise a timeout on resume. Earlier
timeout was raised on the first resume after timeout had been
exceeded, but now the runner must be fully resumed. This behavior is
more logical than the earlier.

The change shouldn't affect execution at all. The reason is that if
timeout is paused in nested manner, `BuiltIn.run_keyword` has been
used in recursively and each recursive call has its own timeout. The
last one of them will raise a timeout on resume immediately after the
timeout has been exceeded anyway.

This is part of #5417.
This mostly simplifies unit tests.
- Enhance tests related to pausing timeouts.
- Fix the aforementioned tests on Windows.
- Enhance Windows timeout code to avoid race conditions.

Related to #5417.
- Try to fix tests that are flakey on Windows
- Small cleanup
1. Using relative `Path` objects failed for `TypeError`. With strings
   paths must be absolute to reliably separate paths from modules, but
   `Path` objects are known to be paths. Thus relative `Path` objects
   are now accepted instead of being explicitly rejected like strings.

2. Using Importer without a logger failed if a module was removed from
   `sys.modules` as part of the importing process.

Also small enhancements:
- Type hints to arguments of public methods.
- Little code tuning to please linters.

Fixes #5432.
1. Fix `type_name` to use the `_name` attribute only with special
   forms.

2. Change `ItemList` to use a custom utility, not `type_name`, when
   reporting errors. The motivation is to separate e.g.
   `robot.running.TestSuite` and `robot.result.TestSuite`.

Fixes #5433.
Don't capitalize "kind" if it is not all lower case to avoid e.g.
"FOR loop variable" to be changed to "For loop variable".

Related to FOR loop variable conversion that's a missing part of
issue #3278.
There already was `type`, `type_` wasn't needed.
Missing part of #3278.

Includes also enhancements to variable validation during parsing.
- Explicitly test `TypeConverter.validate`
- Don't use deprecated `codecs.open`
- Avoid flakeyness
Disable setup to avoid very short 10ms timeout occurring already
during it. In that case test fails because the error has unexpected
`Setup failed:` prefix. The timeout needs to be short to avoid
recursive execution hitting recursion limit.
Explain that using `BuiltIn.register_run_keyword` to disable timeouts
isn't relevant anymore now that #5417 is fixed.
Avoids a method call and an if/else with each listener v3
`start/end_keyword` usage so has a small performance benefit.
Newer setuptools versions complain about pyproject.toml not having
name, version, etc. The reason is that we currently only use
pyproject.toml for configuring tools like Black, but we still have
packaging stuff in setup.py. We'll move from setup.py to
pyproject.toml in the future, but now isn't a good time.
`_delayed_messages` shouldn't be `None` when this method is called,
but to be safe.
yanne and others added 30 commits November 10, 2025 09:04
Only done if `None` is an explicit type, not if `None` is only used as
a default value.

Fixes #5545.
Use explicit `_string_convert` and `_non_string_convert` instead of
`_convert` where feasible.
- Sets require converted values to be Collection instances, being
  Container is not enough.

- We should in general talk about collections, not containers.
- Clarify how true and false strings are handled.
- Remove references to ancient RF versions.
- Fix indentation with Secret and mention it's new in RF 7.4.
Hopefully makes all tests pass
Logged message can be any `object`, not only `str`, and it is
converted to a string automatically.
Plenty of enhancements to BuiltIn:

- The absolute biggest change is the added typing (fixes #5544)
- Plenty of documentation enhancements
- Various enhancements to tests
- `timedelta` support to `Repeat Keyword` (fixes #5546)
- Few FIXMEs about features to be deprecated
- Remove references to RF 4.1 and older
Using `NO VALUES` to disable the `values=False` is deprecated (#5550)
and this commit removes such usages. Explict tests need to be still
added for validating the deprecation.
Most importantly, remove useless `_verify_condition` helper. Code is
simpler and shorter if keywords evaluate conditions themselves and
only use a helper for reporting failures.
Test was broken due to Python's error message being changed.
The value should be omitted altogether or '0' used instead.

Part of of #5537.
Fixes #5553.

This was implemented by reusing Normalizer that Collections already
used. A big benefit is that BuiltIn keywords doing normalization are
now a lot simpler. Another big benefit is that adding bytes
normalization support (#5548) will be easy.
- Support string normalization (case-insensitivity, stripping and
  collapsing spaces) also with bytes. This affects all keywords in
  BuiltIn and Collections that support normalization and accept bytes.

- If the first argument to validation keywords in BuiltIn is bytes,
  convert the second argument to bytes as well.

- Enhance documentation related to normalization.

- Also enhance documentation related to overriding failure messages.

- Some general cleanup.

Fixes #5548.
Should Be Equal is more powerful these days,
We expect everyone to use Python 3, no need to specify the version.
Also enhance string representation of `Callable` in Libdoc outputs.

Fixes #5562.
But it should pass Any and object types

Fixes #5520
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  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>
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@v6.0.0...v6.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.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.