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
11primarily for checking misspelled words in source code
12
13```
14    $ pip install codespell
15```
16
17Example:
18
19```
20    $ codespell templates/test_openbmc_setup.robot
21    templates/test_openbmc_setup.robot:13: setings ==> settings
22```
23
24### 2. robotframework-lint
25
26Project [robotframework-lint](https://pypi.org/project/robotframework-lint/) for
27static analysis for robot framework plain text files.
28
29```
30    $ pip install –upgrade robotframework-lint
31```
32
33Example:
34
35```
36    $ rflint redfish/service_root/test_service_root_security.robot
37    + redfish/service_root/test_service_root_security.robot
38    W: 19, 100: Line is too long (exceeds 100 characters) (LineTooLong)
39```
40
41You can refer a script with example as well
42[custom rules](https://github.com/openbmc/openbmc-test-automation/blob/master/robot_custom_rules.py)
43
44### 3. robot tags check
45
46Project [check_robot_tags](https://github.com/generatz/check_robot_tags) Checks
47that Tags are equivalent to test case names or task names.
48
49Example:
50
51```
52    $ git clone https://github.com/generatz/check_robot_tags
53    $ cd check_robot_tags/
54
55    $ awk -f check_robot_tags.awk ~/openbmc-test-automation/redfish/test_xit.robot
56     --- /home/openbmc-test-automation/redfish/test_xit.robot:
57     Verify No BMC Dump And Application Failures In BMC
58     Iam_different_here
59```
60