소스 검색

Cleaner smoke test output

default_compile_flags
vector-of-bool 6 년 전
부모
커밋
b61b65df2a
4개의 변경된 파일27개의 추가작업 그리고 20개의 파일을 삭제
  1. +2
    -0
      build.py
  2. +2
    -1
      manifest.dds
  3. +1
    -1
      src/dds/manifest.cpp
  4. +22
    -18
      test.py

+ 2
- 0
build.py 파일 보기

'-Wshadow', '-Wshadow',
'-Wconversion', '-Wconversion',
'-fdiagnostics-color', '-fdiagnostics-color',
'-DFMT_HEADER_ONLY=1',
'-pthread', '-pthread',
'-c', '-c',
str(cpp_file), str(cpp_file),
'/nologo', '/nologo',
'/EHsc', '/EHsc',
'/std:c++latest', '/std:c++latest',
'/DFMT_HEADER_ONLY=1',
f'/I{HERE_DIR / "src"}', f'/I{HERE_DIR / "src"}',
str(cpp_file), str(cpp_file),
'/c', '/c',

+ 2
- 1
manifest.dds 파일 보기

Private-Include: external/spdlog/include Private-Include: external/spdlog/include
Private-Include: external/wil/include
Private-Include: external/wil/include
Private-Define: FMT_HEADER_ONLY=1

+ 1
- 1
src/dds/manifest.cpp 파일 보기

for (auto& pair : kvs.items()) { for (auto& pair : kvs.items()) {
if (pair.key() == "Private-Include") { if (pair.key() == "Private-Include") {
ret.private_includes.emplace_back(pair.value()); ret.private_includes.emplace_back(pair.value());
} else if (pair.key() == "Private-Defines") {
} else if (pair.key() == "Private-Define") {
ret.private_defines.emplace_back(pair.value()); ret.private_defines.emplace_back(pair.value());
} else { } else {
throw std::runtime_error( throw std::runtime_error(

+ 22
- 18
test.py 파일 보기

import argparse import argparse
from pathlib import Path from pathlib import Path
from typing import List, NamedTuple from typing import List, NamedTuple
import shutil
import subprocess import subprocess
import sys import sys






def run_test_dir(dir: Path, opts: TestOptions) -> bool: def run_test_dir(dir: Path, opts: TestOptions) -> bool:
try:
subprocess.check_call(
[
str(opts.exe),
'build',
'--export',
'--warnings',
'--tests',
'--toolchain',
opts.toolchain,
],
cwd=dir,
)
except subprocess.CalledProcessError:
import traceback
traceback.print_exc()
return False
return True
print(f'Running test: {dir.name} ...')
out_dir = dir / '_build'
if out_dir.exists():
shutil.rmtree(out_dir)
res = subprocess.run(
[
str(opts.exe),
'build',
'--export',
'--warnings',
'--tests',
f'--toolchain={opts.toolchain}',
f'--out-dir={out_dir}',
],
cwd=dir,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
)
if res.returncode != 0:
print(f'Test failed with exit code [{res.returncode}]:\n{res.stdout}')
return res.returncode == 0




def run_tests(opts: TestOptions) -> int: def run_tests(opts: TestOptions) -> int:

Loading…
취소
저장