/ tests / frontend / test_environment.sh.in
test_environment.sh.in
  1  export RESOURCEDIR=@abs_top_srcdir@/tests/frontend
  2  export OS=`uname -s`
  3  export PATH=$(atf_get_srcdir)/../../src/:${PATH}
  4  #export LD_LIBRARY_PATH=$(atf_get_srcdir)/../../libpkg/.libs/
  5  #export DYLD_LIBRARY_PATH=$(atf_get_srcdir)/../../libpkg/.libs/
  6  export INSTALL_AS_USER=yes
  7  export PKG_DBDIR=.
  8  export NO_TICK=yes
  9  export PKG_ENABLE_PLUGINS=false
 10  @if coverage
 11  export LLVM_PROFILE_FILE=/tmp/pkg.%p.profraw
 12  @endif
 13  jailed=$(sysctl -n security.jail.jailed 2>/dev/null || :)
 14  if [ "$jailed" = "1" ]; then
 15  	export JAILED="[`hostname`] "
 16  fi
 17  export PROGNAME="pkg"
 18  
 19  tests_init()
 20  {
 21  	TESTS="$@"
 22  	export TESTS
 23  	for t; do
 24  		case " ${CLEANUP:-ENOCLEANUP} " in
 25  		*\ $t\ *) atf_test_case $t cleanup ;;
 26  		*) atf_test_case $t ;;
 27  		esac
 28  	done
 29  }
 30  
 31  atf_init_test_cases() {
 32  	for t in ${TESTS}; do
 33  		atf_add_test_case $t
 34  	done
 35  }
 36  
 37  atf_skip_on() {
 38  	if [ "${OS}" = "$1" ]; then
 39  		shift
 40  		atf_skip "$@"
 41  	fi
 42  }
 43  
 44  atf_require() {
 45  	if ! command -v "$1" 2>/dev/null >/dev/null; then
 46  		shift
 47  		atf_skip "$@"
 48  	fi
 49  }
 50  
 51  
 52  q_mtime() {
 53      if [ "${OS}" = "FreeBSD" -o "${OS}" = "Darwin" ]; then
 54  	stat -f "%m" "$1"
 55      else
 56  	stat -c "%Y" "$1"
 57      fi
 58  }
 59  
 60  # helper function to obtain expected values for binaries used by the test cases
 61  
 62  bin_meta() {
 63  	local file="$1"
 64  	XABI=""
 65  	XALTABI=""
 66  	XFreeBSD_version=""
 67  	Xshlibs_provided=""
 68  	Xshlibs_required=""
 69  	case "${file}" in
 70  		*freebsd-aarch64.bin)
 71  			XABI=FreeBSD:14:aarch64
 72  			XALTABI=freebsd:14:aarch64:64
 73  			XFreeBSD_version=1401000
 74  			Xshlibs_required="libc.so.7"
 75  			;;
 76  		*freebsd-amd64.bin)
 77  			XABI=FreeBSD:14:amd64
 78  			XALTABI=freebsd:14:x86:64
 79  			XFreeBSD_version=1401000
 80  			Xshlibs_required="libc.so.7"
 81  			;;
 82  		*freebsd-armv6.bin)
 83  			XABI=FreeBSD:13:armv6
 84  			XALTABI=freebsd:13:armv6:32:el:eabi:hardfp
 85  			XFreeBSD_version=1304000
 86  			Xshlibs_required="libc.so.7 libgcc_s.so.1"
 87  			;;
 88  		*freebsd-armv7.bin)
 89  			XABI=FreeBSD:14:armv7
 90  			XALTABI=freebsd:14:armv7:32:el:eabi:hardfp
 91  			XFreeBSD_version=1401000
 92  			Xshlibs_required="libc.so.7 libgcc_s.so.1"
 93  			;;
 94  		*freebsd-i386.bin)
 95  			XABI=FreeBSD:14:i386
 96  			XALTABI=freebsd:14:x86:32
 97  			XFreeBSD_version=1401000
 98  			Xshlibs_required="libc.so.7"
 99  			;;
