This is a simple primer for building HTCondor; refer to BuildingHtcondorOnLinux for more in-depth build instructions.
 
-*NOTE*: Prior to 8.9.3, builds must be done IN-SOURCE if you want to run tests.  Starting in 8.9.3, out-of-source builds are acceptable (preferable!).
-
 1: Get the source code from any of the following locations:
 {code}
 git clone https://github.com/htcondor/htcondor.git
@@ -18,13 +16,13 @@
 2: Compiling the code and tests.(See {wiki: BuildingHtcondorOnLinux}
  for more details on building the code and pre-requisites)
 {code}
-cd htcondor # change directory to the root of source tree
-./configure_uw
+cd htcondor # change directory to the root of source tree..
+mkdir __build # make an out-of-source build destination
+cd __build
+../configure_uw ..
 make install
 {endcode}
 
-Prior to 8.9.3, =make tests= is also required.
-
 {subsection: Running ctest}
 
 From the build directory, after creating a release directory via =make install= (or equivalent), run:
@@ -44,60 +42,16 @@
 {code}
 # Run 20 test cases in parallel:
 ctest -j 20
-# Run all tests labelled `quick` (a bit of a misnomer in HTCondor...)
-ctest -L quick
 # Run all tests matching the regex `cmr`:
 ctest -R cmr
 {endcode}
 
-{subsection: Running Tests Prior to 8.9.3}
-
-For HTCondor 8.9.2 and prior, running tests require you to invoke the various perl scripts driectly.
-
-1: Get the source code from any of the following locations:
-{code}
-git clone ssh://emperor-02.cs.wisc.edu/p/condor/repository/CONDOR_SRC.git # git on afs
-
-# OR From
-
-git clone https://github.com/htcondor/htcondor.git # github mirror, trails behind afs git by a few hours
-
-# Source code can also be obtained from tarballs on HTCondor's website
-{endcode}
-
+{subsection: Running ctest in a docker container}
 
-2: Compiling the code and tests.(See {wiki: BuildingHtcondorOnLinux}
- for more details on building the code and pre-requisites)
-{code}
-cd CONDOR_SRC # change directory to the root of source tree
-./configure_uw
-make install
-make tests
-{endcode}
+When running the condor tests inside a docker container, the container must be started with special flags for some of the tests to work.  While we hope to fix the tests in the future, for now, starting with
 
-3: Make Personal Condor in a new directory outside the source tree (lets call the directory personal_condor)
 {code}
-cd <personal_condor>
-<absolute path to CONDOR_SRC>/release_dir/condor_install --make-personal-condor --local-dir=`pwd` # Please follow the step as is and run this command from personal_condor directory only
-{endcode}
-
-4: Change <personal_condor>/etc/condor_config as follows-
-*:: Modify RELEASE_DIR to point to <Absolute path of personal_condor>
-*:: Modify LOCAL_DIR to point to <Absolute path of personal_condor>/local.$(HOSTNAME)
-*:: Modify LOCAL_CONFIG_FILE to point to <Absolute path for personal_condor>/local.$(HOSTNAME)/condor_config.local
-
-6: Ready to run the tests!
-{code}
-source condor.sh # condor.sh is in <personal_condor>
-
-# start the personal HTCondor, needed for some tests.
-condor_master -f
-condor_who -wait:60 "NumDead > 0 || AllAlive"
-
-cd <CONDOR_SRC>/condor_tests
-./run_test.pl -d .  -t <test name>
-# for example
-# ./run_test.pl -d .  -t job_test_scheddrotation.run
+docker run --network host --hostname docker.cs.wisc.edu <rest of arguments>
 {endcode}
 
-Always run tests with run_test.pl. Tests requirements are mentioned in a special file (Test_Requirements) which indicates which tests need to have HTCondor already running before running the test. certain tests may not want to run condor or may want to change the condor's configuration file before running so they will start condor themselves.  At present, only the  BatLab glue knows how to run multiple tests. {wiki: BatLabTest}.
+is needed.  The unit_test_sinful looks for ipv6 addresses, which most docker containers do not fully support, and running with host networking fixes that problem.  Many other tests assume that hostnames are FQDNs, and will fail if the hostname of the container has no dots in it.