Age | Commit message (Collapse) | Author | Files | Lines |
|
The current implementation of agl-service-hvac does not have test
widgets implemented as reference point so these tests are new.
Writing to verbs related to changing LED brightness results in I2C
errors and therefore the tests are marked as hwrequired and xfail,
as no hardware demo units are available to test with. The markers
will stay until it is decided whether it is enough for testing or mock
tests should be implemented.
Bug-AGL: SPEC-3660
Signed-off-by: Edi Feschiyan <edi.feschiyan@konsulko.com>
Change-Id: Ibc051c6b4a06e0d126be9f8a0e0efe5876244671
|
|
Add "internet" mark to geoclue and weather binding tests to allow
skipping them with the pytest keyword option.
Bug-AGL: SPEC-3685
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I330666ff57f044f04f42d1e89d0768e1a61406ae
|
|
Add simple "pyagl" script that wraps running pytest.
Bug-AGL: SPEC-3684
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ibdd71359fbdd82f10a277903a86bca5f92d8d9be
|
|
Porting CAN value tests from lua test widgets to complete the CAN
testing suite.
Bug-AGL: SPEC-3660
Signed-off-by: Edi Feschiyan <edi.feschiyan@konsulko.com>
Change-Id: I1f977e00fd69c3dac5a34746e514c262647461f5
|
|
Until the root cause can be traced down, xfail the write_wo_auth test.
Reason: we do execute pyagl multiple times and this will always fail on the 2nd invocation.
This is a bug in the appfw and is tracked in
Bug-AGL: SPEC-3648
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Change-Id: I9d5e6058c8ab9dd2efec461c551c884230d1bb4b
|
|
Initial implementation of a radio binding wrapper and associated
tests. There are some known test limitations with respect to
scanning and RDS, and while assumptions about hardware behavior
have been avoided so that the tests should work on both the null
and hardware backend implementations, it is possible that something
has been missed, as testing has been with the null implementation.
See the comment header in test_radio.py for more information.
Additionally, the trimming of pytest parameters from test names
for LAVA's TEST_CASE_ID value has been removed, as the new radio
tests do use parameterization to run multiple instances of the same
test. It is currently believed that LAVA will be okay with the brace
characters in the parameterized names, this will need to be verified.
Note that the invalid frequency offset test passing is dependent
on a fix to the radio binding behavior with respect to error replies
that will be submitted separately.
Bug-AGL: SPEC-3585
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I001b046c705b9e18cd317b5ac26ef2b7d2cb722e
|
|
Update MANIFEST.in so the new CAN test data does actually get
installed, not quite sure how it looked like it was working in my
testing.
Bug-AGL: SPEC-3585
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I6ae35e5b5d57b6324bff0a9c5952556b7ffc9a94
|
|
Fix signal composer test markings (there were accidentally marked
as can_low_level), and add logic to skip them by default for now due
to SPEC-3615. They can be enabled by passing --run-signal-composer
to pytest. Once SPEC-3615 is resolved, this can be removed or the
default changed to not skipping.
Bug-AGL: SPEC-3585
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ie64d2868d90bdd242b762c7ad35cac1be11677e6
|
|
Changes:
- Rework CAN test CAN data playing with canplayer to fix racing
against listening for the binding events the data will result in.
The previous use of a fixture to drive canplayer has been replaced
with a small wrapper class that is inline in the test code to
ensure the correct order of operations.
- Copy required CAN test CAN data files used in the afb-test widget
into pyagl/tests/data/can to remove dependency on test widget
presence and contents. The previous prepare_replay_files fixture
has been changed into a per-test fixture that scp's the file into
/tmp on the target if running remotely. When running on target,
they are used directly out of the pyagl install.
- Improve test_Filter_Test_01_Step_2 using the updated canreplay
file copied from agl-service-can-low-level, there are now several
messages that test the filter range.
- Add a tweak to cut the fixture parameter(s) off the test names
when generating LAVA output.
- Reordered test_auth to be after the write without authorization
test to avoid spurious failures. Also removed the duplicate
test in the J1939 tests and replaced it with an appropriate
dependency.
- Replace xfail marks on J1939 tests with logic to detect J1939
kernel support and mark them dynamically.
- Add missing can_j1939 marking to the test
test_low_can_subscribe_j1939_event.
- Use known_hosts=None in asyncssh.connect calls to ensure remote
testing is not affected by local SSH known_hosts configuration.
- Tweak
- Update some comment formatting to improve readability.
- Simplify logic a bit in AGLBaseService.listener function.
Bug-AGL: SPEC-3585
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I4ef660c175468ef57873c03a33cb5ec7e6f16568
|
|
Remove the "regular" test marking to simplify things. At the moment
it provides no real separation from the set of tests proscribed by
"not hwrequired", and things like J1939 need to be dynamically
skipped based on platform support instead of requiring manual mark
specification.
Bug-AGL: SPEC-3585
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ic21cb84c499af9b63c83d145f3ffefaae4fda357
|
|
Porting most of the lua tests for agl-service-can-low to pyagl
Handle None in AGLBaseService.afbresponse() and AFBResponse class for
timeouts
Add new can_j1939 marker for J1939 CAN tests, also xfail marked until
a way to determine if J1939 kernel support is available
signal-composer verb queries tend to crash/choke after service startup
right after boot, but when the service is restarted, tests run fine -
so adding a timeout handling on verb queries in tests
Bug-AGL: SPEC-3585
Signed-off-by: Edi Feschiyan <edi.feschiyan@konsulko.com>
Change-Id: Ib1fc259f2b28fb11c5f89b61df0b066d2c02045e
|
|
When doing subscription and event testing, there are cases which need
to test lack of emitted events, changing the .listener() async
generator to be able to return None.
Set to None by default which would use self.timeout
Adding extra data on ERROR response from afb if it is available
Changing AFBResponse to raise TypeError instead return
Bug-AGL: SPEC-3585
Signed-off-by: Edi Feschiyan <edi.feschiyan@konsulko.com>
Change-Id: I09a62c559a1e8ca4bebe6f696167ca61ffb82b59
|
|
Add a test to test all available signals reported by list verb
Bug-AGL: SPEC-3585
Signed-off-by: Edi Feschiyan <edi.feschiyan@konsulko.com>
Change-Id: I73f4cb75ef24b38948756b2c81bc4e3552d7eb3c
|
|
All agl-services use 'value' keyword in JSON request for subscription
which is set as the default behavior for base.py, however
agl-service-can-low uses 'event'.
Bug-AGL: SPEC-3585
Signed-off-by: Edi Feschiyan <edi.feschiyan@konsulko.com>
Change-Id: Id93cf1bfdbb5c60614e3e5eca3814d5d16b907a9
|
|
afbresponse() in base.py does wrong assignment at the end which
effectively makes it work only for responses and discards EVENT data
because there is no 'response' key in the json emitted for the event
Bug-AGL: SPEC-3585
Signed-off-by: Edi Feschiyan <edi.feschiyan@konsulko.com>
Change-Id: I69b15127ca386148687d83b3a231c3aa53e789b7
|
|
Update requirements.txt to match AsyncSSH with newer 2.3.0 version
Update tox.ini with proper path to run in CI and set
AGL_AVAILABLE_INTERFACES to "ethernet" by default
Bug-AGL: SPEC-3583
Signed-off-by: Edi Feschiyan <edi.feschiyan@konsulko.com>
Change-Id: If5f000b2dd17354cb97aeddd882bf7978b3ddb97
|
|
Since CI runs qemu with a soundcard enabled, and it is easy to do
so with runqemu with the "audio" option, remove the "hwrequired"
markers on the audiomixer tests that have them.
Bug-AGL: SPEC-3572
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I290845e802168116f4769dd011c84875d2e4b5ac
|
|
Changes:
- Disable progress and verbose output when in LAVA output mode to
clean up output.
- Disable color output in LAVA output mode.
- Removed STARTTC and ENDTC lines for passed/skipped tests to
reduce output volume, they are still printed around the output
of failed tests.
- Tweaked error output in LAVA output mode so it will be usefully
parsed out by LAVA and show up in results.
- Fixed skipped test output in LAVA output mode, the logic needed
tweaking to get a TESTCASE line output for them. Also, tweaked
the LAVA result to 'skip' instead of 'pass' for skipped tests,
as LAVA understands 'skip'.
- By request, add 0.25 second delay after each test in LAVA output
mode to slow down serial output.
- Updated documentation to add some invocation examples.
Bug-AGL: SPEC-3572
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I2e2b213dba2a9751210512d698afb67f7543cbe1
|
|
Add .gitreview file for AGL Gerrit usage.
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
|
Updates to prepare for AGL CI use
See merge request konsulko/internal/pyagl!2
|
|
To ensure automated use of the tests cannot get hung, add a timeout
on waiting for binding responses. The default value is 5 seconds,
it may be over-riden by setting the AGL_TEST_TIMEOUT environment
variable.
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
|
The changes in AGL for SPECs 3557 and 3558 mean that the audiomixer
and mediascanner bindings do not need to be started before running
tests, disable doing so.
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
|
Rework the test marking to allow deriving the test mark name for
a given binding from the binding name, i.e. agl-service-X. Due to
dashes not being valid in pytest marks, underscores have been used
instead, i.e. agl-service-can-low-level -> can_low_level. The
intent is to allow CI tooling to easily work up a pytest -k option
to run the tests for a specific binding.
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
|
Revert the xfail changes to the geoclue and weather tests, as it's
been clarified that network connectivity is assumed present in AGL
CI.
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
|
|
|
adding a fix where if multiple instances of the same service are available
fixing geoclue to xfail due to lack of internet connection and removing subscription wait
moving scannable interfaces to a fixture
adding dependency and moving network tests order
|
|
runafmservice and startsystemdservice methods and adjusting the portfinder() to run the missing service.
|
|
Conflicts:
pyagl/tests/test_audiomixer.py
pyagl/tests/test_bluetooth.py
|
|
Decorator cleanups
|
|
Assorted fixes
See merge request konsulko/internal/pyagl!1
|
|
Rename AGL_AVAILABLE_TECHS to AGL_AVAILABLE_INTERFACES for clarity,
and update README.md to document it and improve the test running
section.
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
|
Mark more tests that seem to require hardware in the audiomixer and
bluetooth tests as hwrequired, with an eye towards having no failures
when running with "not hwrequired" on qemu.
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
|
Add Apache 2.0 license text as LICENSE file, and copyright headers
to all source files.
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
|
|
|
and test
mediascanner.py - adding missing agl service mediascanner support and tests
test_network.py - adding missing scan_services test
adding base service and tests files for signal_composer and can_low
|
|
|
|
|
|
|
|
|
|
|
|
Enabling custom pytest --lava option for LAVA CI integration
Enabling tox for CI
bluetooth::default_adapter should support setting a default one according to documentation in README.md
|
|
|
|
test_location_events
|
|
|
|
fix test_entry_phonebook to xfail instead fail when no records are returned but query is successful
replace 'is not' with !=
|
|
If not caught when that happens, it will raise TypeErrors and random unawaited coros/tasks
|
|
intelligently
|
|
reversed and may break tests which require state to be carried over
adding pytest-reverse to requirements/setup.py to be readily available if needed
|
|
unsubscribe test below
commenting out homescreen tap test because the api currently does not respond to it
|
|
|