Test failures

Issue #1 new
Victor Nguyen
created an issue

I am getting some test failures upon the build finishing. Here's the printout.

-> running test: dbg\build\release\doozer_release\dbg.tests\bin\dbg_unittests.ex

throw_info: current_exception() contains data about throw site, dbg\tests\throw_
fail: 'info.trace->size() != 0', line 92

throw_info: formatting of non-empty object, dbg\tests\throw_tests.cpp:126
fail: 's.find("[no call frames available]") == std::string::npos', line 153
fail: 's.find("0x") != std::string::npos', line 154

throw_info: details are logged at throw site only when DBG_LOG_ON_THROW is in en
vironment, dbg\tests\throw_tests.cpp:157
fail: '!log_contains("[no call frames available]")', line 173
fail: 'log_contains("0x")', line 174

symbols: symbol lookup, dbg\tests\symbols_tests.cpp:37
fail: 's.function.find("splendid") != std::string::npos', line 53

successes: 83
failures:  6

-> ERROR! process returned 6 (expected 0)

-> waiting for existing tasks to finish...
-> failure after 25.52 seconds

If at all useful, I'm running on Windows 7 using MinGW-w64. Here's my config file as well.

buildroot = here/'build/release'
kit = ['gnucpp', 'gnuc'] # For g++/gcc, including Apple's GCC/LLVM-GCC, and MinGW.

dbg.platform = 'windows'
dbg.optimize_out = True

flags = [
    'iso',          # enable standards compliant mode
    'warn-extra',       # enable lots of warnings. There's also 'warn' and 'warn-extreme'.
    'warn-as-error',        # translate any warnings in to errors
    'check-stl-concepts',   # enable concept checking in the STL, where available
    'static-runtime',       # link against the platform's static runtime libraries
    'copy-runtime-libs',    # copy the runtime libraries next to any generated executables
    'optimize-max',         # optimize for maximum speed
    'optimize-global',      # enable global (link-time) optimization, where available
    'strip-symbols'         # remove non-essential symbols from any linked build products.

fungo.root = cwd/'fungo'
test_o_matic.root = cwd/'test_o_matic'

Comments (4)

  1. Edd Dawson repo owner

    Hi Victor. Thanks for the report. There's little hope of generating meaningful stack-traces in release builds, especially if optimizations are enabled and symbols are stripped.

    I should probably disable/modify the tests for builds where optimizations are enabled. I'll leave the bug open until I decide what should be done in that regard. Suggestions welcome.

  2. Edd Dawson repo owner

    I think I was talking rubbish in the first comment. The build script runs the tests and examples with a modified set of flags, which ensure symbolic information should be present.

    A recent change may help with the last failure.

    However, I won't be able to debug this until I have access to a 64 bit Windows machine. I have no immediate plans to get one, so this may take some time to resolve without assistance.

    From the look of the failures, I'd guess that either the stack walking code is not working (src/windows/frames.cpp) or there's a problem loading dbghelp.dll (src/windows/dbghelp.cpp).

  3. Log in to comment