# Copyright (C) 2019-2022 The SymbiFlow Authors
#
# Use of this source code is governed by a ISC-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/ISC
#
# SPDX-License-Identifier: ISC

TESTS = get_nets \
	get_ports \
	get_cells \
	get_pins \
	get_count \
	selection_to_tcl_list

UNIT_TESTS = trim_name

include $(shell pwd)/../../Makefile_test.common

get_nets_verify = true
get_ports_verify = $(call diff_test,get_ports,txt)
get_cells_verify = true
get_pins_verify = $(call diff_test,get_pins,txt)
get_count_verify = true
selection_to_tcl_list_verify = $(call diff_test,selection_to_tcl_list,txt)
