* Refactor unit test scripts.
Does the following:
1. Remove as many dependencies on the operating system shell as possible.
For example, use of shutil.rmtree(...) instead of os.system('rm -r ...').
This brings this script a bit closer to being able to run on Windows.
2. Switch from os.system() to subprocess.check_call().
* This is a bit more secure as check_call() directly invokes the subprocess
without evaluation the arguments on a command-line.
* Removes the need to evaluate the return code as check_call() does this.
* Can directly set environment variables (e.g. env=cmd_env) instead of
including with subprocess invocation (e.g. BIN=test.bin).
3. Minor cleanup to main.py sys.argv parsing.
4. PEP8 formatting.
* Ignore FileNotFoundError for rmtree('report').
* Back to os.system for gcovr.
* Removed unused shutil import.
* perf(draw) reimplement circle drawing algorithms
Imporve the speed of circle drawing
Add circle draw caching
Various other speed improvements
* docs describe how to use masks
* fix(draw) add missing GC root usage
Add lv_<widget>_draw_part_type_t to widgets to precisly describe the hooked drawings.
Also add class_p element to lv_obj_draw_part_dsc_t to show what widgets lv_<widget>_draw_part_type_t needs to be used.
Related to: https://forum.lvgl.io/t/how-to-add-minor-division-lines-to-a-chart/5366/
follow up the commit:
commit e9cc1c2d46
Author: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
Date: Wed Mar 10 13:07:15 2021 +0100
feat(driver): raname lv_disp_buf_t to lv_disp_draw_buf_t + save only the drv's pointer in lv_disp_t
* feat(mem): add initial version of tlsf
from : https://github.com/mattconte/tlsf
commit: deff9ab509341f264addbd3c8ada533678591905
* feat(mem): switch the default allocator to tlsf
* fix(mem): remove the preserved small buffer
since the builtin allocator(tlsf) is fast enough now
* fix(mem): change LV_MEM_ADD_JUNK to 0
to speed up the normal operation