Robotframework Tester merge requestshttps://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests2024-03-27T08:45:06+01:00https://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/30Gitlab CI packaging tests2024-03-27T08:45:06+01:00Sam WilsonGitlab CI packaging testsAn initial idea for testing if the python package is being constructed correctly.
Created a python script that tries to import each module in the package and then a CI job that executes this.An initial idea for testing if the python package is being constructed correctly.
Created a python script that tries to import each module in the package and then a CI job that executes this.https://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/29update package manifest2024-03-19T16:38:58+01:00Sam Wilsonupdate package manifestEnabling `setuptools` automatic package discovery by removing `packages` declaration and instead declaring a source directory in `package_dir` argument seems to do the trick.
Uses a variation on `setuptools` flat-layout (https://setupto...Enabling `setuptools` automatic package discovery by removing `packages` declaration and instead declaring a source directory in `package_dir` argument seems to do the trick.
Uses a variation on `setuptools` flat-layout (https://setuptools.pypa.io/en/latest/userguide/package_discovery.html#flat-layout) though automatic discovery requires a source directory to be declared.https://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/28Update rfw-tester Version2024-03-18T11:55:08+01:00Sam WilsonUpdate rfw-tester Versionhttps://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/27Update RFW -> v6 to v72024-03-12T08:55:18+01:00Sam WilsonUpdate RFW -> v6 to v7Update RFW from v6 to v7
Partner to https://gitlab.cern.ch/mro/controls/sambuca/tests/-/merge_requests/27
main changes:
- replace WITH NAME with AS due to WITH NAME syntax becoming deprecated
- Update Listener to use listener version A...Update RFW from v6 to v7
Partner to https://gitlab.cern.ch/mro/controls/sambuca/tests/-/merge_requests/27
main changes:
- replace WITH NAME with AS due to WITH NAME syntax becoming deprecated
- Update Listener to use listener version API v3 as this was set as the default in RFW v7. Issues with backwards compatibility with v6 so addressed this by making a listener that dynamically chooses which listener api to use based on RFW version info
- Added tests for the listener implementationhttps://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/26change log levels and library scope2024-02-07T14:49:36+01:00Sam Wilsonchange log levels and library scopeRework of listener to prevent it from logging when not initialised — was hooking into keywords even when not explicitly called. Hoping adjusting the scope of the library will fix this.Rework of listener to prevent it from logging when not initialised — was hooking into keywords even when not explicitly called. Hoping adjusting the scope of the library will fix this.https://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/25Update EdgeConsole.py to provide empty ENV as default2024-02-06T13:15:21+01:00Sam WilsonUpdate EdgeConsole.py to provide empty ENV as defaultUpdate Edge Console such that pexpect receives an empty env and then starts processes with that rather than the parent env, was causing issues with colours.Update Edge Console such that pexpect receives an empty env and then starts processes with that rather than the parent env, was causing issues with colours.https://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/24Update setup.py - increment version2024-02-05T11:29:35+01:00Sam WilsonUpdate setup.py - increment versionhttps://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/23Gude Power Control RFW Library2024-02-05T11:05:54+01:00Sam WilsonGude Power Control RFW Library- Specify a device using the URL
- Switch the device on and off
- Use batch (serial) switch commands
- Get the switch status
- Determine if the switch is on/off
- Perform the GUDE reset operation
- HTTP authentication supported for the c...- Specify a device using the URL
- Switch the device on and off
- Use batch (serial) switch commands
- Get the switch status
- Determine if the switch is on/off
- Perform the GUDE reset operation
- HTTP authentication supported for the case where the device is locked behind a passwordhttps://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/22Updated Logging for Robot Framework 72024-01-29T11:15:10+01:00Sam WilsonUpdated Logging for Robot Framework 7Updated Extended Logging to work with Robot Framework Version 7. Having undergone some significant changes in the Logging API since Robot Framework 6, the Extended Logging module no longer worked, though now it is updated to work with Ro...Updated Extended Logging to work with Robot Framework Version 7. Having undergone some significant changes in the Logging API since Robot Framework 6, the Extended Logging module no longer worked, though now it is updated to work with Robot Framework 7. Backwards compatibility has not yet been tested with RFW 6.https://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/21Xilinx Robot Framework tools2024-02-09T13:40:43+01:00Sam WilsonXilinx Robot Framework tools- connect to a given target JTAG and devices
- read <num> memory bytes starting at a given address
- write data values to <num> memory from given address
- Robot Framework keywords (DSL)
- testing as pytest and robot framework
- Support ...- connect to a given target JTAG and devices
- read <num> memory bytes starting at a given address
- write data values to <num> memory from given address
- Robot Framework keywords (DSL)
- testing as pytest and robot framework
- Support further options for the `mrd` and `mwr` command, at the moment only a fairly basic implementation of these commands is done
- refactored to work with `xsdbserver`
Note that the old `XilinxTools` is still there, it's not really used any more, having been replaced by the `XilinxInterface`. I haven't got rid of it though, it has a little more functionality compared to `XilinxInterface` in that it can work with other TCL commands while `XilinxInterface` only works with XSCT commands.
There is also a Python Vitis CLI which — I believe — uses similar methods to debug Xilinx Targets, and it is official from Vitis (https://docs.xilinx.com/r/en-US/ug1400-vitis-embedded/Vitis-Python-CLI). I tried to find the package on PyPI but had no success though if it can be found, it is yet another way of doing this though it is another external dependency.
Further changes made following code review and MR - check commit details and comments on comments below for more information
Briefly: host and port default to set values (no longer need to be specified), port is exposed implicitly - don't have to modify the x-builder scripts, some keywords reworked.https://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/20refactor wait for values2023-12-04T08:54:46+01:00Sam Wilsonrefactor wait for values- numeric values now tolerate some defined lack of precision that would
be apparent in floating point numbers
- wait for only returns the value, no longer has the timer in-built in
the method
- each time a keyword is executed and passes,...- numeric values now tolerate some defined lack of precision that would
be apparent in floating point numbers
- wait for only returns the value, no longer has the timer in-built in
the method
- each time a keyword is executed and passes, the elapsed time is set
to a KEYWORD_DURATION suite variable accessible in robot framework
*New*
- float comparison more generalised and doesn't use equality
- get values and wait for values are casted to the appropriate type before being returned
- booleans handled more thoroughly, can use RFW boolean types or string bools (literally a string of False/false)
- More through testing of the refactored wait for value method
- Robot Framework listener reports keyword duration of only specified keywordsSylvain Fargiersylvain.fargier@cern.chSylvain Fargiersylvain.fargier@cern.chhttps://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/19single field returns value only2023-11-14T09:09:50+01:00Sam Wilsonsingle field returns value onlyQuick modification to make it so that when only a single field is `GET`, the value is returned directly rather than the previous dictionaryQuick modification to make it so that when only a single field is `GET`, the value is returned directly rather than the previous dictionarySylvain Fargiersylvain.fargier@cern.chSylvain Fargiersylvain.fargier@cern.chhttps://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/18wip Fesa tools for RFW2023-11-13T10:00:04+01:00Sam Wilsonwip Fesa tools for RFWSylvain Fargiersylvain.fargier@cern.chSylvain Fargiersylvain.fargier@cern.chhttps://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/17Lower snap7 version2023-08-09T14:03:29+02:00Michal Jerzy MysiorLower snap7 versionSylvain Fargiersylvain.fargier@cern.chSylvain Fargiersylvain.fargier@cern.chhttps://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/16:bug: `read_register` may directly return a value2023-07-25T17:38:18+02:00Sylvain Fargiersylvain.fargier@cern.ch:bug: `read_register` may directly return a valueSylvain Fargiersylvain.fargier@cern.chSylvain Fargiersylvain.fargier@cern.chhttps://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/15:wrench: add snap7 optional dependency2023-07-10T13:52:36+02:00Sylvain Fargiersylvain.fargier@cern.ch:wrench: add snap7 optional dependencyhttps://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/14Wip snap72023-07-05T16:52:01+02:00Sylvain Fargiersylvain.fargier@cern.chWip snap7Mathieu DonzeMathieu Donzehttps://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/13:wrench: add ExtendedLogging module2023-05-26T14:07:28+02:00Sylvain Fargiersylvain.fargier@cern.ch:wrench: add ExtendedLogging module- Reduces loops (default: 20 iterations)
![image](/uploads/6d1244af541fd5d538797962a50a3244/image.png)
This is mainly to workaround a vscode bug with latest `Robot Framework Language Server` plugin (v1.10.2), which crashes the IDE when...- Reduces loops (default: 20 iterations)
![image](/uploads/6d1244af541fd5d538797962a50a3244/image.png)
This is mainly to workaround a vscode bug with latest `Robot Framework Language Server` plugin (v1.10.2), which crashes the IDE when logs gets huge (previous versions of the plugin used to smoothly absorb the load).
Intensive logs will be shrinked to a reasonable size, by saving only a few iterations in each loophttps://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/12:bug: remove expect delays2023-05-12T17:38:47+02:00Sylvain Fargiersylvain.fargier@cern.ch:bug: remove expect delays- `pexpect` has a default 50ms delay before sending data,
this makes our tests really slow.
- Also support `SpawnBase` like objects- `pexpect` has a default 50ms delay before sending data,
this makes our tests really slow.
- Also support `SpawnBase` like objectshttps://gitlab.cern.ch/mro/common/tools/tests/rfw-tester/-/merge_requests/11:lipstick: hide some methods, lint a bit2023-03-19T22:26:09+01:00Sylvain Fargiersylvain.fargier@cern.ch:lipstick: hide some methods, lint a bit