dev-resources.site
for different kinds of informations.
AppArmor testsuite
์ ์ ๋ ๋ฒจ์์ ๊ฐ๋ฐ๋๋ ๋ฏธ๋ค์จ์ด ํ๋ก๊ทธ๋จ๋ค์ ๋๋ถ๋ถ(?) unittest๋ฅผ ์ง์ํ๋ค. ๊ทธ๋ฌ๋ kernel์ ์ด์ผ๊ธฐ๊ฐ ์ข ๋ฌ๋ผ์ง๋๋ฐ... ํ๋์จ์ด ์์์ ์์์ ๊ด๋ฆฌํ๋ ํ๋ก๊ทธ๋จ์ด๋ค ๋ณด๋ unittest๋ฅผ ์ํํ ํ๊ฒฝ์ด ์๋ค. ์ต๊ทผ์ KUnit์ ์ด์ฉํด์ ํจ์/๊ธฐ๋ฅ ๋จ์๋ก ํ ์คํธํ๊ธด ํ์ง๋ง ์ค๋์ ์ ์ ๋ ๋ฒจ์์ ์ํํ๋ ํ ์คํธ์ ๋ํด ์ด์ผ๊ธฐํด๋ณด์.
ํด๋ผ์ด์ธํธ์ kernel ๊ด๋ จ ์ ๋ฌด๋ฅผ ์งํํ๋ค๋ณด๋ฉด ํญ์ stability ๋จ์ด๊ฐ ์ธ๊ธ๋๊ณค ํ๋ค. ํนํ๋ ์ ํ์ฐ๊ตฌ ๊ณผ์ ๋ผ๋ฉด kernel์์ ์ง์ํ์ง ์๋ ๊ธฐ๋ฅ์ ๋ํด ํ๋กํ ํ์ ์ผ๋ก ๊ฐ๋ฐํ๊ณ ์์ฐ์ ์ ์ฉํ ์ง ๊ณ ๋ฏผํ๋๋ฐ, ํด๋ผ์ด์ธํธ๋ ๊ธฐ๋ฅ์ด ๋์ํ๋ ๋์ ํฌ๋ฆฌํฐ์ปฌ ์ด์๊ฐ ๋ฐ์ํ์ง ์๊ธธ ์ํ์ฌ ์์ ์ฑ์ ๊ฒ์ฆํ ๋งํ ํ ์คํธ๋ฅผ ์๊ตฌํ๋ค. ์ค๋ ์๊ฐํ๋ ํ๋ ์์ํฌ(?)๊ฐ ๋ฐ๋ก AppArmor์ ์์ ์ฑ์ ๊ฒ์ฆํ ์ ์๋ ํ๋์ ๋ฐฉ๋ฒ์ด๋ค.
AppArmor ํ๋ก์ ํธ ์ฌ์ดํธ์ ์ ์ํ๋ฉด user-space ๋๊ตฌ๋ฅผ ๊ด๋ฆฌํ๋ repo๋ฅผ ๋ณผ ์ ์๋๋ฐ ๊ทธ์ค์ tests/regression/apparmor
๊ฐ testsuite์ด๋ค. HOW TO INSTALL์ off topic์ด๊ณ ์ฌ๊ธฐ์๋ ๊ฐ๋จํ๊ฒ ์ฌ์ฉํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋๋ก ํ์.
ํด๋น repo๋ฅผ clone ํ๊ณ tests/regression/apparmor
๋ก ์ด๋ํ๋ฉด ์๋์ ๊ฐ์ด ์ฌ๋ฌ๊ฐ์ ํ์ผ์ด ๋ณด์ธ๋ค.
์ด์ make tests
๋ช
๋ น์ด๋ฅผ ์คํํ์ฌ testsuite๋ฅผ ์์ฐจ์ ์ผ๋ก ์คํํ๋ค. (์คํ์ ํ์ํ ๋ํ๋์๋ ์ด๋ฏธ ์ค์นํ์๋ค)
์๋ํ ํ๋ ์์ํฌ์ด๋ค ๋ณด๋ ํผ์์ ์ํํ๊ณ ์๋์ ๊ฐ์ด report๋ฅผ ์ถ๋ ฅํ๋ฉฐ, ์ฌ์ฉ์๋ ์ด๋ฅผ ํตํด PASS ๋ฐ FAIL ์๋ธ ํ
์คํธ๋ฅผ ํ์ธํ ์ ์๋ค.
๊ฒฐ๊ตญ testsuite๋ฅผ ์ํํจ์ผ๋ก์ ์ ํ์ฐ๊ตฌ ํจ์น๊ฐ ์ ์ฉ๋ kernel์ด apparmor ๊ธฐ๋ฅ ์ํ์ ๋ฌธ์ ๊ฐ ์๋์ง ํ๋จํ์ฌ ์์ฐ์ ์ ์ฉํ ์ง ๊ฒฐ์ ํ๊ฒ ๋๋ค. ๋ฌผ๋ก ์ด๋ฅผ ํตํด ๋ฐ๊ฒฌํ์ง ๋ชปํ ์ด์๋ค๋ ์ฌ์ ํ ์์ผ๋ testsuite๋ ๊ธฐ๋ฅ์ด ์์ ์ ์ผ๋ก ๋์ํจ์ ๊ฒ์ฆํ ์ ์๋ ์ฒซ๋ฒ์งธ ๋จ๊ณ๊ฐ ๋๊ธฐ๋ ํ๋ค.
Featured ones: