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

psafont / xen-api
80%
master: 78%

Build:
Build:
LAST BUILD BRANCH: dev/pau/stringless
DEFAULT BRANCH: master
Repo Added 27 Jun 2024 08:54AM UTC
Token 44F0QJAdTSzQb3VEzs9g3bFwpAisMNkCd regen
Build 759 Last
Files 34
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

LAST BUILD ON BRANCH dev/psafont/arg
branch: dev/psafont/arg
CHANGE BRANCH
x
Reset
Sync Branches
  • dev/psafont/arg
  • 52
  • bump
  • certdocs
  • ci
  • cifix
  • codecov-fallback
  • copam
  • dev/pau-vdi-revert-alpha
  • dev/pau/53
  • dev/pau/541
  • dev/pau/cmdliner
  • dev/pau/cross-pool-fix
  • dev/pau/errors-ha
  • dev/pau/errors-ha-master
  • dev/pau/format
  • dev/pau/ha_errs
  • dev/pau/haxn
  • dev/pau/host-ipv6
  • dev/pau/ipv6-autoconf
  • dev/pau/ipv6-autoconf-backport
  • dev/pau/listless
  • dev/pau/majmin
  • dev/pau/migracap
  • dev/pau/no-exns
  • dev/pau/nocov
  • dev/pau/ocaml54
  • dev/pau/oformat.28.1
  • dev/pau/opam
  • dev/pau/prepof28.1
  • dev/pau/quality
  • dev/pau/random-fixes
  • dev/pau/release-8.3
  • dev/pau/schemabump
  • dev/pau/smplugins
  • dev/pau/smplugins-9
  • dev/pau/snaptags
  • dev/pau/sr-suspend
  • dev/pau/stringless
  • dev/pau/strings
  • dev/pau/system-status
  • dev/pau/vdi-revert
  • dev/pau/vdi-revert-doc
  • dev/pau/version
  • dev/pau/zerotest
  • dev/paus/delays
  • dev/paus/platformdata
  • dev/psafont/arm64
  • dev/psafont/dcmi
  • dev/psafont/format
  • dev/psafont/makemake
  • dev/psafont/onlink
  • dev/psafont/python
  • dev/psafont/ssh-design
  • dune-mswitch
  • dune-vhd-tool
  • endcover
  • fix-pkgs
  • fixes-next
  • forkexec+
  • forktests
  • getallwhere
  • ghperms
  • gtn-check-all-changes-during-sr-scan
  • hold
  • info
  • instafix
  • last_async
  • late-licenses
  • logconn
  • makemake
  • master
  • meta
  • metacap
  • no-async
  • nosystemd
  • nowarns
  • nuuid
  • omore
  • packs
  • parops
  • pau/dev/cross-pool-fix
  • pkg-fix
  • private/mingl/CP-44103
  • private/paus/accept-rrd
  • private/paus/async-mig
  • private/paus/async_mig
  • private/paus/bashcheck
  • private/paus/console_api
  • private/paus/datasource-confusion
  • private/paus/dev/setup
  • private/paus/dns
  • private/paus/dopon
  • private/paus/duneless-release
  • private/paus/fingers-crossed
  • private/paus/forktime
  • private/paus/gencertg
  • private/paus/grandates
  • private/paus/hold-name-label
  • private/paus/ign
  • private/paus/ipmissing
  • private/paus/ipv6
  • private/paus/ipv6-hack
  • private/paus/its-about-mtime
  • private/paus/late-socket
  • private/paus/logs
  • private/paus/logsig
  • private/paus/minions
  • private/paus/netconf
  • private/paus/new-crypto
  • private/paus/new-numa
  • private/paus/nopes
  • private/paus/numa
  • private/paus/numa-claim
  • private/paus/numa-default
  • private/paus/numa-hard-feature
  • private/paus/numa-mem-metrics
  • private/paus/numa-share
  • private/paus/numa-xs8
  • private/paus/numaybe
  • private/paus/numnummaybe
  • private/paus/one-unlock
  • private/paus/op-ehm
  • private/paus/order_some_plugs
  • private/paus/osandbox
  • private/paus/paraxenopers
  • private/paus/parops
  • private/paus/parsed-pems
  • private/paus/paused-metrics
  • private/paus/pdates
  • private/paus/perfuffle
  • private/paus/pimpampem
  • private/paus/pre-numa
  • private/paus/pvhterm
  • private/paus/random-fixes
  • private/paus/scrub
  • private/paus/sd_notify
  • private/paus/smint
  • private/paus/stdless
  • private/paus/storage-errors
  • private/paus/stringy-crypto
  • private/paus/tears-in-the-rain
  • private/paus/timesout
  • private/paus/undate
  • private/paus/unknown-error
  • private/paus/upup
  • private/paus/validation
  • private/paus/vhd-cleanup
  • private/paus/xenops-long-waits
  • private/paus/xpool
  • private/paus/xs-up
  • qcheck-core
  • qgate
  • release-acquire
  • rrd-unpack
  • runs
  • sad-dco
  • scheduled-yangtze
  • stressdune
  • strip_xfm
  • test-new-setup
  • tests
  • trunc_claims
  • tryshut
  • unit-test
  • unzurich
  • up
  • utop
  • v25.1.0
  • v25.10.0
  • v25.11.0
  • v25.12.0
  • v25.13.0
  • v25.14.0
  • v25.15.0
  • v25.16.0
  • v25.17.0
  • v25.18.0
  • v25.19.0
  • xen_types

23 Jul 2025 12:09PM UTC coverage: 80.345%. First build
16470249206

push

github

psafont
xcp_service, debug, xapi_globs: avoid ad-hoc functions for splitting strings

Replace them with the functionally identical function String.split_on_char.

I checked they were functionally identical using the REPL:

```
$ let rec split_c c str =
  try
    let i = String.index str c in
    String.sub str 0 i
    :: split_c c (String.sub str (i + 1) (String.length str - i - 1))
  with Not_found -> [str]
;;
val split_c : char -> string -> string list = <fun>

$ let eq c a = split_c c a = String.split_on_char c a ;;
val eq : char -> string -> bool = <fun>

$ List.for_all (eq ' ') [""; " "; " a"; "a "; " a "; "ab"; "a b"];;
- : bool = true
```

I also tested Xstringext.split similarly, and behaves the same as split_c.

Xstringext.split_f instead avoids producing empty strings, so it can be replaced
with filtering them from the result.

Signed-off-by: Pau Ruiz Safont <pau.safont@vates.tech>

3491 of 4345 relevant lines covered (80.35%)

0.8 hits per line

Relevant lines Covered
Build:
Build:
4345 RELEVANT LINES 3491 COVERED LINES
0.8 HITS PER LINE
Source Files on dev/psafont/arg
  • Tree
  • List 34
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
16470249206 dev/psafont/arg xcp_service, debug, xapi_globs: avoid ad-hoc functions for splitting strings Replace them with the functionally identical function String.split_on_char. I checked they were functionally identical using the REPL: ``` $ let rec split_c c str = ... push 23 Jul 2025 12:12PM UTC psafont github
80.35
See All Builds (664)

Badge your Repo: xen-api

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

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

Refresh
  • Settings
  • Repo on GitHub
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