1### To check common code misspellings, syntax and standard checks.
2
3**Requirement Python 3.x and above**
4
5It is recommended to run these tools against the code before pushing to gerrit.
6It helps catches those silly mistake earlier before the review.
7
8### 1. codespell
9
10Project [codespell](https://github.com/codespell-project/codespell) designed primarily for checking misspelled words in source code
11
12```
13    $ pip install codespell
14```
15
16Example:
17```
18    $ codespell templates/test_openbmc_setup.robot
19    templates/test_openbmc_setup.robot:13: setings ==> settings
20```
21
22### 2. robotframework-lint
23
24Project [robotframework-lint](https://pypi.org/project/robotframework-lint/) for static analysis for robot framework plain text files.
25
26```
27    $ pip install –upgrade robotframework-lint
28 ```
29
30Example:
31```
32    $ rflint redfish/service_root/test_service_root_security.robot
33    + redfish/service_root/test_service_root_security.robot
34    W: 19, 100: Line is too long (exceeds 100 characters) (LineTooLong)
35```
36
37You can refer a script with example as well [custom rules](https://github.com/openbmc/openbmc-test-automation/blob/master/robot_custom_rules.py)
38
39### 3. robot tags check
40
41Project [check_robot_tags](https://github.com/generatz/check_robot_tags) Checks that Tags are equivalent to test case names or task names.
42
43Example:
44```
45    $ git clone https://github.com/generatz/check_robot_tags
46    $ cd check_robot_tags/
47
48    $ awk -f check_robot_tags.awk ~/openbmc-test-automation/redfish/test_xit.robot
49     --- /home/openbmc-test-automation/redfish/test_xit.robot:
50     Verify No BMC Dump And Application Failures In BMC
51     Iam_different_here
52```
53