summaryrefslogtreecommitdiffstats
path: root/pyagl
AgeCommit message (Collapse)AuthorFilesLines
2020-09-30Remove "regular" test markingScott Murray14-107/+12
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
2020-09-23Add CANService testsEdi Feschiyan4-9/+491
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
2020-09-23Add timeout ability to AGLBaseService.listener()Edi Feschiyan1-6/+17
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
2020-09-17Fix signalcomposer testEdi Feschiyan1-1/+15
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
2020-09-17Override un/subscribe methods in CANServiceEdi Feschiyan1-0/+5
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
2020-09-17Fix AGLBaseService.afbresponse() for EVENT dataEdi Feschiyan1-1/+1
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
2020-09-10Remove hwrequired marking of audiomixer testsjellyfish_9.99.4jellyfish/9.99.49.99.4Scott Murray1-6/+0
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
2020-09-10Improve LAVA outputScott Murray1-12/+79
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
2020-09-02Merge branch 'smurray/fixes' into 'master'Edi Feschiyan12-22/+28
Updates to prepare for AGL CI use See merge request konsulko/internal/pyagl!2
2020-09-01Add timeout for binding responsesScott Murray1-1/+7
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>
2020-09-01audiomixer and mediascanner bindings do not need to be startedScott Murray4-5/+6
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>
2020-09-01Rework per-binding test markingScott Murray6-9/+10
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>
2020-09-01Assume network connectivityScott Murray2-7/+5
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>
2020-09-01Adding author to license heading in filesEdi Feschiyan30-29/+71
2020-08-31adding an option during service init to run the service it is missingEdi Feschiyan5-88/+104
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
2020-08-31mediascanner service is not running in the system on boot, so adding ↵Edi Feschiyan3-20/+78
runafmservice and startsystemdservice methods and adjusting the portfinder() to run the missing service.
2020-08-31Merge branch 'master' of gitlab.com:konsulko/internal/pyagl into masterEdi Feschiyan29-12/+453
 Conflicts:  pyagl/tests/test_audiomixer.py  pyagl/tests/test_bluetooth.py
2020-08-31Adding can-low basic verb tests and cli invocationsEdi Feschiyan12-116/+116
Decorator cleanups
2020-08-28Rename AGL_AVAILABLE_TECHSScott Murray1-1/+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>
2020-08-28Mark some more tests as hwrequiredScott Murray2-7/+7
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>
2020-08-28Add license file and copyrightsScott Murray29-4/+439
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>
2020-08-19test_signal_composer.py - adding tests forEdi Feschiyan2-3/+51
2020-08-17bluetooth.py and test_bluetooth.py - adding missing avrcp_controls support ↵Edi Feschiyan12-17/+229
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
2020-08-07Changing portfinder method to run locally without sshEdi Feschiyan1-35/+64
2020-08-07moving conftest to pyagl subdir and creating a manifestEdi Feschiyan1-0/+15
2020-08-07moving conftest conftest under a packageEdi Feschiyan1-0/+32
2020-08-07Registering "regular" and "hwrequired" test markers, adding them to testsEdi Feschiyan11-27/+206
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
2020-07-23Fixed catching wrong TimeoutError exception thrown by the task in ↵Edi Feschiyan1-1/+1
test_location_events
2020-07-17fix xfail message for bluetooth fixtureEdi Feschiyan4-7/+15
fix test_entry_phonebook to xfail instead fail when no records are returned but query is successful replace 'is not' with !=
2020-07-14When using asyncio.timeout on a response() task it will return NoneEdi Feschiyan1-3/+9
If not caught when that happens, it will raise TypeErrors and random unawaited coros/tasks
2020-07-13converting test_subscribe_location into task and waiting for it more ↵Edi Feschiyan2-4/+8
intelligently
2020-07-13catching immediate emit from geoclue subscription, otherwise breaks ↵Edi Feschiyan2-4/+7
unsubscribe test below commenting out homescreen tap test because the api currently does not respond to it
2020-07-13weather tests adding dependenciesEdi Feschiyan1-1/+2
2020-07-13temporarily removing the raw send arguments with --json --verb --apiEdi Feschiyan4-8/+11
removing unnecesary import in test_weather adding README.md fixing requirements and setup.py to include pytest-dependency instead -depends
2020-07-13replacing 'is' with '==' comparison causing warningsEdi Feschiyan1-1/+1
2020-07-13WIP: Adding taskmanager and homescreen service and testsEdi Feschiyan22-64/+496
PEP8 cleanups, newlines replacing AFBResponse with service.afbresponse() Adding BT-PBAP CLI callables Adding bluetooth subscription tests
2020-06-25Adding network bindings and testsEdi Feschiyan6-2/+219
2020-06-24Adding bluetooth pbap service and testsEdi Feschiyan5-1/+230
2020-06-24Adding bluetooth_mapEdi Feschiyan2-0/+152
2020-06-24adding touches to base class, causes to crash when error response is ↵Edi Feschiyan1-15/+8
received without info
2020-06-24Adding AudioMixer service and testsEdi Feschiyan3-1/+76
2020-06-18Adding empty init filesEdi Feschiyan3-0/+0
2020-06-18Rearranging files for distribution, setup.py modificationsEdi Feschiyan15-0/+972