WSL2의 Docker에서 CppUTest 환경 만들기

6089 단어 DockerWSLcpputesttech

환경 구조


WSL2

  • 생략
  • docker


  • 참조https://qiita.com/oriver3/items/e139e964a88e7cbdb029 설치
    sudo apt-get update
    sudo apt-get install ca-certificates curl gnupg lsb-release
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg $ echo   "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu   $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    
  • 사용자 서비스 시작

  • Windows를 시작할 때마다 필요
    sudo service docker start
    
  • 루트 이외의 사용자가 docker 명령을 사용할 수 있도록 허용

  • 아래 설명
    sudo groupadd docker
    sudo usermod -aG docker $USER
    
  • 위 실행 후 WSL에서 로그오프, 로그인
  • Docker Compose 설치

  • WSL 내 작업
  • Docker Compose도 공식 절차에 따라 설치
  • https://docs.docker.com/compose/install/
  • v2도 나왔는데 2022년 1월까지 v1.29.2가 스테이블이래요. 그거 설치
    curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o ~/docker-compose
    sudo cp ~/docker-compose /usr/local/bin/
    sudo chmod +x /usr/local/bin/docker-compose
    
  • 컨테이너를 준비하다


  • 참조https://dev.classmethod.jp/articles/docker-develop-container/ 환경 조성
  • 컨테이너를 만들다

  • 최신 Ubuntu의 컨테이너에 먼저 들어갑니다
    docker run --name="tdd_env" -it ubuntu:latest
    
  • 용기에 들어간 후 포장을 갱신하고 개발 환경 등에 필요한 포장류를 설치한다.→ 어쨌든 apt 업데이트/upgrade
    apt update && apt upgrade -y
    

  • 컨테이너를 제출하다

  • 이미지를 만들기 위해 현재 환경의 컨테이너를 제출합니다
    exit # コンテナのbashから抜ける
    
    docker commit tdd_env tdd_env
    docker images
    
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    tdd_env             latest              XXXXXXXXXXXX        4 seconds ago       500MB
    
  • 작업 디렉토리 마운트


    WSL의sh에서 docker run에서 작업 디렉터리 (현재 디렉터리) 를 docker의/work에 설치하기
    #!/bin/sh
    docker run -v $PWD:/work -it tdd_env
    
  • wsl에서 이 dev.sh를 실행하면 tdddev 용기를 시작합니다.
  • tdd-env에서의 개발 환경

  • gcc 설치
    apt install gcc
    
  • 환경 구축테스트 드라이브를 통해 개발된 끼워넣기 프로그램 설계의 부록.A에
    apt install g++
    apt install build-essential
    

  • https://qiita.com/naoyoshinori/items/3d6c7a2cc0b050c02873에 따라 autoconflibtool가 필요하므로 설치
    apt install autoconf libtool
    
  • git를 사용하여 cpputest를clone하기 때문에git
    apt install git
    
    를 설치합니다
  • git의 설정
    git config --global user.name "momoandbanana"
    git config --global user.email "momoandbanana@XXXXXXXXXX"
    
  • clone
  • cpputest
  • cpputest의 구축
    git clone https://github.com/cpputest/cpputest.git
    
    ↓maketdd의 마지막
    cd cpputest
    autoreconf . -i
    ./configure 
    make tdd
    
  • CppUTest의 환경 변수를 설정합니다.
    ./CppUTestTests
    .........................................!........
    !..!..!..!..!..!..!..!..!..!.................!..!.
    .!..!..!..!..!....!.!........!.....!..!..!..!..!..
    !..!..!..!..!..!..!...!...!....!..!.......!..!...!
    ..!..!..!..!..!..!..!..!..!..!..!..!...........!..
    ..................................................
    ..................................................
    ..................................................
    ....!.............................................
    ..................................................
    ..................................................
    ..................................................
    ..................................................
    ..................................................
    ..................................................
    ..................................................
    ..................................................
    ....................
    OK (870 tests, 816 ran, 1536 checks, 54 ignored, 0 filtered out, 26 ms)
    
    ./CppUTestExtTests
    ..................................................
    ..................................................
    ..................................................
    ..................................................
    ..................................................
    ..................................................
    ..................................................
    ..................................................
    ......!...........................................
    ............................!.....................
    ....................
    OK (520 tests, 518 ran, 1629 checks, 2 ignored, 0 filtered out, 23 ms)
    
    root@36f6b6967bc2:/work/cpputest# 
    
  • 프로젝트 생성
  • 실행 권한 부여
  • CppUTest에 프로젝트를 만드는 스크립트가 있지만 다운로드한 소스에 실행 권한이 없기 때문에 실행 권한이 부여됨
    echo "export CPPUTEST_HOME=$(pwd)" >> ~/.bashrc
    echo 'export PATH=$PATH:${CPPUTEST_HOME}/scripts' >> ~/.bashrc
    
  • 생성
    chmod a+x ${CPPUTEST_HOME}/scripts/NewProject.sh
    
    현재 디렉터리에 myTddTest 프로젝트를 만들고 프로젝트 템플릿을 생성
  • 좋은 웹페이지 즐겨찾기