Пример
golang.org/x/sys v0.32.0: unix.Getpagesize
Проверенный пример — golang golang.org/x/sys v0.32.0: unix.Getpagesize. Контракт выполнен на go 1.26 · linux debian/x64 · docker и пройден.
sha256:e8e460d407e184aef961a5c52491f148a611d2d78357859f05364135e4dbbbd2
Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла.
Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди.
MIT-0
Свидетельства выполнения
Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.
- Основа свидетельства
- Подписанный контракт пройден
- Квитанции проверки
- 1
- Ключи подписи, собравшие его
- 1
Заявленная среда
go linux 24 · ubuntu · glibc 2.39 x64 go go go
Среды запусков проверки
| Окружение | Контракт | Этапы | Запуск |
|---|---|---|---|
| go 1.26 · linux debian/x64 · docker ed25519:c1973797be207ac4 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · golang@1golang:1.26@sha256:e30143be198a… |
2026-10-12 |
Кейс
HOW- Цель
- verify golang.org/x/sys/unix.Getpagesize in pkg:golang/golang.org/x/sys@v0.32.0
- Пакеты
- Символы
-
- golang.org/x/sys/unix.Getpagesize
- Окружение
- go
- Создан
- 2026-10-12T07:17:39Z
Контракт
- unix.Getpagesize returns a strictly positive integer representing the system memory page size in bytes.
- unix.Getpagesize returns a page size that is a power of 2 and at least 4096 bytes on Linux.
- unix.Getpagesize returns a value that matches the standard library os.Getpagesize and syscall.Getpagesize.
- unix.Getpagesize output can be used to calculate page-aligned buffer allocations.
Файлы
- PROMPT.md
- csx.json
- getpagesize_test.go
- go.mod
- go.sum
- spec.json
Исходный код
Clean-room public code sample — generation instructions
Write a brand-new, minimal, self-contained code sample in this clean-room directory.
Do not copy, paraphrase, or reference any existing project source. Work only from this spec.
A csx.json manifest scaffold already exists. Do not recreate it from memory. Preserve its case.goal, packages and symbols; fill its empty case.contract with exact assertions and correct its environment, commands and verifierAdapter for the files you generate.
Goal: verify golang.org/x/sys/unix.Getpagesize in pkg:golang/golang.org/x/sys@v0.32.0
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:golang/golang.org/x/sys@v0.32.0
Demonstrate these symbols/APIs:
- golang.org/x/sys/unix.Getpagesize
Rules:
- One focused purpose; the smallest project that proves the goal.
- Include a contract test (test/contract.*) that runs OFFLINE and exits 0 exactly when the goal behavior works.
- Pin every dependency with a lockfile so resolution is reproducible.
- No secrets, credentials, or tokens. No real URLs (only example.com or localhost). No absolute paths.
- No personal names, emails, company names, or project identifiers of any kind.
- No binaries and no generated output (node_modules, dist, target, venv, .git, .env).
- Keep it under 200 files and 256KB packed.
{"case":{"caseId":"case:sha256:deb5e5ec81eeeb6a36fd33148efc33d63911ea8698cd2e52109b169f64256a0d","contract":["unix.Getpagesize returns a strictly positive integer representing the system memory page size in bytes.","unix.Getpagesize returns a page size that is a power of 2 and at least 4096 bytes on Linux.","unix.Getpagesize returns a value that matches the standard library os.Getpagesize and syscall.Getpagesize.","unix.Getpagesize output can be used to calculate page-aligned buffer allocations."],"goal":"verify golang.org/x/sys/unix.Getpagesize in pkg:golang/golang.org/x/sys@v0.32.0","kind":"HOW","packages":["pkg:golang/golang.org/x/sys@v0.32.0"],"schemaVersion":1,"symbols":["golang.org/x/sys/unix.Getpagesize"]},"contractCommand":["go","test","./..."],"environment":{"arch":"x64","distro":"ubuntu","ecosystem":"golang","language":"go","libc":"glibc","libcVersion":"2.39","os":"linux","osVersionBucket":"24","packageManager":"go","runtime":"go","schemaVersion":1},"license":"MIT-0","packages":["pkg:golang/golang.org/x/sys@v0.32.0"],"schemaVersion":1,"subject":"pkg:golang/golang.org/x/sys@v0.32.0","symbols":["golang.org/x/sys/unix.Getpagesize"],"verifierAdapter":"golang@1"}
package getpagesize_test
import (
"os"
"syscall"
"testing"
"golang.org/x/sys/unix"
)
func TestGetpagesizePositiveAndPowerOfTwo(t *testing.T) {
pageSize := unix.Getpagesize()
if pageSize <= 0 {
t.Fatalf("expected positive page size, got %d", pageSize)
}
if (pageSize & (pageSize - 1)) != 0 {
t.Fatalf("expected page size to be a power of two, got %d", pageSize)
}
if pageSize < 4096 {
t.Fatalf("expected page size to be at least 4096 bytes on Linux, got %d", pageSize)
}
}
func TestGetpagesizeParityWithStdlib(t *testing.T) {
unixSize := unix.Getpagesize()
osSize := os.Getpagesize()
syscallSize := syscall.Getpagesize()
if unixSize != osSize {
t.Fatalf("unix.Getpagesize() (%d) does not match os.Getpagesize() (%d)", unixSize, osSize)
}
if unixSize != syscallSize {
t.Fatalf("unix.Getpagesize() (%d) does not match syscall.Getpagesize() (%d)", unixSize, syscallSize)
}
}
func TestGetpagesizeBufferAlignment(t *testing.T) {
pageSize := unix.Getpagesize()
numPages := 4
totalBytes := numPages * pageSize
buf := make([]byte, totalBytes)
if len(buf) != totalBytes {
t.Fatalf("expected buffer length %d, got %d", totalBytes, len(buf))
}
if len(buf)%pageSize != 0 {
t.Fatalf("buffer length %d is not a multiple of page size %d", len(buf), pageSize)
}
}
module example.com/getpagesize
go 1.23.0
require golang.org/x/sys v0.32.0
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
{
"schemaVersion": 1,
"goal": "verify golang.org/x/sys/unix.Getpagesize in pkg:golang/golang.org/x/sys@v0.32.0",
"kind": "HOW",
"packages": [
"pkg:golang/golang.org/x/sys@v0.32.0"
],
"symbols": [
"golang.org/x/sys/unix.Getpagesize"
]
}
Исходный сидер
аноним