41 lines
1.3 KiB
Makefile
Executable File
41 lines
1.3 KiB
Makefile
Executable File
# Copyright (c) 2024 Emma Tebibyte <emma@tebibyte.media>
|
|
# SPDX-License-Identifier: FSFAP
|
|
#
|
|
# Copying and distribution of this file, with or without modification, are
|
|
# permitted in any medium without royalty provided the copyright notice and this
|
|
# notice are preserved. This file is offered as-is, without any warranty.
|
|
|
|
.PHONY: mm_tests
|
|
mm_tests: mm_args mm_help mm_stderr mm_remaining mm_remaining_options
|
|
|
|
.PHONY: mm_none
|
|
mm_none: $(BIN)/mm
|
|
test "$$(printf 'meow\n' | $(BIN)/mm)" = meow
|
|
|
|
.PHONY: mm_args
|
|
# mm(1) will error if positional arguments are given without -i or -o
|
|
mm_args: $(BIN)/mm
|
|
! $(BIN)/mm argument
|
|
|
|
.PHONY: mm_help
|
|
mm_help: $(BIN)/mm
|
|
! $(BIN)/mm -h
|
|
|
|
.PHONY: mm_stderr
|
|
# check if stderr is empty upon specifying -e
|
|
mm_stderr: $(BIN)/mm
|
|
test "$$(printf 'test\n' | $(BIN)/mm -e 2>&1 >/dev/null )" = "test"
|
|
|
|
.PHONY: mm_remaining
|
|
# check to make sure remaining arguments are used
|
|
mm_remaining: $(BIN)/mm
|
|
test "$$($(BIN)/mm -i README COPYING)" = "$$(cat README COPYING)"
|
|
$(BIN)/mm -i README -o /tmp/mm_test0 /tmp/mm_test1
|
|
diff /tmp/mm_test0 /tmp/mm_test1
|
|
|
|
.PHONY: mm_remaining_options
|
|
# check to make sure mm -i with trailing arguments interprets -o as one
|
|
mm_remaining_options:
|
|
! $(BIN)/mm -i README COPYING -o - 2>&1 | cut -d: -f2 \
|
|
| xargs test " -o" =
|