[ https://issues.apache.org/jira/browse/PROTON-2357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17313337#comment-17313337 ]
ASF GitHub Bot commented on PROTON-2357: ---------------------------------------- DreamPearl commented on pull request #303: URL: https://github.com/apache/qpid-proton/pull/303#issuecomment-812057572 I think it's not possible to add test coverage for `i.clear(std::ios::failbit)` as if we try to make `if(!s.empty())` false then `s` has to be empty which means `if(!i.fail() && !i.bad())` will become false. Thus the targeted line can not be executed. ```cpp std::istream& operator>>(std::istream& i, url& u) { std::string s; i >> s; if (!i.fail() && !i.bad()) { if (!s.empty()) { url::impl* p = new url::impl(s); p->defaults(); u.impl_.reset(p); } else { i.clear(std::ios::failbit); // Not covered by test } } return i; } ``` I added the following code snippet in url_test.cpp to test the targeted line but it was not getting covered under test coverage. ```cpp { url u("amqp://foo:xyz/path"); std::istringstream i(" "); CHECK(false==i.fail()); i>>u; CHECK(std::string("amqp://foo:xyz/path") == std::string(u)); CHECK(true==i.fail()); } ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > [cpp] Improve test coverage in url.cpp > -------------------------------------- > > Key: PROTON-2357 > URL: https://issues.apache.org/jira/browse/PROTON-2357 > Project: Qpid Proton > Issue Type: Test > Components: cpp-binding > Reporter: Justin Ross > Assignee: Justin Ross > Priority: Major > Labels: starter > > *Assignee: Rakhi Kumari* > Url.cpp currently has 76% line coverage after running the tests. Increase > the coverage to 100% or as close as is practical. To do this, add or modify > tests in url_test.cpp. > To set up coverage builds: > # Install lcov, the code coverage tool > # Configure the build for coverage analysis: cmake > -DCMAKE_BUILD_TYPE=Coverage [...] > # Build the code: make build > # Run the tests: make test > # Generate coverage results: make coverage > # View the results at <build>/coverage_results -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org