SW 개발

SMACK - 테스트스크립트를 통한 SMACK 정상동작 확인방법

. . . 2021. 8. 30. 00:46
반응형

SMACK 포팅을 하였으나 아직 정상동작하는지 확신이 안가는경우가 있다. SMACK 팀에서 정식 배포하는 테스트 스크립트를 통하여 정상동작을 확인하면된다.

smack test repo

위의 링크에 테스트스크립트들이 있다.

SMACK 관련글 :

테스트방법

repo clone

https://github.com/smack-team/smack-testsuite/ 의 repo 를 Target 에 넣는다.

Tools 빌드

기본적으로 https://github.com/smack-team/smack-testsuite/tools 에서 제공하는 Makefile 를 보면 크로스 컴파일에 대한 고려는 따로 되어있지 않다. 때문에 약간의 수정을 통해 타겟 보드에서 동작되도록 수정한다.

tools/Makefile 을 다음과 같이 수정한다.

# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) Intel Corporation, 2018
# Copyright (C) Casey Schaufler <casey@schaufler-ca.com> 2018
#
PROGRAMS= smack-proc-attr smackfs-access file-lock \\
    smack-ipv4-udp-peersec \\
    smack-ipv4-tcp-peersec

default: ${PROGRAMS}

clean:
  rm ${PROGRAMS}

smack-proc-attr: smack-proc-attr.c
  ${CC} -o smack-proc-attr smack-proc-attr.c

smackfs-access: smackfs-access.c
  ${CC} -o smackfs-access smackfs-access.c

file-lock: file-lock.c
  ${CC} -o file-lock file-lock.c

smack-ipv4-udp-peersec: smack-ipv4-udp-peersec.c
  ${CC} -o smack-ipv4-udp-peersec smack-ipv4-udp-peersec.c

smack-ipv4-tcp-peersec: smack-ipv4-tcp-peersec.c
  ${CC} -o smack-ipv4-tcp-peersec smack-ipv4-tcp-peersec.c
  • make file 에 크로스컴파일이 적용이 안되어있어서, tools/makefileCC 로 수정한다.

위와같이 수정한 후에 make -C tools CC=arm-linux-gcc 와 같이 타겟에 맞는 컴파일러 지정후에 make 명령어를 수정한다.

환경설정

  • 일반 유져를 추가한다. (SMACK 테스트를 위한유저)
  • config-example 파일을 수정한다. (추가한 유저를 명세해준다.)
  • config-example 파일을 ./config , ./tools/config 로 복사해준다.

실행

./test/ 폴더 밑에있는 xxx.sh 들를 실행하면 테스트하여 결과를 리포트한다.

다음과 같이 리포트가 된다.

root@myboard:/download/smack-testsuite# ./tests/dir-transmute.sh -v
./tests/dir-transmute.sh:61 PASS
./tests/dir-transmute.sh:65 PASS
./tests/dir-transmute.sh:69 PASS
./tests/dir-transmute.sh:76 PASS
./tests/dir-transmute.sh:80 PASS
./tests/dir-transmute.sh:84 PASS
./tests/dir-transmute.sh:90 PASS
./tests/dir-transmute.sh:93 PASS
./tests/dir-transmute.sh:96 PASS
./tests/dir-transmute.sh:99 PASS
./tests/dir-transmute.sh:103 PASS
./tests/dir-transmute.sh:106 PASS
./tests/dir-transmute.sh PASS=12 FAIL=0

실제 스크립트를 보면 SMACK 과 관련한 여러기능들을 수행한다.

test 밑의 각종 테스트 스크립트 들을 수행하여 SMACK 의 기능을 체크하면된다...

반응형