Set DYLD_LIBRARY_PATH so the test runners can find and use the library
that was just built.
--- contrib/btorcheckmodel.py.orig	2021-05-27 19:47:11.000000000 -0500
+++ contrib/btorcheckmodel.py	2022-01-06 09:52:14.000000000 -0600
@@ -14,14 +14,15 @@
   evalstring= "%0" + str(len) + "d"
   return evalstring % int(binary)
 
-if len(sys.argv) != 4:
-  print("Usage: ./btorcheckmodel <btor-file> <btor-output-model-file> <boolector-binary>")
+if len(sys.argv) != 5:
+  print("Usage: ./btorcheckmodel <btor-file> <btor-output-model-file> <boolector-binary> <boolector-library-path>")
   sys.exit(2)
 
 pid = os.getpid();
 foutname = "/tmp/btorcheckmodel" + str(pid) +".btor"
 # get absolute path to boolector binary
 boolector = sys.argv[3]
+boolector_library_path = sys.argv[4]
 
 
 def cleanup():
@@ -206,7 +207,7 @@
 fout.write(str(id) + " root 1 -" + str(lastid) + "\n")
 fout.close()
 
-ret = os.popen (boolector + " -rwl 0 " + foutname)
+ret = os.popen ("DYLD_LIBRARY_PATH=" + boolector_library_path + " " + boolector + " -rwl 0 " + foutname)
 result = ret.readline().strip()
 if result == "sat":
   print("Invalid")
--- contrib/btorcheckmodelsmt2.sh.orig	2021-05-27 19:47:11.000000000 -0500
+++ contrib/btorcheckmodelsmt2.sh	2022-01-06 09:53:19.000000000 -0600
@@ -24,7 +24,7 @@
 do
   case $1 in
     -h|--help)
-      echo -n "usage: $(basename $0) [<option>] <infile> <model> <boolector-binary>"
+      echo -n "usage: $(basename $0) [<option>] <infile> <model> <boolector-binary> <boolector-library-path>"
       echo
       echo "  options:"
       echo "    -h, --help    print this message and exit"
@@ -46,6 +46,7 @@
 
 MODEL="$1"
 BOOLECTOR="$2"
+BOOLECTOR_LIBRARY_PATH="$3"
 
 [ -z "$BOOLECTOR" ] && die "no Boolector binary specified"
 [ ! -e "$BOOLECTOR" ] && die "given Boolector binary does not exist"
@@ -54,6 +55,7 @@
 cat $MODEL | sed 's/sat//' >> $TMPFILE
 echo "(check-sat)" >> $TMPFILE
 echo "(exit)" >> $TMPFILE
+DYLD_LIBRARY_PATH="$BOOLECTOR_LIBRARY_PATH" \
 "${BOOLECTOR}" ${TMPFILE}
 ret=$?
 if [[ $ret = 10 ]]; then
--- test/CMakeLists.txt.orig	2022-01-06 08:01:44.000000000 -0600
+++ test/CMakeLists.txt	2022-01-06 08:14:31.000000000 -0600
@@ -53,6 +53,7 @@
   target_link_libraries(test${test} GTest::gtest_main)
   set_target_properties(test${test} PROPERTIES OUTPUT_NAME test${test})
   add_test(${test} ${CMAKE_BINARY_DIR}/bin/tests/test${test})
+  set_tests_properties(${test} PROPERTIES ENVIRONMENT DYLD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib)
 endforeach()
 
 set(sat_testcases
@@ -1019,6 +1019,7 @@
       ${RUN_TEST_CASE_SCRIPT}
       ${option}
       ${BOOLECTOR_BINARY}
+      ${CMAKE_BINARY_DIR}/lib
       ${tcase}
       ${CMAKE_CURRENT_BINARY_DIR}
   )
--- test/run-test-case.py.orig	2021-05-27 19:47:11.000000000 -0500
+++ test/run-test-case.py	2022-01-06 10:14:19.000000000 -0600
@@ -47,6 +47,7 @@
     #print(sys.argv)
     ap = argparse.ArgumentParser()
     ap.add_argument('binary')
+    ap.add_argument('library_path')
     ap.add_argument('testcase')
     ap.add_argument('output_dir')
     ap.add_argument('--check-sat', action='store_true', default=False)
@@ -66,6 +67,7 @@
     print("Running test case '{}'".format(' '.join(cmd_args)))
 
     proc = subprocess.Popen(cmd_args,
+                            env={'DYLD_LIBRARY_PATH': args.library_path},
                             stdin=subprocess.PIPE,
                             stdout=subprocess.PIPE,
                             stderr=subprocess.PIPE)
--- test/test_modelgen.cpp.orig	2021-05-27 19:47:11.000000000 -0500
+++ test/test_modelgen.cpp	2022-01-06 09:56:27.000000000 -0600
@@ -13,6 +13,8 @@
 #include "btorconfig.h"
 }
 
+#include <stdlib.h>
+
 class TestModelGen : public TestFile
 {
  protected:
@@ -42,7 +44,7 @@
     std::stringstream ss_cmd;
     ss_cmd << BTOR_CONTRIB_DIR << "btorcheckmodel.py " << BTOR_OUT_DIR << name
            << ext << " " << d_log_file_name << " " << BTOR_BIN_DIR
-           << "boolector > /dev/null";
+           << "boolector " << getenv("DYLD_LIBRARY_PATH") << " > /dev/null";
     ret_val = system (ss_cmd.str ().c_str ());
     ASSERT_EQ (ret_val, 0);
 #endif
--- test/test_modelgensmt2.cpp.orig	2021-05-27 19:47:11.000000000 -0500
+++ test/test_modelgensmt2.cpp	2022-01-06 09:56:33.000000000 -0600
@@ -13,6 +13,8 @@
 #include "btorconfig.h"
 }
 
+#include <stdlib.h>
+
 class TestModelGenSMT2 : public TestFile
 {
  protected:
@@ -43,7 +45,7 @@
     std::stringstream ss_cmd;
     ss_cmd << BTOR_CONTRIB_DIR << "btorcheckmodelsmt2.sh " << BTOR_OUT_DIR
            << name << ext << " " << d_log_file_name << " " << BTOR_BIN_DIR
-           << "boolector > /dev/null";
+           << "boolector " << getenv("DYLD_LIBRARY_PATH") << " > /dev/null";
     ret_val = system (ss_cmd.str ().c_str ());
     ASSERT_EQ (ret_val, 0);
 #endif
