반응형
SMACK 포팅을 하였으나 아직 정상동작하는지 확신이 안가는경우가 있다. SMACK 팀에서 정식 배포하는 테스트 스크립트를 통하여 정상동작을 확인하면된다.
위의 링크에 테스트스크립트들이 있다.
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/makefile
을CC
로 수정한다.
위와같이 수정한 후에 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 의 기능을 체크하면된다...
반응형