tools/testing/selftests/splice/short_splice_read.sh
Source file repositories/reference/linux-study-clean/tools/testing/selftests/splice/short_splice_read.sh
File Facts
- System
- Linux kernel
- Corpus path
tools/testing/selftests/splice/short_splice_read.sh- Extension
.sh- Size
- 2823 bytes
- Lines
- 134
- Domain
- Support Tooling And Documentation
- Bucket
- tools
- Inferred role
- Support Tooling And Documentation: tools
- Status
- atlas-only
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
#
# Test for mishandling of splice() on pseudofilesystems, which should catch
# bugs like 11990a5bd7e5 ("module: Correctly truncate sysfs sections output")
#
# Since splice fallback was removed as part of the set_fs() rework, many of these
# tests expect to fail now. See https://lore.kernel.org/lkml/202009181443.C2179FB@keescook/
set -e
DIR=$(dirname "$0")
ret=0
expect_success()
{
title="$1"
shift
echo "" >&2
echo "$title ..." >&2
set +e
"$@"
rc=$?
set -e
case "$rc" in
0)
echo "ok: $title succeeded" >&2
;;
1)
echo "FAIL: $title should work" >&2
ret=$(( ret + 1 ))
;;
*)
echo "FAIL: something else went wrong" >&2
ret=$(( ret + 1 ))
;;
esac
}
expect_failure()
{
title="$1"
shift
echo "" >&2
echo "$title ..." >&2
set +e
"$@"
rc=$?
set -e
case "$rc" in
0)
echo "FAIL: $title unexpectedly worked" >&2
ret=$(( ret + 1 ))
;;
1)
echo "ok: $title correctly failed" >&2
;;
*)
echo "FAIL: something else went wrong" >&2
ret=$(( ret + 1 ))
;;
esac
}
Annotation
- Atlas domain: Support Tooling And Documentation / tools.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.