Boost.Test support not working

I've just downloaded and installed 2016.1 version with Boost.Test support.

The Unit Test Session window displays all my boost.test unit tests but when I try to run any of them they just display "Ignored".

I'm using VS2012 with Boost 1.59 (via nuget), also included in the tests is support for TeamCity with teamcity_* files from:

https://confluence.jetbrains.com/display/TW/Cpp+Unit+Test+Reporting

I've tried excluded the teamcity_* files but didn't make any difference.

0
8 comments
Avatar
Permanently deleted user

Hello Shane,

Sorry about that. Does the unit test runner show any errors? Please also make sure that the output panel is opened, because it is sometimes used for error reporting.

Would it be possible for you to send us the solution or construct a new one which would expose this problem?

When a unit test is run, the test runner will find the project which contains the test, and expect that the output of this project is a binary with tests. When you run it manually from Visual Studio, do the tests run? What the "Command", "Command Arguments" and "Working Directory" are set to in the "Debugging" section of project properties?

Thanks!

0

There is nothing in the output, only "Ignored" on the unit test line.

The is nothing special in the debug setup, just the defaults.  It happens in debug and release builds. 

I have reproduced the problem with a smallest solution setup and with roughly the same basic setup used in our codebase. Where would you like me to send the code to?

 

0
Avatar
Permanently deleted user

Could you upload the archive to ftp://ftp.intellij.net/.uploads and let us know the exact file name? The FTP accepts standard anonymous credentials: username: "anonymous", password: "<your e-mail>".

Thanks a lot!

0

Uploaded with the filename 'BoostTestExample.zip'.

It was compiled with vs2012 update 5.

0
Avatar
Permanently deleted user

Shane,

Turns out our statement of supporting Boost 1.59 is incorrect, only 1.60 will work with the currently released version - we'll update the documentation.

The reason is R++ uses DOT output format (--list_content=DOT) to find out about manually registered tests. Among other information parsed from this output, R++ determines which tests are disabled. Looks like Boost 1.59 was released with a bug which caused all tests to be reported as disabled in the DOT output format (see https://github.com/boostorg/test/commit/d3d6c42dfe8a1f72f51077ec2dacde9e7061ae85 for the fix).

If you still want to try the R++ unit test runner, please consider upgrading to Boost 1.60. I'm not sure yet whether we'll try to work around this issue in the patch release.

Thanks a lot for your help in diagnosing this!

0

Thanks for the update.

Boost v1.60 is on the list for us to do so I will try to get this pushed through faster now.

 

0
Avatar
Permanently deleted user

Shane,

I've decided to try working around that issue. The latest 2016.1.1 is now available at https://www.jetbrains.com/resharper-cpp/ and should support running tests with Boost 1.59. If you have a chance, please try it out and tell us if it helps.

Thanks!

0

Sorry Igor, we have already moved onto boost 1.60.

I tried the little example I created and that worked.

Thanks!

0

Please sign in to leave a comment.