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

Convert cleanup thread execution path into a process #1

Open
inakypg opened this issue Aug 21, 2018 · 0 comments
Open

Convert cleanup thread execution path into a process #1

inakypg opened this issue Aug 21, 2018 · 0 comments

Comments

@inakypg
Copy link
Collaborator

inakypg commented Aug 21, 2018

Long running daemons will leak resources in downstream libraries on which we have no control and grow to consume too much memory.

A cleanup spawning into a process will clear resources upon completion by killing the handling process.

We can't fix all the issues in downstream libraries, as we won't know what different drivers will use.

inakypg pushed a commit that referenced this issue Dec 25, 2021
adds all the engines in tcfl.testcase, tcfl.tc_c to be able to
discover a new style testcase.

Still fails, but handles the failure and reports about it.

Moves a lot of code from tcfl.tc.py to:

- tcfl/testcase.py: internal handling of discovery, etc

- tcfl/__init__.py: pure testcase execution

- tcfl/ui_cli_testcase.py: command line interface to testcase discovery

Removes:

- extra_report_format: unused

- runid_visible: replace with plain runid
inakypg pushed a commit that referenced this issue Jan 25, 2022
adds all the engines in tcfl.testcase, tcfl.tc_c to be able to
discover a new style testcase.

Still fails, but handles the failure and reports about it.

Moves a lot of code from tcfl.tc.py to:

- tcfl/testcase.py: internal handling of discovery, etc

- tcfl/__init__.py: pure testcase execution

- tcfl/ui_cli_testcase.py: command line interface to testcase discovery

Removes:

- extra_report_format: unused

- runid_visible: replace with plain runid
inakypg pushed a commit that referenced this issue Jan 25, 2022
adds all the engines in tcfl.testcase, tcfl.tc_c to be able to
discover a new style testcase.

Still fails, but handles the failure and reports about it.

Moves a lot of code from tcfl.tc.py to:

- tcfl/testcase.py: internal handling of discovery, etc

- tcfl/__init__.py: pure testcase execution

- tcfl/ui_cli_testcase.py: command line interface to testcase discovery

Removes:

- extra_report_format: unused

- runid_visible: replace with plain runid
inakypg pushed a commit that referenced this issue Feb 13, 2022
adds all the engines in tcfl.testcase, tcfl.tc_c to be able to
discover a new style testcase.

Still fails, but handles the failure and reports about it.

Moves a lot of code from tcfl.tc.py to:

- tcfl/testcase.py: internal handling of discovery, etc

- tcfl/__init__.py: pure testcase execution

- tcfl/ui_cli_testcase.py: command line interface to testcase discovery

Removes:

- extra_report_format: unused

- runid_visible: replace with plain runid
inakypg pushed a commit that referenced this issue Mar 29, 2022
adds all the engines in tcfl.testcase, tcfl.tc_c to be able to
discover a new style testcase.

Still fails, but handles the failure and reports about it.

Moves a lot of code from tcfl.tc.py to:

- tcfl/testcase.py: internal handling of discovery, etc

- tcfl/__init__.py: pure testcase execution

- tcfl/ui_cli_testcase.py: command line interface to testcase discovery

Removes:

- extra_report_format: unused

- runid_visible: replace with plain runid
inakypg pushed a commit that referenced this issue Nov 29, 2022
run_for_each_target_threaded raise exception incorrectly.
we get `exception` from sys.exc_info(), which returns the old-style
representation of the handled exception, looks something like
`(type(e), e, e.__traceback__)`.
we only care on raising `e` -- the exception value -- because it has
all needed info. So we take #1.

Signed-off-by: benjamin santana <[email protected]>
inakypg pushed a commit that referenced this issue Sep 27, 2023
…terface

When using ttbl.device_mapper.ttys_find_by_spec() to find TTYs
associated to a USB device, we usually had to also specify a USB
interface by appending #1.0 (the interface number), like:

>>> device_spec = "usb,#123456,##:1.0"

Which would map to /sys/devices/PATH/usbN/.../N-1.3/N-1.3:1.0 and find
ttys under ttyUSBm or tty/ttyACMm using tty* or tty/tty*.

In the case where the device has only one interface (and thus exposes
one serial port), this is overkill and adds more unneeded
verbosity. We want to be able to do just:

>>> device_spec = "usb,#123456"

So make the globs that tty_find_by_spec() be able to dig deeper into
the device structure, so it will find the subdirectories representing
the single TTY without having to specify a USB interface.

The extra globs find /sys/devices/PATH/usbN/.../N-1.3/N-1.3:1.0/ttyUSB
or /sys/devices/PATH/usbN/.../N-1.3/N-1.3:1.0/tty/ttyACM* since it
adds an extra */ to catch the interface directories hanging under the
main USB device directory.

Like this, devices which expose multiple serial ports on different USB
interfaces still can support them by specifying the interface, eg:

>>> device_spec = "usb,#123456,#:1.0"
>>> device_spec = "usb,#123456,#:2.0"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant