Recent commits broke the link-fail testing on Windows

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Recent commits broke the link-fail testing on Windows

Boost - Build mailing list
Hello,

I've started receiving "Tests failed" warnings from CI recently.
Here's an example:
https://ci.appveyor.com/project/apolukhin/type-index/build/1.64.45-develop

All the the tests passed (including tests that must fail to link), but
there's a message "...failed updating 2 targets..." and return code is
not 0.

Looks like the issue is related to link-fail targets in tests
https://github.com/boostorg/type_index/blob/develop/test/Jamfile.v2#L57-L59

--
Best regards,
Antony Polukhin
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Recent commits broke the link-fail testing on Windows

Boost - Build mailing list
AMDG

On 01/14/2018 02:25 PM, Antony Polukhin via Boost-build wrote:
>
> I've started receiving "Tests failed" warnings from CI recently.
> Here's an example:
> https://ci.appveyor.com/project/apolukhin/type-index/build/1.64.45-develop
>
> All the the tests passed (including tests that must fail to link), but
> there's a message "...failed updating 2 targets..." and return code is
> not 0.
>

  I don't think this is the fault of link-fail.  The output
shows that the target successfully linked, which means
that it should fail.  It's more likely that I messed up
somewhere and the object files are compiled with the wrong options.

> Looks like the issue is related to link-fail targets in tests
> https://github.com/boostorg/type_index/blob/develop/test/Jamfile.v2#L57-L59
>

In Christ,
Steven Watanabe
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Recent commits broke the link-fail testing on Windows

Boost - Build mailing list
In reply to this post by Boost - Build mailing list
AMDG

On 01/14/2018 02:25 PM, Antony Polukhin via Boost-build wrote:

> I've started receiving "Tests failed" warnings from CI recently.
> Here's an example:
> https://ci.appveyor.com/project/apolukhin/type-index/build/1.64.45-develop
>
> All the the tests passed (including tests that must fail to link), but
> there's a message "...failed updating 2 targets..." and return code is
> not 0.
>
> Looks like the issue is related to link-fail targets in tests
> https://github.com/boostorg/type_index/blob/develop/test/Jamfile.v2#L57-L59
>

As far as I can make out, Boost.Build is working correctly:

$ b2 link_fail_nortti_rtti -d2
...
"testing_crossmodule.cpp"
-Fo"..\..\..\bin.v2\libs\type_index\test\link_fail_nortti_rtti.test\msvc-14.0\debug\threading-multi\testing_crossmodule.obj"
   -TP /Z7 /Od /Ob0 /W3 /GR /MDd /Zc:forScope /Zc:wchar_t /wd4675 /EHs
/GR- -c
-DBOOST_ALL_NO_LIB=1
...
cl : Command line warning D9025 : overriding '/GR' with '/GR-'
...
"test_lib.cpp"
-Fo"..\..\..\bin.v2\libs\type_index\test\msvc-14.0\debug\threading-multi\test_lib_rtti-obj.obj"
   -TP /Z7 /Od /Ob0 /W3 /GR /MDd /Zc:forScope /Zc:wchar_t /wd4675 /EHs -c
-DBOOST_ALL_NO_LIB=1
...
msvc.link
..\..\..\bin.v2\libs\type_index\test\link_fail_nortti_rtti.test\msvc-14.0\debug\threading-multi\link_fail_nortti_rtti.exe
[no error messages]
...failed msvc.link
..\..\..\bin.v2\libs\type_index\test\link_fail_nortti_rtti.test\msvc-14.0\debug\threading-multi\link_fail_nortti_rtti.exe...

Likewise, for link_fail_rtti_nortti, /GR- -DNO_RTTI vs. /GR
seem to be passed correctly.

Just to validate, I changed link-fail to link and it passed.

In Christ,
Steven Watanabe
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Recent commits broke the link-fail testing on Windows

Boost - Build mailing list
2018-01-15 18:36 GMT+03:00 Steven Watanabe via Boost-build
<[hidden email]>:
<...>
> Just to validate, I changed link-fail to link and it passed.

I've also changed the `link-fail` to `link` and it failed:
Commit https://github.com/apolukhin/type_index/commit/5bc4f54183b1e37da0623af6f77a65f4c76bcaa9
CI run https://ci.appveyor.com/project/apolukhin/type-index/build/1.64.50-develop

Then I restored the `link-fail`, and the build still fails:
Commit: https://github.com/apolukhin/type_index/commit/727cdadc86cd63d86420f70ffc00c39edb1dc2be
CI run https://ci.appveyor.com/project/apolukhin/type-index/build/1.64.51-develop


In both cases there's a '...failed updating 2 targets...' message.
Found no other errors.
Am I missing something?


--
Best regards,
Antony Polukhin
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Recent commits broke the link-fail testing on Windows

Boost - Build mailing list
AMDG

On 01/15/2018 03:37 PM, Antony Polukhin wrote:

> 2018-01-15 18:36 GMT+03:00 Steven Watanabe via Boost-build
> <[hidden email]>:
> <...>
>> Just to validate, I changed link-fail to link and it passed.
>
> I've also changed the `link-fail` to `link` and it failed:
> Commit https://github.com/apolukhin/type_index/commit/5bc4f54183b1e37da0623af6f77a65f4c76bcaa9
> CI run https://ci.appveyor.com/project/apolukhin/type-index/build/1.64.50-develop
>
> Then I restored the `link-fail`, and the build still fails:
> Commit: https://github.com/apolukhin/type_index/commit/727cdadc86cd63d86420f70ffc00c39edb1dc2be
> CI run https://ci.appveyor.com/project/apolukhin/type-index/build/1.64.51-develop
>
>
> In both cases there's a '...failed updating 2 targets...' message.
> Found no other errors.
> Am I missing something?
>

  I think I see what's going on.  It seems that
msvc.link produces a .PDB file in addition to
the exe and the pdb is not marked as FAIL_EXPECTED,
so there's always an error one way or the other.
Now, to figure out how this passed my tests...
(Notice that the 2 targets that fail with `link`
are  not the same 2 targets that fail with
`link-fail`)

In Christ,
Steven Watanabe
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Recent commits broke the link-fail testing on Windows

Boost - Build mailing list
In reply to this post by Boost - Build mailing list
AMDG

On 01/15/2018 03:37 PM, Antony Polukhin wrote:

> 2018-01-15 18:36 GMT+03:00 Steven Watanabe via Boost-build
> <[hidden email]>:
> <...>
>> Just to validate, I changed link-fail to link and it passed.
>
> I've also changed the `link-fail` to `link` and it failed:
> Commit https://github.com/apolukhin/type_index/commit/5bc4f54183b1e37da0623af6f77a65f4c76bcaa9
> CI run https://ci.appveyor.com/project/apolukhin/type-index/build/1.64.50-develop
>
> Then I restored the `link-fail`, and the build still fails:
> Commit: https://github.com/apolukhin/type_index/commit/727cdadc86cd63d86420f70ffc00c39edb1dc2be
> CI run https://ci.appveyor.com/project/apolukhin/type-index/build/1.64.51-develop
>
>
> In both cases there's a '...failed updating 2 targets...' message.
> Found no other errors.
> Am I missing something?
>
>

  The output is wrong, but the exit status is correct.
It looks like you fixed one of the failures.  When
you fix link_fail_rtti_nortti as well, the exit status
should be 0.  I'll see what I can do about the output,
but for now, you can just ignore errors where the
'...failed' line names the .pdb file.

In Christ,
Steven Watanabe
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Recent commits broke the link-fail testing on Windows

Boost - Build mailing list
In reply to this post by Boost - Build mailing list
AMDG

On 01/14/2018 02:25 PM, Antony Polukhin via Boost-build wrote:

> I've started receiving "Tests failed" warnings from CI recently.
> Here's an example:
> https://ci.appveyor.com/project/apolukhin/type-index/build/1.64.45-develop
>
> All the the tests passed (including tests that must fail to link), but
> there's a message "...failed updating 2 targets..." and return code is
> not 0.
>
> Looks like the issue is related to link-fail targets in tests
> https://github.com/boostorg/type_index/blob/develop/test/Jamfile.v2#L57-L59
>

  I don't think the changes broke link-fail with msvc, as it
never worked in the first place.  Anyway, I think I've fixed
the current issues.

In Christ,
Steven Watanabe
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Recent commits broke the link-fail testing on Windows

Boost - Build mailing list


On Jan 16, 2018 18:15, "Steven Watanabe via Boost-build" <[hidden email]> wrote:
AMDG

On 01/14/2018 02:25 PM, Antony Polukhin via Boost-build wrote:
> I've started receiving "Tests failed" warnings from CI recently.
<...>
  I don't think the changes broke link-fail with msvc, as it
never worked in the first place.  Anyway, I think I've fixed
the current issues.

Not sure that all the issues were fixed. The following revision was passing on previous versions of Boost.Build but now it fails https://ci.appveyor.com/project/apolukhin/type-index/build/1.64.55-develop

I'm 99% sure that this revision of TypeIndex is correct and tests were working as expected.


_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Recent commits broke the link-fail testing on Windows

Boost - Build mailing list
AMDG

On 01/17/2018 01:07 PM, Antony Polukhin wrote:

> On Jan 16, 2018 18:15, "Steven Watanabe via Boost-build" <
> [hidden email]> wrote:
>
> On 01/14/2018 02:25 PM, Antony Polukhin via Boost-build wrote:
>> I've started receiving "Tests failed" warnings from CI recently.
>
> <...>
>
>   I don't think the changes broke link-fail with msvc, as it
> never worked in the first place.  Anyway, I think I've fixed
> the current issues.
>
>
> Not sure that all the issues were fixed. The following revision was passing
> on previous versions of Boost.Build but now it fails
> https://ci.appveyor.com/project/apolukhin/type-index/build/1.64.55-develop
>
> I'm 99% sure that this revision of TypeIndex is correct and tests were
> working as expected.
>

  That revision is incorrect.  It should have failed, but
didn't because of bugs in the implementation of link-fail.
The original build for this revision
https://ci.appveyor.com/project/apolukhin/type-index/build/1.64.44-master
shows:

msvc.link
..\..\..\bin.v2\libs\type_index\test\link_fail_nortti_rtti.test\msvc-14.0\debug\threading-multi\link_fail_nortti_rtti.exe
msvc.manifest
..\..\..\bin.v2\libs\type_index\test\link_fail_nortti_rtti.test\msvc-14.0\debug\threading-multi\link_fail_nortti_rtti.exe
(failed-as-expected)
..\..\..\bin.v2\libs\type_index\test\link_fail_nortti_rtti.test\msvc-14.0\debug\threading-multi\link_fail_nortti_rtti.exe

which has no error messages.  (The error messages are printed
by default for FAIL_EXPECTED targets.)

In Christ,
Steven Watanabe
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build