Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from robotframework:master #145

Open
wants to merge 1,454 commits into
base: master
Choose a base branch
from

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

yanne and others added 28 commits September 18, 2024 22:02
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 1 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v1...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
Earlier only `robot.result.Message` had `to_dict()`.
The output.json generated by Rebot now has same high level strucutre
as output.xml. Earlier it only contained suite information, but now it
also contains, for example, statistics and errors.

Functionality ought to be ready, but the full JSON result model still
needs a schema and User Guide likely needs to be updated too.
- Require timestamps to be datetimes, not just strings.
- Require messages to have a timestamp.
`result_json_schema.py` now contains and generates schemas both for
the full JSON result and for `robot.result.TestSuite`.

Part of #5160.
Test accidentally had `:` as a microsecond separator in a
timestamp. Interestingly it caused problems only with PyPy.
- Explicit ABCs
- `super()`
- ...
Affects mainly listeners, but the problem could also be reproduced
with a special exception during execution.

Fixes #5224.
- Uniform sizes and positions.
- Remove duplicate markups.
- Consistent order, ids, etc.
Some BuiltIn keywords disable resolving variables in arguments and
that also disables the named-argument syntax. With most of these
keywords that doesn't matter, but with the following three using the
`default` or `message` argument like `default=value` would be logical:

- Get Variable Value
- Variable Should Exist
- Variable Should Not Exist

It would be better to cleanup the messy system for disabling variables
from being resolved, but that's too much work at the moment. This
commit adds notes about the limitation to the affected keywords.

Fixes #5235.
This can happen if Robot is executed using pythonw.exe or is embedded
using, for example, PyInstaller.

Fixes #5212.
orenault and others added 30 commits March 7, 2025 12:16
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.
Using `typing.get_args(x)` and `typing.get_origin(x)` is simpler than
using `getattr(x, '__args__', None)` and `getattr(x, '__origin__', None)`.
It also avoids problems in some corner cases. Most mportantly, it
avoids issues with `Union` containing unusable `__args__` and
`__origin__` in Python 3.14 alpha 6 (#5352).

`get_args` (new in Python 3.8) also makes our `has_args` redundant
and it is deprecated.
See PEP 649 for details. Part of Python 3.14 support (#5352).
Docs were slightly outdated after handling outputs was enhanced
in #4173.
Also some cleanup to the related timeout code.

Fixes #5376.
Increase the minimun dialog size a bit to match the increased font
size.

Make padding and font configurable using class attributes. Also make
background configurable, but leave it to the default value for now.

Part of #5334.
Instead of importing multiple individual items `from tkinter`, use
`import tkinter as tk` and use items like `tk.Label`. There's no need
to maintain the import if new items are needed, and this also avoids
autoformatters splitting the long import to multiple lines.
The logo is needed by Dialogs (#5334), but it can be used also by
external tools. Fixes #5385.
It depends on OS how/where icons are shown. For example, on Linux with
Gnone there's no icon in the dialog, but there's a taskbar icon as
well as an icon in the application switcher. On Windows there's a
taskbar icon and also the dialog itself has an icon. OSX is yet to be
tested.

This is part of #5334.
Argument is converted automatically based on the default value.
Also add test for the taskbar icon.
On Windows the timeout logic raises a `TimeoutError` without any
parameters and thus its `kind` is always `TEST`. That means we cannot
reliaby log the type of the occurred timeout.

`TimeoutError.kind` was added for exactly this purpose in 2b9f0c7.
Better to remove those changes and also document that existing
`test/keyword_timeout` attributes aren't part of the public API.

Fixes a bug in the implementation of #5376.
- Make the thread id an unsigned long, not long (this was changed in
  Python 3.7).

- Update links to references (the old one didn't anymore exist).

- Remove unnecessary (and apparently broken) re-try mechanism and
  report the error (that should never happen) directly.
When `Get Selection From User` is used with a default value, not only
select that value but also activate it. That affects moving the
selection with arrow keys. Now the initial position is the selection,
earlier it was the first item.

To some extend related to Dialog look and feel enhancements
(#5334). Too small fix to deserve its own issue.
Includes renaming incorrectly named `excluded_names` to
`included_names`.
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.