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

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.
We currently use pyproject.toml only for configuring external tools,
not for our own project metadata. Newer setuptools versions didn't
like a [project] table with incomplete information and thus the
version was lowered earlier.
Tested that pip handles these equally well than earlier.

Fixes #5098.
It was removed in e3781ab because new `matches` and `parse_args` made
it redundant.  It was used at least by one project, so now it's back
but deprecated.
Fixes #2946.

Documentation missing, but it will be done as part of documenting
variable conversion in general (#3278).
`datetime` conversion suppors a special value `now` and `date`
conversoin supports `today`.

Fixes #5440.
pekkaklarck and others added 30 commits November 15, 2025 17:15
- 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] <[email protected]>
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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Most importantly, add custom type docs for Source and Element.

Related to #5541 and #5373.
Not needed anymore when XML has typing (#5541) that brings
documentation for the `bool` type automatically.
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.