Rename org.opendaylight.yangtools.yang.binding
[yangtools.git] / csit / README.md
1 # YANGTOOLS CSIT TEST
2 This project is aimed to testing yang files using yang validator tool.
3
4 ## Installing
5
6 *Prerequisite:*  The followings are required for building test:
7
8 - JDK17
9 - JAVA_HOME
10 - Python 3.8+
11
12 GET THE CODE:
13
14 USING HTTPS:
15     git clone "https://git.opendaylight.org/gerrit/yangtools"
16
17 USING SSH:
18     git clone ssh://{USERNAME}@git.opendaylight.org:29418/yangtools
19
20 NAVIGATE TO:
21     cd ~/yangtools/csit
22
23 INSTALL VIRTUAL ENVIROMENT PACKAGE:
24     sudo apt install python3-virtualenv
25
26 CREATE NEW VIRTUAL ENVIROMENT:
27     virtualenv venv
28
29 ACTIVATE VIRTUAL ENVIROMENT:
30     source venv/bin/activate
31
32 INSTALL JAVA:
33     sudo apt install openjdk-17-jdk openjdk-17-jre
34
35 SET JAVA_HOME:
36     export JAVA_HOME enviroment variable
37
38 ## Running test
39
40 RUN TEST:
41     Usage examples:
42     python3 yangtools_test.py -l y -m /src/main/yang/vendor/
43     python3 yangtools_test.py --log=y --models=/src/main/yang/vendor/
44
45     [log]
46     -l, --log=y/n    for delete previous logs in ~/yangtools_csit_test/yang_validator_logs/ (omitting will not delete previous logs)
47
48     [models]
49     -m, --models=/path/to/models/    select directory for testing (omitting will test all models)
50
51     models option examples:
52     /src/main/yang/standard/
53     /src/main/yang/vendor/
54     /src/main/yang/standard/ietf/
55     /src/main/yang/standard/ieee/
56     /src/main/yang/standard/iana/
57     /src/main/yang/vendor/ciena/
58
59 ## Logs
60
61 LOCATION:
62     ~/yangtools_csit_test/yang_validator_logs
63
64 FILES:
65     for each model not pass in yangvalidator, one log file will be created.
66         For example "following-components-yangtools-log.1669020980.753.log" meaning "Following components of unique statement argument refer to non-existent nodes" error.
67     Name of these logs are modified with prefix depending on JAVA error.
68     Txt files will be generated containing list of all models that not passed test.