Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
e6f747d635
|
|||
|
9b699d7298
|
|||
|
f0eac562b3
|
|||
|
008c0624f6
|
2
Makefile
2
Makefile
@@ -114,7 +114,7 @@ build/bin/false: src/false.c build
|
|||||||
|
|
||||||
.PHONY: fileis
|
.PHONY: fileis
|
||||||
fileis: build/bin/fileis
|
fileis: build/bin/fileis
|
||||||
build/bin/fileis: src/fileis.rs build
|
build/bin/fileis: src/fileis.rs build rustlibs
|
||||||
$(RUSTC) $(RUSTFLAGS) $(RUSTLIBS) -o $@ src/fileis.rs
|
$(RUSTC) $(RUSTFLAGS) $(RUSTLIBS) -o $@ src/fileis.rs
|
||||||
|
|
||||||
.PHONY: fop
|
.PHONY: fop
|
||||||
|
|||||||
@@ -8,20 +8,20 @@
|
|||||||
|
|
||||||
.PRAGMA: command_comment
|
.PRAGMA: command_comment
|
||||||
|
|
||||||
.PHONY: scrut_tests
|
.PHONY: fileis_tests
|
||||||
scrut_tests: scrut_help scrut_options
|
fileis_tests: fileis_help fileis_options
|
||||||
|
|
||||||
.PHONY: scrut_help
|
.PHONY: fileis_help
|
||||||
scrut_help: $(BIN)/scrut
|
fileis_help: $(BIN)/fileis
|
||||||
! $(BIN)/scrut -h
|
! $(BIN)/fileis -h
|
||||||
|
|
||||||
.PHONY: scrut_options
|
.PHONY: fileis_options
|
||||||
# scrut tests file attributes, but files of a certain attribute aren't
|
# fileis tests file attributes, but files of a certain attribute aren't
|
||||||
# guaranteed to be present on a system. This test checks all of the files in
|
# guaranteed to be present on a system. This test checks all of the files in
|
||||||
# harakit and, if test(1p) says a file matches a certain attribute, then checks
|
# harakit and, if test(1p) says a file matches a certain attribute, then checks
|
||||||
# scrut.
|
# fileis.
|
||||||
# opts are space-delimited (for command splitting), sel is not
|
# opts are space-delimited (for command splitting), sel is not
|
||||||
scrut_options: $(BIN)/scrut
|
fileis_options: $(BIN)/fileis
|
||||||
set -e; \
|
set -e; \
|
||||||
opts="b c d e f g k p r s u w x L S"; \
|
opts="b c d e f g k p r s u w x L S"; \
|
||||||
sel=; \
|
sel=; \
|
||||||
@@ -30,12 +30,12 @@ scrut_options: $(BIN)/scrut
|
|||||||
for opt in $$opts; \
|
for opt in $$opts; \
|
||||||
do if ! printf "%s\n" $$sel | grep $$opt >/dev/null; then \
|
do if ! printf "%s\n" $$sel | grep $$opt >/dev/null; then \
|
||||||
if test -$$opt "$$f"; then \
|
if test -$$opt "$$f"; then \
|
||||||
if ! $(BIN)/scrut -$$opt "$$f"; \
|
if ! $(BIN)/fileis -$$opt "$$f"; \
|
||||||
then printf "[!!] scrut -%s failed on %s.\n" \
|
then printf "[!!] fileis -%s failed on %s.\n" \
|
||||||
$$opt "$$f"; \
|
$$opt "$$f"; \
|
||||||
fi; \
|
fi; \
|
||||||
sel="$$sel$$opt"; \
|
sel="$$sel$$opt"; \
|
||||||
printf "[OK] Tested scrut -%s using %s\n" \
|
printf "[OK] Tested fileis -%s using %s\n" \
|
||||||
$$opt "$$f"; \
|
$$opt "$$f"; \
|
||||||
fi; \
|
fi; \
|
||||||
fi; \
|
fi; \
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Copyright (c) 2024 DTB <trinity@trinity.moe>
|
# Copyright (c) 2024 DTB <trinity@trinity.moe>
|
||||||
# Copyright (c) 2024 Emma Tebibyte <emma@tebibyte.media>
|
# Copyright (c) 2024–2025 Emma Tebibyte <emma@tebibyte.media>
|
||||||
# SPDX-License-Identifier: FSFAP
|
# SPDX-License-Identifier: FSFAP
|
||||||
#
|
#
|
||||||
# Copying and distribution of this file, with or without modification, are
|
# Copying and distribution of this file, with or without modification, are
|
||||||
@@ -26,7 +26,7 @@ npc_args:
|
|||||||
|
|
||||||
.PHONY: npc_ascii
|
.PHONY: npc_ascii
|
||||||
# Test 0x00 to 0x7f in input; in other words, the full 7b ASCII range.
|
# Test 0x00 to 0x7f in input; in other words, the full 7b ASCII range.
|
||||||
npc_ascii: npc_ascii_controls npc_ascii_symbols npc_ascii_uppers # \
|
npc_ascii: npc_ascii_controls npc_ascii_uppers # npc_ascii_symbols \
|
||||||
# npc_ascii_lowers
|
# npc_ascii_lowers
|
||||||
|
|
||||||
.PHONY: npc_ascii_controls
|
.PHONY: npc_ascii_controls
|
||||||
@@ -63,14 +63,18 @@ npc_ascii_controls:
|
|||||||
| tail -n 1 \
|
| tail -n 1 \
|
||||||
| xargs -I out test "^K^L^M^N^O^P^Q^R^S^T^U^V^W^X^Y^Z^[^\^]^^^_"
|
| xargs -I out test "^K^L^M^N^O^P^Q^R^S^T^U^V^W^X^Y^Z^[^\^]^^^_"
|
||||||
|
|
||||||
.PHONY: npc_ascii_symbols
|
# This test is broken on Linux and will need closer inspection along with GNU
|
||||||
# ASCII 0x1f to 0x3f (^_ and symbols)
|
# xargs(1).
|
||||||
npc_ascii_symbols:
|
# .PHONY: npc_ascii_symbols
|
||||||
# shell quoting olympics
|
# # ASCII 0x1f to 0x3f (^_ and symbols)
|
||||||
awk 'BEGIN{ for (i = 31; i < 64; ++i) printf("%c", i); print }' \
|
# npc_ascii_symbols:
|
||||||
| $(BIN)/npc \
|
# # shell quoting olympics
|
||||||
| sed -e s"/\'/\\\'/g" -e 's/"/\\"/g' \
|
# c="$(awk 'BEGIN{ for (i = 31; i < 64; ++i) printf("%c", i); print }')"
|
||||||
| xargs -I out test "^_ !\"#$$%&'()*+,-./0123456789:;<=>?" = out
|
#
|
||||||
|
# printf '%s\n' "$c" | $(BIN)/npc \
|
||||||
|
# | sed -e s"/\'/\\\'/g" -e 's/"/\\"/g' \
|
||||||
|
# | tr -d '\n' \
|
||||||
|
# | xargs -I out test "^_ !\"#$$%&\'()*+,-./0123456789:;<=>?" = out
|
||||||
|
|
||||||
.PHONY: npc_ascii_uppers
|
.PHONY: npc_ascii_uppers
|
||||||
# ASCII 0x40 to 0x5f (uppercases)
|
# ASCII 0x40 to 0x5f (uppercases)
|
||||||
|
|||||||
Reference in New Issue
Block a user