Переглянути джерело

Cleaner smoke test output

default_compile_flags
vector-of-bool 5 роки тому
джерело
коміт
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:

Завантаження…
Відмінити
Зберегти