-
Notifications
You must be signed in to change notification settings - Fork 0
08 Build and Run
NetworkModuleTest๋ Windows(MSBuild) ๋ฐ Linux(CMake/Docker) ๋น๋๋ฅผ ๋ชจ๋ ์ง์ํ๋ค. ์คํ ์์๋ TestDBServer โ TestServer โ TestClient ์์๋ฅผ ์ง์ผ์ผ ํ๋ค.
- Visual Studio 2022 Professional ์ด์
- Windows SDK (์์ผ/RIO API ์ง์)
- PowerShell 5.1 ์ด์
& 'C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\MSBuild.exe' `
'NetworkModuleTest\NetworkModuleTest.sln' `
/p:Configuration=Debug `
/p:Platform=x64 `
/m| ์ต์ | ๊ฐ | ์ค๋ช |
|---|---|---|
/p:Configuration |
Debug / Release
|
๋น๋ ๊ตฌ์ฑ |
/p:Platform |
x64 |
๋์ ํ๋ซํผ (64๋นํธ) |
/m |
โ | ๋ณ๋ ฌ ๋น๋ ํ์ฑํ |
์ถ๋ ฅ ๋ฐ์ด๋๋ฆฌ ์์น: x64\Debug\ (์๋ฃจ์
๋ฃจํธ ๊ธฐ์ค)
์ ์ฒด ๋น๋:
.\build_all.ps1 -Configuration Debug -Platform x64๊ฐ๋ณ ๋น๋ ์คํฌ๋ฆฝํธ:
| ์คํฌ๋ฆฝํธ | ์ค๋ช |
|---|---|
build_all.ps1 |
์๋ฃจ์ ์ ์ฒด ๋น๋ |
build_serverengine.ps1 |
ServerEngine ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ง ๋น๋ |
build_testserver.ps1 |
TestServer ํ๋ก์ ํธ๋ง ๋น๋ |
build_common.ps1 |
๊ณตํต ๋น๋ ์ค์ ์คํฌ๋ฆฝํธ |
TestDBServer โ TestServer โ TestClient ์์๋ก ๊ธฐ๋ํด์ผ ํ๋ค. TestServer๋ ๊ธฐ๋ ์ TestDBServer์ ์ฐ๊ฒฐ์ ์๋ํ๋ฏ๋ก, TestDBServer๊ฐ ๋จผ์ ์ค๋น๋์ด ์์ด์ผ ํ๋ค.
1. TestDBServer (ํฌํธ 8002) โ DB ์ด๋ฒคํธ ์ฒ๋ฆฌ ์๋ฒ
2. TestServer (ํฌํธ 9000) โ ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ ์๋ฒ
3. TestClient โ ์ฐ๊ฒฐ ํด๋ผ์ด์ธํธ
์ฐธ๊ณ : TestDBServer ๊ธฐ๋ณธ ์ฝ๋ ํฌํธ๋ 8001์ด์ง๋ง ์คํฌ๋ฆฝํธ ๊ธฐ๋ณธ๊ฐ์ 8002๋ฅผ ์ฌ์ฉํ๋ค. ํฌํธ ํผ๋ ์ฃผ์.
| ์คํฌ๋ฆฝํธ | ์ค๋ช |
|---|---|
run_allServer.ps1 |
TestDBServer + TestServer๋ฅผ ์์๋๋ก ๊ธฐ๋ (๊ถ์ฅ) |
run_server.ps1 |
TestServer๋ง ๊ธฐ๋ |
run_dbServer.ps1 |
TestDBServer๋ง ๊ธฐ๋ |
run_client.ps1 |
TestClient ์คํ |
# ๊ธฐ๋ณธ ์คํ (ํฌํธ ์๋ ํ ๋น)
.\run_allServer.ps1 -Configuration Debug -Platform x64
# ํฌํธ ๊ณ ์ ์คํ
.\run_allServer.ps1 -Configuration Debug -Platform x64 `
-ServerPort 9000 -DbPort 8002 -DisablePortFallback
# ๊ฐ์ ์ฐฝ์์ ์คํ
.\run_allServer.ps1 -Configuration Debug -Platform x64 -NoNewWindow
-DisablePortFallback์์ด ์คํํ๋ฉด ๊ธฐ๋ณธ ํฌํธ๊ฐ ์ฌ์ฉ ์ค์ผ ๋ ์๋์ผ๋ก ๋ค์ ๋น ํฌํธ๋ก ์ด๋ํ๋ค.
.\run_client.ps1 -Configuration Debug -Platform x64 -ServerPort 9000| ์คํฌ๋ฆฝํธ | ์ค๋ช |
|---|---|
run_test.ps1 |
๋จ์ผ ํด๋ผ์ด์ธํธ ํตํฉ ํ ์คํธ |
run_test_2clients.ps1 |
2๊ฐ ํด๋ผ์ด์ธํธ ๋์ ์ฐ๊ฒฐ ํ ์คํธ |
run_test_auto.ps1 |
์๋ํ ํ ์คํธ (CI์ฉ) |
run_perf_test.ps1 |
์ฑ๋ฅ ํ ์คํธ |
Linux ํ๊ฒฝ ํ
์คํธ๋ test_linux/ ํด๋์์ ๊ด๋ฆฌํ๋ค.
test_linux/
โโโ CMakeLists.txt
โโโ docker-compose.yml
โโโ Dockerfile
โโโ run_docker_test.ps1
โโโ scripts/
.\test_linux\run_docker_test.ps1๋๋ Docker Compose ์ง์ ์ฌ์ฉ:
cd test_linux
docker-compose up --buildcd test_linux
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
make -j$(nproc)Linux ๋น๋ ์
libpq-dev๊ฐ ํ์ํ๋ค (PostgreSQL ํด๋ผ์ด์ธํธ ํค๋). Dockerfile์ ์ด๋ฏธ ํฌํจ๋์ด ์๋ค.
| ์ฆ์ | ์์ธ | ํด๊ฒฐ |
|---|---|---|
| TestServer ์์ ์ DB ์ฐ๊ฒฐ ์คํจ | TestDBServer๊ฐ ์ค๋น๋์ง ์์ | TestDBServer๋ฅผ ๋จผ์ ๊ธฐ๋ |
WSAECONNREFUSED ๋ก๊ทธ ๋ฐ๋ณต |
DB ์๋ฒ ๊ธฐ๋ ์ค | 1์ด ๊ฐ๊ฒฉ ์๋ ์ฌ์ฐ๊ฒฐ, ๊ธฐ๋ค๋ฆฌ๋ฉด ์๋ ๋ณต๊ตฌ |
๋น๋ ์ค๋ฅ libpq not found
|
PostgreSQL ํค๋ ๋๋ฝ |
libpq-dev ์ค์น ๋๋ Docker ๋น๋ ์ฌ์ฉ |
| ํฌํธ ์ถฉ๋ | ์ด์ ํ๋ก์ธ์ค๊ฐ ํฌํธ ์ ์ ์ค |
kill_test_procs.ps1 ์คํ ํ ์ฌ๊ธฐ๋ |
# ํ
์คํธ ํ๋ก์ธ์ค ๊ฐ์ ์ข
๋ฃ
.\kill_test_procs.ps1