Commit 98d95000 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge branch 'tools-ynl-tests-adjust-makefile-to-mimic-ksft'

Jakub Kicinski says:

====================
tools: ynl: tests: adjust Makefile to mimic ksft

Make a few minor adjustments to tools/net/ynl/tests/Makefile
to align its behavior more with how real kselftests behave.
This series allows running the YNL tests in NIPA with little
extra integration effort.

If anyone already integrated these tests into their CI minor
adjustments to the integration may be needed (due to patch 2).
====================

Link: https://patch.msgid.link/20260303163504.2084981-1-kuba@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents aefa52a2 32d6fd58
Loading
Loading
Loading
Loading
+17 −13
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
# Makefile for YNL tests

TESTS := \
TEST_PROGS := \
	test_ynl_cli.sh \
	test_ynl_ethtool.sh \
# end of TESTS
# end of TEST_PROGS

all: $(TESTS)
INSTALL_PATH ?= $(DESTDIR)/usr/share/kselftest

all: $(TEST_PROGS)

run_tests:
	@for test in $(TESTS); do \
	@for test in $(TEST_PROGS); do \
		./$$test; \
	done

install: $(TESTS)
	@mkdir -p $(DESTDIR)/usr/bin
	@mkdir -p $(DESTDIR)/usr/share/kselftest
	@cp ../../../testing/selftests/kselftest/ktap_helpers.sh $(DESTDIR)/usr/share/kselftest/
	@for test in $(TESTS); do \
		name=$$(basename $$test .sh); \
install: $(TEST_PROGS)
	@mkdir -p $(INSTALL_PATH)/ynl
	@cp ../../../testing/selftests/kselftest/ktap_helpers.sh $(INSTALL_PATH)/
	@for test in $(TEST_PROGS); do \
		name=$$(basename $$test); \
		sed -e 's|^ynl=.*|ynl="ynl"|' \
		    -e 's|^ynl_ethtool=.*|ynl_ethtool="ynl-ethtool"|' \
		    -e 's|KSELFTEST_KTAP_HELPERS=.*|KSELFTEST_KTAP_HELPERS="/usr/share/kselftest/ktap_helpers.sh"|' \
		    $$test > $(DESTDIR)/usr/bin/$$name; \
		chmod +x $(DESTDIR)/usr/bin/$$name; \
		    -e 's|KSELFTEST_KTAP_HELPERS=.*|KSELFTEST_KTAP_HELPERS="$(INSTALL_PATH)/ktap_helpers.sh"|' \
		    $$test > $(INSTALL_PATH)/ynl/$$name; \
		chmod +x $(INSTALL_PATH)/ynl/$$name; \
	done
	@for test in $(TEST_PROGS); do \
		echo "ynl:$$test"; \
	done > $(INSTALL_PATH)/kselftest-list.txt

clean distclean:
	@# Nothing to clean