100  		*freebsd-powerpc.bin)
101  			XABI=FreeBSD:14:powerpc
102  			XALTABI=freebsd:14:powerpc:32:eb
103  			XFreeBSD_version=1401000
104  			Xshlibs_required="libc.so.7"
105  			;;
106  		*freebsd-powerpc64.bin)
107  			XABI=FreeBSD:14:powerpc64
108  			XALTABI=freebsd:14:powerpc:64:eb
109  			XFreeBSD_version=1401000
110  			Xshlibs_required="libc.so.7"
111  			;;
112  		*freebsd-powerpc64le.bin)
113  			XABI=FreeBSD:14:powerpc64le
114  			XALTABI=freebsd:14:powerpc:64:el
115  			XFreeBSD_version=1401000
116  			Xshlibs_required="libc.so.7"
117  			;;
118  		*freebsd-riscv64.bin)
119  			XABI=FreeBSD:14:riscv64
120  			XALTABI=freebsd:14:riscv:64:hf
121  			XFreeBSD_version=1401000
122  			Xshlibs_required="libc.so.7"
123  			;;
124  		*dfly.bin)
125  			XABI=dragonfly:5.10:x86:64
126  			XALTABI=dragonfly:5.10:x86:64
127  			Xshlibs_required="libc.so.8"
128  			;;
129  		*linux.bin)
130  			XABI=Linux:3.2:x86_64
131  			XALTABI=linux:3.2:x86_64
132  			Xshlibs_required="libc.so.6"
133  			;;
134  
135  		*macos.bin)
136  			XABI=Darwin:24:aarch64
137  			XALTABI=darwin:24:aarch64:64
138  			Xshlibs_required="libSystem.B.dylib-1351.0"
139  			;;
140  		*macos106.bin)
141  			XABI=Darwin:10:x86_64
142  			XALTABI=darwin:10:x86_64
143  			Xshlibs_required="libSystem.B.dylib-125.2.11"
144  			;;
145  		*macos150.bin)
146  			XABI=Darwin:24:x86_64
147  			XALTABI=darwin:24:x86_64
148  			Xshlibs_required="libSystem.B.dylib-1351.0"
149  			;;
150  
151  		# macosfat.bin has x86_64 as its first entry
152  		*macosfat.bin|*macosfat.bin#x86_64)
153  			XABI=Darwin:17:x86_64
154  			XALTABI=darwin:17:x86_64
155  			Xshlibs_required="libAnswer.A.dylib-1.2 libSystem.B.dylib-1319.0"
156  			;;
157  
158  		# macosfat also has an aarch64 entry
159  		*macosfat.bin#aarch64)
160  			XABI=Darwin:20:aarch64
161  			XALTABI=darwin:20:aarch64:64
162  			Xshlibs_required="libAnswer.A.dylib-1.1 libSystem.B.dylib-1319.0"
163  			;;
164  
165  		# macosfatlib.bin has x86_64 as its first entry
166  		*macosfatlib.bin|*macosfatlib.bin#x86_64)
167  			XABI=Darwin:17:x86_64
168  			XALTABI=darwin:17:x86_64
169  			Xshlibs_provided="libAnswer.A.dylib-1.2"
170  			Xshlibs_required="libSystem.B.dylib-1319.0"
171  			;;
172  
173  		*macosfatlib.bin#aarch64)
174  			XABI=Darwin:20:aarch64
175  			XALTABI=darwin:20:aarch64:64
176  			Xshlibs_provided="libAnswer.A.dylib-1.1"
177  			Xshlibs_required="libSystem.B.dylib-1319.0"
178  			;;
179  
180  		*)
181  			echo Unknown binary $1
182  			return 1
183  			;;
184  	esac
185  	return 0
186  }