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

add inter-op tests #71

Open
smlng opened this issue Mar 6, 2021 · 2 comments
Open

add inter-op tests #71

smlng opened this issue Mar 6, 2021 · 2 comments
Labels
tests add or refine tests

Comments

@smlng
Copy link
Owner

smlng commented Mar 6, 2021

Currently test are only run with and against pycayennelpp, this is insufficient. We should run encoding and decoding tests against other libs from other programming languages to ensure interoperability, as it would likely appear in real world scenarios. For example, use an embedded C library on a sensor for encoding and pycayennelpp for decoding on a client, e.g. webapp or similar.

@smlng smlng added the tests add or refine tests label Mar 6, 2021
@amotl
Copy link
Contributor

amotl commented Mar 6, 2021

Hi Sebastian,

I recognized you becoming active on this code base again and I appreciate it very much. I should also spend some time on the Terkin Datalogger in order to give it some love again.

On the aspect of interoperability tests against C/C++ libraries, I believe Arduino CayenneLPP library conceived by @ElectronicCats - specifically @sabas1080 and contributors - is the most popular one in this space. The repository also contains a decoder implementation in JavaScript, see decoder.js.

Regarding interoperability tests with MicroPython, there is the MicroPython Unix port. It might be worth to look into that space how it could be leveraged to run some integration tests against.

On the matter of MicroPython on microcontrollers, vanilla MicroPython made great progress (currently on version 1.14, already supporting the new Raspberry Pi Pico). However, Pycom MicroPython unfortunately lacks behind and is still based on MicroPython 1.11. On this matter, I was specifically looking at the upgrade to Python 3.6+ on behalf of #70. While I didn't have time to check if that would break anything, according to your comments, the code base itself doesn't use any more modern Python features yet, right?

With kind regards,
Andreas.

cc @thiasB

@smlng
Copy link
Owner Author

smlng commented Mar 6, 2021

@amotl the changes in #70 just reflect the fact that Python 3.6 is the oldest version still officially supported (until the end of 2021, that is). However, until now I'm not using any features or code specific to Python 3.6 or above, hence this lib should still work with Python 3.4 and 3.5, if required.

Regarding my activity here: the past year was different and other things kept me busy 😉 . I plan to invest some time to push ideas I have to move this project forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tests add or refine tests
Projects
None yet
Development

No branches or pull requests

2 participants