### Amazon FreeRTOS Qualifcation Program (AFQP) Check #### Dependencies * Python 2.7+ or Python 3+ #### Usage The default Amazon FreeRTOS source root is relative to tools/checks/afqp/afqp_check. This can be changed with the --root option. * **Non-eclipse based IDE projects.** ``` cd /tools/checks/afqp/afqp_check python src/afqp_check.py --vendor --board --ide ``` * **Eclipse based IDE projects.** ``` cd /tools/checks/afqp/afqp_check python src/afqp_check.py --vendor --board --ide --eclipse ``` If the eclipse project files are not located directly under /demos/vendor/board/ide, then you must specify the location relative to /demos/vendor/board/ide. ``` cd /tools/checks/afqp/afqp_check python src/afqp_check.py --vendor --board --ide --eclipse --project aws_demos ``` #### The Checks * Check for required AFQP files: * see **tools/checks/afqp/fs_checkrules.json** * Check for **configPLATFORM_NAME** in **FreeRTOSConfig.h** * Return *error* if missing. * Check for build artifiacts. * Return *error* if present. * Check for vendor license in AFQP files. * Return *warning* if the Amazon FreeRTOS license is in ported code. * Return *error* for each missing Amazon FreeRTOS copyright. * Return *error* for incorrect copyright year. * Return *error* for incorrect versions on ported files. * Check for a compliant Eclipse project. * Return *error* for naming demo project anything other than "**aws_demos**" in the **.project** file. * Return *error* for multiple project roots defined in the ide's **.project** file. * Return *error" for each missing **\** tag in the linked resource in the **.project** file. * Return *warning* for each include path in the **.cproject** not extending from the single root variable defined in the **.project**. #### Testing Run **pytest** from this directory (tools/checks/afqp/afqp_check) ##### Dependencies * ```pytest``` * ```pytest-cov```