• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

bcpearce / hass-motion-detection-addon / 21126887229

19 Jan 2026 05:54AM UTC coverage: 17.99% (-32.0%) from 49.971%
21126887229

Pull #26

github

web-flow
Merge c98d1d60e into 0206cb867
Pull Request #26: Additional test coverage

292 of 1865 branches covered (15.66%)

Branch coverage included in aggregate %.

8 of 22 new or added lines in 3 files covered. (36.36%)

827 existing lines in 29 files now uncovered.

347 of 1687 relevant lines covered (20.57%)

28.54 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/include/Util/CurlMultiWrapper.h
1
#pragma once
2

3
#include <array>
4
#include <exception>
5
#include <format>
6
#include <string_view>
7
#include <utility>
8

9
#include <curl/curl.h>
10

11
namespace util {
12

13
class CurlMultiWrapper {
14
public:
15
  class CurlMultiError : public std::runtime_error {
16
  public:
17
    using std::runtime_error::runtime_error;
18
  };
19

20
  CurlMultiWrapper() noexcept;
21
  CurlMultiWrapper(const CurlMultiWrapper &) = delete;
22
  CurlMultiWrapper &operator=(const CurlMultiWrapper &) = delete;
23
  CurlMultiWrapper(CurlMultiWrapper &&) noexcept;
24
  CurlMultiWrapper &operator=(CurlMultiWrapper &&) noexcept;
25

26
  ~CurlMultiWrapper() noexcept;
27
  CURLM *pCurl_{nullptr};
28
  CURLM *operator&() { return pCurl_; }
×
29
  operator bool() const { return bool(pCurl_); }
30

UNCOV
31
  template <typename F, typename... Ts> CURLMcode call(F func, Ts... args) {
×
UNCOV
32
    const CURLMcode res = func(pCurl_, args...);
×
UNCOV
33
    if (res != CURLMcode::CURLM_OK) {
×
34
      throw CurlMultiError(
×
35
          std::format("Error {} calling CURL MULTI function {}: {}", int(res),
×
36
                      typeid(func).name(), curl_multi_strerror(res)));
×
37
    }
UNCOV
38
    return res;
×
39
  }
40

41
  template <typename F, typename... Ts>
UNCOV
42
  inline CURLMcode operator()(F func, Ts... args) {
×
UNCOV
43
    return this->call(func, args...);
×
44
  }
45
};
46

47
} // namespace util
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc