blob: fa4fbe90fc5cc92daaa3f4a66c6ce76d09c67a6f [file] [log] [blame]
Joey Armstrong5c135fe2024-03-25 16:45:55 -04001# -*- makefile -*-
2# -----------------------------------------------------------------------
3# Copyright 2024 Open Networking Foundation Contributors
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http:#www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16# -----------------------------------------------------------------------
17# SPDX-FileCopyrightText: 2024 Open Networking Foundation Contributors
18# SPDX-License-Identifier: Apache-2.0
19# -----------------------------------------------------------------------
20# Intent: This test suite will validate repo:helm-repo-tools scripts
21# -----------------------------------------------------------------------
22
23null :=#
24space :=$(null) $(null)
25HIDE ?= @
26
27src = $(wildcard *.bats)
28bats := $(subst .bats,$(null),$(src))
29.PHONY: $(bats)
30
31## -----------------------------------------------------------------------
32## -----------------------------------------------------------------------
33all:
34
35## -----------------------------------------------------------------------
36## -----------------------------------------------------------------------
37.PHONY: test
38test += test-bats
39test : $(test)
40
41## -----------------------------------------------------------------------
42## -----------------------------------------------------------------------
43.PHONY: test-bats
44test-bats : $(bats)
45
46## -----------------------------------------------------------------------
47## -----------------------------------------------------------------------
48$(bats) :
49 $(HIDE)./$@.bats
50
51## -----------------------------------------------------------------------
52## Intent: Display target help
53## -----------------------------------------------------------------------
54help ::
55 @echo 'Usage: $(MAKE) [options] [target] ...'
56 @printf ' %-33.33s %s\n' \
57 'test' 'Launch available test suites'
58 @printf ' %-33.33s %s\n' 'test-bats' \
59 'Launch available BATS shell test suites'
60
61 @echo
62 @echo '[TEST: by name]'
63 @$(MAKE) --no-print-directory help-bats
64
65 @echo
66 @echo '[HELP]'
67 @printf ' %-33.33s %s\n' 'help' 'Display target usage'
68 @printf ' %-33.33s %s\n' 'help-bats' 'Display a list of test suites'
69
70## -----------------------------------------------------------------------
71## -----------------------------------------------------------------------
72help-bats := $(addprefix help--,$(bats))
73help-bats : $(help-bats)
74$(help-bats) :
75 @printf ' $(MAKE) %-33.33s %s\n' "$(lastword $(subst -,$(space),$@))" ''
76
77# [EOF]