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

Bareflank / hypervisor / 575
100%

Build:
DEFAULT BRANCH: master
Ran 11 Aug 2016 02:21PM UTC
Jobs 5
Files 142
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
575

push

travis-ci

brendank310
API Updates / Cleanup (#158)

* vCPU / Unwinder Cleanup

This is a pretty massive patch set that addresses two main issues
- The vCPU was two specific to the host-only use case
- The unwinder has bugs

The vCPU was specific to the host-only case because there was no
way for the make_vcpu function to create a vCPU that was not a
host-only vcpu. This patch corrects that issue. In addition, if
guest vCPUs are to be created, the ability to "resume" a guest
must also be provided, which this patch also has. There is still
some API changes that are needed. For example, we need a way to
send a void * to the make_vcpu function so that there is a way
to tell make_vcpu which type of vcpu to create.

While developing this patch, a couple issues with the unwinder
were discovered, one really big one being that we were using
C style casts in a LOT of the code. This patch hopefully
removes the bulk of them (and hopefully a static analysis tool
can find the rest if any). There was also an issue with the
way we were passing flags to libcxx and libcxxabi that caused
instabilities. Finally, we discovered that libcxx will simply
abort if the unwinder fails on a noexcept (duh), but some
of these failures should gracefully exit, and not hang the
system. As a result, functions need to be labeled noexcept
were it makes sense, and try catch blocks were added to
prevent system hangs.

Signed-off-by: “Rian <“rianquinn@gmail.com”>

* Coveralls / Unit Test Coverage

This patch provides coveralls support which can be used to
identify what % of the code is actually unit tested. This
patch attempts to get to 100% coverage, but leaves out
coverage checks for:

- VMCS
- Unwinder

The unwinder is extremely difficult to unit test completely
as this would require fake FDEs which would not be pretty.
Instead, the unit test attmepts to validate that the unwinder
works from the top level API which is "throw" from different
situations.

The VMCS class needs some additional work to be testable as
it currently calls vmread / vmwrite and read_msr way, way
too much, which not only causes performance issues, but also
causes issues with unit testing as the intrinsics class
needs to be mocked, and tons of calls makes the unit test
too overspecified. Future patches will address this problem.

Signed-off-by: “Rian <“rianquinn@gmail.com”>

10154 of 10154 relevant lines covered (100.0%)

13529.07 hits per line

Jobs
ID Job ID Ran Files Coverage
1 575.1 (COMPILER=gcc_510) 11 Aug 2016 02:22PM UTC 0
100.0
Travis Job 575.1
2 575.2 (COMPILER=gcc_520) 11 Aug 2016 02:22PM UTC 0
100.0
Travis Job 575.2
3 575.3 (COMPILER=gcc_530) 11 Aug 2016 02:23PM UTC 0
100.0
Travis Job 575.3
4 575.4 (COMPILER=gcc_540) 11 Aug 2016 02:21PM UTC 0
100.0
Travis Job 575.4
5 575.5 (COMPILER=gcc_610) 11 Aug 2016 02:22PM UTC 0
100.0
Travis Job 575.5
Source Files on build 575
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #575
  • 70e21750 on github
  • Next Build on master (#576)
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