[scripts] add packet verification framework (#4428)

This commit introduces the packet verification (PV) framework for
certification tests.

- Add packet verification framework code

- Implement packet verification for cert 5.1.7 as a minimal
  example. There will be more 1.1/1.2 tests with PV submitted in the
  future.

- Download pre-built thread-wireshark binaries from
  openthread/wireshark/releases for packet dissecting (used by
  pyshark)

- Added a Github Action job for Packet Verification
This commit is contained in:
Simon Lin
2020-08-11 09:26:28 -07:00
committed by GitHub
parent 6dddd555e4
commit ecd9436427
29 changed files with 4132 additions and 16 deletions
+2 -2
View File
@@ -55,7 +55,7 @@ jobs:
- name: Bootstrap
run: |
sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
sudo apt-get --no-install-recommends install -y libreadline6-dev
sudo apt-get --no-install-recommends install -y libreadline6-dev python3-setuptools python3-wheel
python3 -m pip install -r tests/scripts/thread-cert/requirements.txt
- name: Build
run: |
@@ -83,7 +83,7 @@ jobs:
- name: Bootstrap
run: |
sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
sudo apt-get --no-install-recommends install -y libreadline6-dev python3-setuptools
sudo apt-get --no-install-recommends install -y libreadline6-dev python3-setuptools python3-wheel
python3 -m pip install -r tests/scripts/thread-cert/requirements.txt
sudo python3 -m pip install git+https://github.com/openthread/pyspinel
- name: Build
+1 -1
View File
@@ -61,7 +61,7 @@ jobs:
- name: Bootstrap
run: |
sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
sudo apt-get --no-install-recommends install -y g++-multilib ninja-build
sudo apt-get --no-install-recommends install -y g++-multilib ninja-build python3-setuptools python3-wheel
python3 -m pip install -r tests/scripts/thread-cert/requirements.txt
- name: Build
run: |
+32 -6
View File
@@ -52,7 +52,7 @@ jobs:
- name: Bootstrap
run: |
sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
sudo apt-get --no-install-recommends install -y llvm-runtime
sudo apt-get --no-install-recommends install -y llvm-runtime python3-setuptools python3-wheel
python3 -m pip install -r tests/scripts/thread-cert/requirements.txt
- name: Run
run: |
@@ -90,6 +90,31 @@ jobs:
- name: Codecov
uses: codecov/codecov-action@v1
packet-verification:
runs-on: ubuntu-18.04
env:
REFERENCE_DEVICE: 1
VIRTUAL_TIME: 1
PACKET_VERIFICATION: 1
steps:
- uses: actions/checkout@v2
- name: Bootstrap
run: |
sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
sudo apt-get --no-install-recommends install -y g++-multilib python3-setuptools python3-wheel
python3 -m pip install -r tests/scripts/thread-cert/requirements.txt
- name: Build
run: |
./bootstrap
make -f examples/Makefile-simulation
- name: Run
run: |
VERBOSE=1 make -f examples/Makefile-simulation check
- name: Codecov
uses: codecov/codecov-action@v1
cli-ftd:
runs-on: ubuntu-18.04
env:
@@ -104,7 +129,7 @@ jobs:
- name: Bootstrap
run: |
sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
sudo apt-get --no-install-recommends install -y g++-multilib
sudo apt-get --no-install-recommends install -y g++-multilib python3-setuptools python3-wheel
python3 -m pip install -r tests/scripts/thread-cert/requirements.txt
- name: Build
run: |
@@ -131,7 +156,7 @@ jobs:
- name: Bootstrap
run: |
sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
sudo apt-get --no-install-recommends install -y g++-multilib
sudo apt-get --no-install-recommends install -y g++-multilib python3-setuptools python3-wheel
python3 -m pip install -r tests/scripts/thread-cert/requirements.txt
- name: Build
run: |
@@ -158,7 +183,7 @@ jobs:
- name: Bootstrap
run: |
sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
sudo apt-get --no-install-recommends install -y g++-multilib
sudo apt-get --no-install-recommends install -y g++-multilib python3-setuptools python3-wheel
python3 -m pip install -r tests/scripts/thread-cert/requirements.txt
- name: Build
run: |
@@ -246,6 +271,7 @@ jobs:
- uses: actions/checkout@v2
- name: Bootstrap
run: |
sudo apt-get --no-install-recommends install -y python3-setuptools python3-wheel
python3 -m pip install -r tests/scripts/thread-cert/requirements.txt
- name: Build
run: |
@@ -273,7 +299,7 @@ jobs:
- name: Bootstrap
run: |
sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
sudo apt-get --no-install-recommends install -y g++-multilib python3-setuptools
sudo apt-get --no-install-recommends install -y g++-multilib python3-setuptools python3-wheel
python3 -m pip install -r tests/scripts/thread-cert/requirements.txt
sudo python3 -m pip install git+https://github.com/openthread/pyspinel
- name: Build
@@ -301,7 +327,7 @@ jobs:
- name: Bootstrap
run: |
sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
sudo apt-get --no-install-recommends install -y python3-setuptools
sudo apt-get --no-install-recommends install -y python3-setuptools python3-wheel
python3 -m pip install -r tests/scripts/thread-cert/requirements.txt
sudo python3 -m pip install git+https://github.com/openthread/pyspinel
- name: Build