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

hyperledger-labs / fabric-smart-client / 36695387394
91%

Build:
DEFAULT BRANCH: main
Ran 30 Sep 2026 09:21AM UTC
Jobs 22
Files 501
Run time 3min
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

30 Sep 2026 09:19AM UTC coverage: 88.587% (-0.03%) from 88.621%
36695387394

push

github

web-flow
refactor!: consolidate composite key helpers in pkg/utils/compose (#1958)

Composite key creation, range keys, splitting and attribute validation
were implemented five times in production code (compose, kvs,
services/rwset, core/generic/rwset, services/state) and three more times
in test helpers. The copies had drifted:

- services/rwset.CreateRangeKeysForPartialCompositeKey built its end key
  with fmt.Sprint(utf8.MaxRune), which appends the text "1114111"
  instead of U+10FFFF. A range scan over that range misses every key
  whose next byte sorts after '1', letters included.
- The SQL TTestCompositeKeys helpers (view and fabric) used
  fmt.Sprint(0), i.e. "0", as the separator, so they never stored or
  scanned real composite keys.

pkg/utils/compose now holds the only implementation and gains
CreateRangeKeysForPartialCompositeKey, SplitCompositeKey and
IsCompositeKey. kvs and services/rwset keep their exported functions as
one-line calls into compose. services/rwset.SplitCompositeKey keeps its
lenient contract (a plain key comes back unchanged, with no attributes)
because state certification and field-mapping keys depend on it; a key
without the composite namespace prefix is now always treated as plain.

The test helpers use compose directly. TTestCompositeKeys also stores a
key outside the scanned prefix and asserts it is excluded. In the kvs
tests, scanIterator duplicated resultIterator and is removed, and
mockIterator is replaced by iterators.Slice.

BREAKING CHANGE: the composite key functions in
platform/fabric/core/generic/rwset (CreateCompositeKey,
CreateRangeKeysForPartialCompositeKey, SplitCompositeKey) and in
platform/fabric/services/state (CreateCompositeKey,
CreateRangeKeysForPartialCompositeKey, MaxUnicodeRuneValue) are removed.
Use platform/fabric/services/rwset or pkg/utils/compose instead.

Fixes #1957

Signed-off-by: Marcus Brandenburger <bur@zurich.ibm.com>

36 of 37 new or added lines in 6 files covered. (97.3%)

12 existing lines in 5 files now uncovered.

28463 of 32130 relevant lines covered (88.59%)

2350.48 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
86.67
-13.33% platform/fabric/services/rwset/composite.go

Coverage Regressions

Lines Coverage ∆ File
5
84.49
-0.28% platform/view/services/comm/host/websocket/ws/multiplexed_provider.go
3
45.45
-27.27% platform/view/services/storage/driver/sql/postgres/errormapper.go
2
91.95
-1.34% platform/view/services/metrics/prometheus/provider.go
1
92.74
0.33% platform/view/services/comm/p2p.go
1
86.67
-13.33% platform/fabric/services/rwset/composite.go
Jobs
ID Job ID Ran Files Coverage
1 itest-fabric-iouhsm - 36695387394.1 30 Sep 2026 09:24AM UTC 457
39.62
GitHub Action Run
2 itest-fabric-iou-libp2p - 36695387394.2 30 Sep 2026 09:25AM UTC 457
36.54
GitHub Action Run
3 itest-fabric-twonets - 36695387394.3 30 Sep 2026 09:23AM UTC 447
29.23
GitHub Action Run
4 utest-postgres - 36695387394.4 30 Sep 2026 09:23AM UTC 492
9.77
GitHub Action Run
5 itest-fabricx-configupdate - 36695387394.5 30 Sep 2026 09:23AM UTC 479
28.42
GitHub Action Run
6 utest-extensions - 36695387394.6 30 Sep 2026 09:22AM UTC 8
52.57
GitHub Action Run
7 itest-fabric-stoprestart - 36695387394.7 30 Sep 2026 09:24AM UTC 447
31.25
GitHub Action Run
8 itest-fabricx-iou - 36695387394.8 30 Sep 2026 09:22AM UTC 479
29.36
GitHub Action Run
9 itest-fabric-atsa - 36695387394.9 30 Sep 2026 09:26AM UTC 447
43.65
GitHub Action Run
10 itest-fabric-configupdate - 36695387394.10 30 Sep 2026 09:24AM UTC 457
38.9
GitHub Action Run
11 itest-fabric-iou - 36695387394.11 30 Sep 2026 09:26AM UTC 457
40.37
GitHub Action Run
12 itest-fabric-atsachaincode - 36695387394.12 30 Sep 2026 09:23AM UTC 452
30.91
GitHub Action Run
13 itest-fabric-runtimeconfig - 36695387394.13 30 Sep 2026 09:24AM UTC 457
38.85
GitHub Action Run
14 itest-fabricx-deployment - 36695387394.14 30 Sep 2026 09:22AM UTC 479
28.43
GitHub Action Run
15 itest-fabric-events - 36695387394.15 30 Sep 2026 09:24AM UTC 452
29.02
GitHub Action Run
16 itest-fsc-stoprestart - 36695387394.16 30 Sep 2026 09:24AM UTC 242
33.29
GitHub Action Run
17 itest-fsc-pingpong - 36695387394.17 30 Sep 2026 09:24AM UTC 246
34.5
GitHub Action Run
18 itest-fabricx-multiendorsement - 36695387394.18 30 Sep 2026 09:21AM UTC 479
28.49
GitHub Action Run
19 itest-fabricx-atsa - 36695387394.19 30 Sep 2026 09:21AM UTC 479
30.69
GitHub Action Run
20 utest-root - 36695387394.20 30 Sep 2026 09:23AM UTC 492
86.17
GitHub Action Run
21 itest-fabricx-simple - 36695387394.21 30 Sep 2026 09:22AM UTC 479
27.86
GitHub Action Run
22 itest-fsc-signedpingpong - 36695387394.22 30 Sep 2026 09:22AM UTC 241
31.38
GitHub Action Run
Source Files on build 36695387394
  • Tree
  • List 501
  • Changed 39
  • Source Changed 6
  • Coverage Changed 39
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36695387394
  • 8685f516 on github
  • Prev Build on main (#36695242674)
  • Next Build on main (#36699392926)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc