Remove old tsqa, and replace it with the new python based one.

This includes a move of the actual tests as well as a replacement of the 
jenkins script.

TS-3574


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/51ea4aa9
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/51ea4aa9
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/51ea4aa9

Branch: refs/heads/master
Commit: 51ea4aa9d81ae8d93c7e7e137cb0aca178497b01
Parents: e895bcc
Author: Thomas Jackson <jackso...@apache.org>
Authored: Thu Apr 30 13:35:57 2015 -0700
Committer: Thomas Jackson <jackso...@apache.org>
Committed: Thu Apr 30 13:39:30 2015 -0700

----------------------------------------------------------------------
 ci/jenkins/bin/tsqa.sh                         |  37 +-
 ci/new_tsqa/Makefile                           |  43 --
 ci/new_tsqa/TODO                               |   7 -
 ci/new_tsqa/files/cert.pem                     |  20 -
 ci/new_tsqa/files/ec_keys/README.rst           |  29 --
 ci/new_tsqa/files/ec_keys/ca.crt               |  12 -
 ci/new_tsqa/files/ec_keys/ca.key               |   8 -
 ci/new_tsqa/files/ec_keys/intermediate.crt     |  10 -
 ci/new_tsqa/files/ec_keys/intermediate.key     |   8 -
 ci/new_tsqa/files/ec_keys/www.example.com.pem  |  15 -
 ci/new_tsqa/files/ec_keys/www.test.com.pem     |  15 -
 ci/new_tsqa/files/key.pem                      |  28 --
 ci/new_tsqa/files/rsa_keys/README.rst          |  28 --
 ci/new_tsqa/files/rsa_keys/ca.crt              |  30 --
 ci/new_tsqa/files/rsa_keys/ca.key              |  51 ---
 ci/new_tsqa/files/rsa_keys/intermediate.crt    |  29 --
 ci/new_tsqa/files/rsa_keys/intermediate.key    |  51 ---
 ci/new_tsqa/files/rsa_keys/www.example.com.pem |  52 ---
 ci/new_tsqa/files/rsa_keys/www.test.com.pem    |  52 ---
 ci/new_tsqa/requirements.txt                   |   6 -
 ci/new_tsqa/tests/helpers.py                   |  56 ---
 ci/new_tsqa/tests/test_buildoptions.py         |  61 ---
 ci/new_tsqa/tests/test_chunked.py              | 196 --------
 ci/new_tsqa/tests/test_connect_attempts.py     | 209 ---------
 ci/new_tsqa/tests/test_example.py              | 234 ----------
 ci/new_tsqa/tests/test_hostdb.py               |  86 ----
 ci/new_tsqa/tests/test_https.py                | 273 -----------
 ci/new_tsqa/tests/test_keepalive.py            | 476 --------------------
 ci/new_tsqa/tests/test_redirection.py          |  41 --
 ci/new_tsqa/tests/test_regressions.py          |  82 ----
 ci/new_tsqa/tests/test_remap.py                | 125 -----
 ci/new_tsqa/tests/test_spdy_protocol_select.py | 156 -------
 ci/tsqa/Makefile                               |  43 ++
 ci/tsqa/TODO                                   |   7 +
 ci/tsqa/files/cert.pem                         |  20 +
 ci/tsqa/files/ec_keys/README.rst               |  29 ++
 ci/tsqa/files/ec_keys/ca.crt                   |  12 +
 ci/tsqa/files/ec_keys/ca.key                   |   8 +
 ci/tsqa/files/ec_keys/intermediate.crt         |  10 +
 ci/tsqa/files/ec_keys/intermediate.key         |   8 +
 ci/tsqa/files/ec_keys/www.example.com.pem      |  15 +
 ci/tsqa/files/ec_keys/www.test.com.pem         |  15 +
 ci/tsqa/files/key.pem                          |  28 ++
 ci/tsqa/files/rsa_keys/README.rst              |  28 ++
 ci/tsqa/files/rsa_keys/ca.crt                  |  30 ++
 ci/tsqa/files/rsa_keys/ca.key                  |  51 +++
 ci/tsqa/files/rsa_keys/intermediate.crt        |  29 ++
 ci/tsqa/files/rsa_keys/intermediate.key        |  51 +++
 ci/tsqa/files/rsa_keys/www.example.com.pem     |  52 +++
 ci/tsqa/files/rsa_keys/www.test.com.pem        |  52 +++
 ci/tsqa/functions                              | 303 -------------
 ci/tsqa/requirements.txt                       |   6 +
 ci/tsqa/run_all.sh                             |  85 ----
 ci/tsqa/test-bootstrap                         |  41 --
 ci/tsqa/test-log-configuration                 |  68 ---
 ci/tsqa/test-log-refcounting                   | 112 -----
 ci/tsqa/test-multicert-loading                 |  81 ----
 ci/tsqa/test-privilege-elevation               |  83 ----
 ci/tsqa/test-server-intercept                  |  80 ----
 ci/tsqa/test-ssl-certificates                  | 153 -------
 ci/tsqa/test-trafficline-metrics               |  56 ---
 ci/tsqa/tests/helpers.py                       |  57 +++
 ci/tsqa/tests/test_buildoptions.py             |  61 +++
 ci/tsqa/tests/test_chunked.py                  | 196 ++++++++
 ci/tsqa/tests/test_connect_attempts.py         | 209 +++++++++
 ci/tsqa/tests/test_example.py                  | 234 ++++++++++
 ci/tsqa/tests/test_hostdb.py                   |  86 ++++
 ci/tsqa/tests/test_https.py                    | 273 +++++++++++
 ci/tsqa/tests/test_keepalive.py                | 476 ++++++++++++++++++++
 ci/tsqa/tests/test_redirection.py              |  41 ++
 ci/tsqa/tests/test_regressions.py              |  82 ++++
 ci/tsqa/tests/test_remap.py                    | 125 +++++
 ci/tsqa/tests/test_spdy_protocol_select.py     | 156 +++++++
 73 files changed, 2494 insertions(+), 3584 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/jenkins/bin/tsqa.sh
----------------------------------------------------------------------
diff --git a/ci/jenkins/bin/tsqa.sh b/ci/jenkins/bin/tsqa.sh
index 2de29ec..ca7f895 100755
--- a/ci/jenkins/bin/tsqa.sh
+++ b/ci/jenkins/bin/tsqa.sh
@@ -16,40 +16,11 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
 
-# This does intentionally not run the regressions, it's primarily a "build" 
test
-
-# Test if we should enable CPPAPI (only 5.0 and later for now)
-enable_cppapi="--enable-cppapi"
-test "${JOB_NAME#*-4.2.x}" != "${JOB_NAME}" && enable_cppapi=""
-
-# Where do we run this?
-TS_PREFIX="/opt/jenkins/${JOB_NAME}"
-TSQA_TSXS=${TS_PREFIX}/bin/tsxs; export TSQA_TSXS
-
-cd "${WORKSPACE}/src"
-
-rm -rf ${TS_PREFIX}
-
-# This needs to be added back when we resolve all debug build issues
-autoreconf -fi
-./configure \
-    --prefix=${TS_PREFIX} \
-    --enable-debug \
-    --enable-ccache \
-    --enable-werror \
-    --enable-experimental-plugins \
-    --enable-test-tools \
-    ${enable_cppapi}
-
-${ATS_MAKE} -j8
-${ATS_MAKE} install
-${ATS_MAKE} distclean
-
-# Run all the TSQA tests. We skip a couple since they can not succeed from the 
CI
+# Run all the TSQA tests.
+TSQA_LAYOUT_DIR="${WORKSPACE}/${BUILD_NUMBER}"
 cd ci/tsqa || exit 2
-rm -rf /tmp/test-*.[0-9]*
-./run_all.sh -e test-multicert-loading -e test-privilege-elevation
+make test
 status=$?
 
-# Exit with proper status, right now there's only one test, but still
+# Exit with proper status
 exit $status

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/Makefile
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/Makefile b/ci/new_tsqa/Makefile
deleted file mode 100644
index a46a684..0000000
--- a/ci/new_tsqa/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-.PHONY: test clean update
-
-VIRTUALENV_DIR = virtualenv
-
-# Run all tests.
-test: $(VIRTUALENV_DIR)
-       @source $(VIRTUALENV_DIR)/bin/activate && 
$(VIRTUALENV_DIR)/bin/nosetests -sv --logging-level=INFO
-
-# Scan and list the tests.
-list: $(VIRTUALENV_DIR)
-       @source $(VIRTUALENV_DIR)/bin/activate && 
$(VIRTUALENV_DIR)/bin/nosetests -v --collect-only
-
-# Construct the virtualenv.
-$(VIRTUALENV_DIR):
-       @if [ ! -d $(VIRTUALENV_DIR) ]; then\
-               virtualenv $(VIRTUALENV_DIR);\
-       fi
-       @# Update the virtualenv with your dep libraries
-       source $(VIRTUALENV_DIR)/bin/activate && $(VIRTUALENV_DIR)/bin/pip 
install -r requirements.txt
-       @echo "Virtualenv ready!"
-
-# Update the virtualenv with the latest TSQA package and dependencies.
-update: $(VIRTUALENV_DIR)
-       source $(VIRTUALENV_DIR)/bin/activate && $(VIRTUALENV_DIR)/bin/pip 
install --upgrade -r requirements.txt
-
-clean:
-       rm -rf virtualenv

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/TODO
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/TODO b/ci/new_tsqa/TODO
deleted file mode 100644
index c01205b..0000000
--- a/ci/new_tsqa/TODO
+++ /dev/null
@@ -1,7 +0,0 @@
-# TODO list for tsqa
-
-- runtests script
-    - run specific things within the virtualenv
-    - package up output from specific tests in a relocateable way
-- Documentation/Examples of TSQA framework
-- pylint for test cases

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/cert.pem
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/cert.pem b/ci/new_tsqa/files/cert.pem
deleted file mode 100644
index fcac091..0000000
--- a/ci/new_tsqa/files/cert.pem
+++ /dev/null
@@ -1,20 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDVzCCAj+gAwIBAgIJAOY9Arrh4/IgMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNV
-BAYTAlhYMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxHDAaBgNVBAoME0RlZmF1bHQg
-Q29tcGFueSBMdGQwHhcNMTUwMTIyMDE1MjU3WhcNMTUwMjIxMDE1MjU3WjBCMQsw
-CQYDVQQGEwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5MRwwGgYDVQQKDBNEZWZh
-dWx0IENvbXBhbnkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
-08GU61mR18JO9X20utgemoeeYyKx+LXZYQBc0cKwHzZIiYfokwCkCNekMjZ87DT2
-+++8lBf3PatSgtA8/xanr8+TTDbKPehqdItDAy9e/xYgPBz9RXHuBUeOw+CPxt2e
-aGrGwy6ybW3jne/+vm73wn+ZzldpwGGXwIQAS9lFqtmisx/DftL8fhzpfp/uIU/K
-Y33iMiPpEHi8CHrOsaREl787ipKoqfxs+d1JNTHu1I+wJKgppOrtyjF1AjYDmrRg
-RO8rJqIaUKS+8teV2KazwfdPkgNyaoZO7NCPPEjWkbp2c+2AJQqCSyZmJ63idgkR
-msaSjRx45vJPOU/KFVHLuQIDAQABo1AwTjAdBgNVHQ4EFgQUtL1CTVRABxDQVbZy
-WwOZWMCs08QwHwYDVR0jBBgwFoAUtL1CTVRABxDQVbZyWwOZWMCs08QwDAYDVR0T
-BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAComsgXv9V7utk6yY1XV+rtjZmyRV
-758Jjzb2sqqVtw8jtEvdiO6rK+Chb49cAcBGJFHZL2/CJ6BWSOf79fLj/IGKC/nX
-UBz0dxrlg9x/KR/Jtp0qqQXIw/HT/NvaytYxMIBKqkmjG+kWiPn61dvwFjIERPOb
-xM4lHhaO/PKWDDVx6Sf7UzMalmwFjaGQFXCNM5dfqvdqDYYrbZwEWuqmxNy1sZBY
-SfY7Tyz6OP9NnlgtWRAITPqBS2kx/MVCGd2TtzJcJDxKK67tr0QFenGtXSZy555Q
-bNKjXKVWiHrVCEgttPri22o7Ax1Q6FpLHMXDIiveUl6aXq4ulNzRqXpmaw==
------END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/ec_keys/README.rst
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/ec_keys/README.rst 
b/ci/new_tsqa/files/ec_keys/README.rst
deleted file mode 100644
index c3dd1e1..0000000
--- a/ci/new_tsqa/files/ec_keys/README.rst
+++ /dev/null
@@ -1,29 +0,0 @@
-All of these certificates are self-signed and are *not* secure. They are 
intended
-only for use in testing.
-
-Try to use existing certs if possible rather than generating your own.
-
-# generated using (make sure to set "hostname"):
-openssl ecparam -name prime256v1 -genkey -out key.pem
-openssl req -new -x509 -key key.pem -out cert.pem
-
-
-## Since we want to verify all of the certificate verification, we need to 
generate
-## our own CA and intermediate CA
-# Create CA
-openssl ecparam -name prime256v1 -genkey -out ca.key
-openssl req -new -x509 -nodes -sha1 -days 1825 -key ca.key -out ca.crt
-
-# Create Intermediate
-openssl ecparam -name prime256v1 -genkey -out intermediate.key
-openssl req -new -sha1 -key intermediate.key -out intermediate.csr
-
-# CA signs Intermediate
-openssl x509 -req -days 1825 -in intermediate.csr -CA ca.crt -CAkey ca.key 
-set_serial 01 -out intermediate.crt
-
-# Create Server
-openssl ecparam -name prime256v1 -genkey -out www.example.com.key
-openssl req -new -key test.example.com.key -out test.example.com.csr
-
-# Intermediate signs Server
-openssl x509 -req -days 1825 -in test.example.com.csr -CA intermediate.crt 
-CAkey intermediate.key -set_serial 01 -out test.example.com.crt

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/ec_keys/ca.crt
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/ec_keys/ca.crt b/ci/new_tsqa/files/ec_keys/ca.crt
deleted file mode 100644
index a70f990..0000000
--- a/ci/new_tsqa/files/ec_keys/ca.crt
+++ /dev/null
@@ -1,12 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIByDCCAW6gAwIBAgIJAP0vC/lirtMJMAkGByqGSM49BAEwQTELMAkGA1UEBhMC
-WFgxFTATBgNVBAcMDERlZmF1bHQgQ2l0eTEMMAoGA1UECgwDQVRTMQ0wCwYDVQQD
-DARyb290MB4XDTE1MDQxMzIwMTEwMloXDTIwMDQxMTIwMTEwMlowQTELMAkGA1UE
-BhMCWFgxFTATBgNVBAcMDERlZmF1bHQgQ2l0eTEMMAoGA1UECgwDQVRTMQ0wCwYD
-VQQDDARyb290MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEVRCzxLeGp2zzqqz6
-YTHRJ+sTuEzrFNUUQX/sEb4s1uceiqtTgFJ8kglWGMk/3WIC09PF4aRvkXM+xVvx
-U9EcaKNQME4wHQYDVR0OBBYEFF9E7e3RCj6b4rQeNVTnNHGgRhzvMB8GA1UdIwQY
-MBaAFF9E7e3RCj6b4rQeNVTnNHGgRhzvMAwGA1UdEwQFMAMBAf8wCQYHKoZIzj0E
-AQNJADBGAiEAtKiG3JParqhQz1N+QOGKJtbgFS/qwNpK9FanbC6MOLQCIQD+heQN
-eow8AF4hAUZNYvxyhZDd5FKzF2kRdxJUGkZK8w==
------END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/ec_keys/ca.key
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/ec_keys/ca.key b/ci/new_tsqa/files/ec_keys/ca.key
deleted file mode 100644
index 275e3e9..0000000
--- a/ci/new_tsqa/files/ec_keys/ca.key
+++ /dev/null
@@ -1,8 +0,0 @@
------BEGIN EC PARAMETERS-----
-BggqhkjOPQMBBw==
------END EC PARAMETERS-----
------BEGIN EC PRIVATE KEY-----
-MHcCAQEEIKR1N01PYCnkwa07tTnZ3Ri6dsGxu/OlTmExDWS1JIt6oAoGCCqGSM49
-AwEHoUQDQgAEVRCzxLeGp2zzqqz6YTHRJ+sTuEzrFNUUQX/sEb4s1uceiqtTgFJ8
-kglWGMk/3WIC09PF4aRvkXM+xVvxU9EcaA==
------END EC PRIVATE KEY-----

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/ec_keys/intermediate.crt
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/ec_keys/intermediate.crt 
b/ci/new_tsqa/files/ec_keys/intermediate.crt
deleted file mode 100644
index 2a2fc1d..0000000
--- a/ci/new_tsqa/files/ec_keys/intermediate.crt
+++ /dev/null
@@ -1,10 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIBcTCCARcCAQEwCQYHKoZIzj0EATBBMQswCQYDVQQGEwJYWDEVMBMGA1UEBwwM
-RGVmYXVsdCBDaXR5MQwwCgYDVQQKDANBVFMxDTALBgNVBAMMBHJvb3QwHhcNMTUw
-NDEzMjAxMTQ4WhcNMjAwNDExMjAxMTQ4WjBJMQswCQYDVQQGEwJYWDEVMBMGA1UE
-BwwMRGVmYXVsdCBDaXR5MQwwCgYDVQQKDANBVFMxFTATBgNVBAMMDGludGVybWVk
-aWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCLloHhXc49EwEI94gb6186J
-zp5mHmEBD49I3pFuQwkVLu249uCsyEnjhoAlMohC/Oc/ROtvZTnujcdBZ2OBh4cw
-CQYHKoZIzj0EAQNJADBGAiEAzevMu2yohbN5dzRp5/TTxKSOrenLh56jtSJrtFai
-/wUCIQDV40abfGSiioLyb5PoyJRPa6M+AhWbK9caa2SQei+KnQ==
------END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/ec_keys/intermediate.key
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/ec_keys/intermediate.key 
b/ci/new_tsqa/files/ec_keys/intermediate.key
deleted file mode 100644
index bb1cdc5..0000000
--- a/ci/new_tsqa/files/ec_keys/intermediate.key
+++ /dev/null
@@ -1,8 +0,0 @@
------BEGIN EC PARAMETERS-----
-BggqhkjOPQMBBw==
------END EC PARAMETERS-----
------BEGIN EC PRIVATE KEY-----
-MHcCAQEEIMtffsDv9JDl4AFznb1ftzA8IqIVxA344PSpyZU6PfA/oAoGCCqGSM49
-AwEHoUQDQgAEIuWgeFdzj0TAQj3iBvrXzonOnmYeYQEPj0jekW5DCRUu7bj24KzI
-SeOGgCUyiEL85z9E629lOe6Nx0FnY4GHhw==
------END EC PRIVATE KEY-----

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/ec_keys/www.example.com.pem
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/ec_keys/www.example.com.pem 
b/ci/new_tsqa/files/ec_keys/www.example.com.pem
deleted file mode 100644
index ee31b56..0000000
--- a/ci/new_tsqa/files/ec_keys/www.example.com.pem
+++ /dev/null
@@ -1,15 +0,0 @@
------BEGIN EC PRIVATE KEY-----
-MHcCAQEEIGCAR+s6Sno+AteQgnMBOsS7sD4EbSxGN7anPQaossvkoAoGCCqGSM49
-AwEHoUQDQgAEwNOf/ym+XidKYjQg2WDM3GPK2eMbRz2VmvdB4dbzBxQ4gMYCIl2l
-2L7lLqGtmUcuUhDaOxf91hhXAfprU+qRvA==
------END EC PRIVATE KEY-----
------BEGIN CERTIFICATE-----
-MIIBfDCCASICAQEwCQYHKoZIzj0EATBJMQswCQYDVQQGEwJYWDEVMBMGA1UEBwwM
-RGVmYXVsdCBDaXR5MQwwCgYDVQQKDANBVFMxFTATBgNVBAMMDGludGVybWVkaWF0
-ZTAeFw0xNTA0MTMyMDEzMjlaFw0yMDA0MTEyMDEzMjlaMEwxCzAJBgNVBAYTAlhY
-MRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxDDAKBgNVBAoMA0FUUzEYMBYGA1UEAwwP
-d3d3LmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwNOf/ym+
-XidKYjQg2WDM3GPK2eMbRz2VmvdB4dbzBxQ4gMYCIl2l2L7lLqGtmUcuUhDaOxf9
-1hhXAfprU+qRvDAJBgcqhkjOPQQBA0kAMEYCIQCU7CxO/zdFc4BDUCHO07wVuFe7
-RyiVVJs4llEZTXoBiAIhAIwrXtE2psZBRx/TE7miPunqa+1E4IxrtWn2fkzJyJ57
------END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/ec_keys/www.test.com.pem
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/ec_keys/www.test.com.pem 
b/ci/new_tsqa/files/ec_keys/www.test.com.pem
deleted file mode 100644
index e519276..0000000
--- a/ci/new_tsqa/files/ec_keys/www.test.com.pem
+++ /dev/null
@@ -1,15 +0,0 @@
------BEGIN EC PRIVATE KEY-----
-MHcCAQEEILVRI/Y9isXZJKXwb4srPN4hjx+ZUWGmSL3cn8AEhTVQoAoGCCqGSM49
-AwEHoUQDQgAEh4NjyzcxA2B/b281cUsRHaF+yAUV4CnIhUkPQigXw10GO9lQx69w
-of7PjZkJRdeBlEMBVUcwTKEuENMZ7a3+Tw==
------END EC PRIVATE KEY-----
------BEGIN CERTIFICATE-----
-MIIBdzCCAR8CAQEwCQYHKoZIzj0EATBJMQswCQYDVQQGEwJYWDEVMBMGA1UEBwwM
-RGVmYXVsdCBDaXR5MQwwCgYDVQQKDANBVFMxFTATBgNVBAMMDGludGVybWVkaWF0
-ZTAeFw0xNTA0MTMyMDEzMzZaFw0yMDA0MTEyMDEzMzZaMEkxCzAJBgNVBAYTAlhY
-MRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxDDAKBgNVBAoMA0FUUzEVMBMGA1UEAwwM
-d3d3LnRlc3QuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEh4NjyzcxA2B/
-b281cUsRHaF+yAUV4CnIhUkPQigXw10GO9lQx69wof7PjZkJRdeBlEMBVUcwTKEu
-ENMZ7a3+TzAJBgcqhkjOPQQBA0cAMEQCIH083uGRd7b1crw6TH8paBZNeliJTiFU
-eg6lrnGEVIKpAiBtCERpWAlJhYBrR5ApPp6jSoM+Zk6YfswUSg2YR7c4Sg==
------END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/key.pem
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/key.pem b/ci/new_tsqa/files/key.pem
deleted file mode 100644
index fddcacb..0000000
--- a/ci/new_tsqa/files/key.pem
+++ /dev/null
@@ -1,28 +0,0 @@
------BEGIN PRIVATE KEY-----
-MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDTwZTrWZHXwk71
-fbS62B6ah55jIrH4tdlhAFzRwrAfNkiJh+iTAKQI16QyNnzsNPb777yUF/c9q1KC
-0Dz/Fqevz5NMNso96Gp0i0MDL17/FiA8HP1Fce4FR47D4I/G3Z5oasbDLrJtbeOd
-7/6+bvfCf5nOV2nAYZfAhABL2UWq2aKzH8N+0vx+HOl+n+4hT8pjfeIyI+kQeLwI
-es6xpESXvzuKkqip/Gz53Uk1Me7Uj7AkqCmk6u3KMXUCNgOatGBE7ysmohpQpL7y
-15XYprPB90+SA3Jqhk7s0I88SNaRunZz7YAlCoJLJmYnreJ2CRGaxpKNHHjm8k85
-T8oVUcu5AgMBAAECggEBANFqt8kNGtPDIW1c9Vh3FcUDbFtkW5e42BM7VZBItv8X
-IyOIWjTPRGpOQN87zc2YD85WaCwZi3TcsswV/szTbeDMK0MLSHVzHZzGgO5scclZ
-62Un0j5Uju1/uCv1MJueXuOq/YjX7LOWIq32Q/u3KKWcpdJP1pDgs0A8C0L3zBNK
-PjxnCO0FvJdcpqajEhtepYyTQAtWm/igWbuFgUcfZ55HTOBfBiLdACh6anbCdDJ8
-f2COFRrKu9Gn9mVyRirbyCa4B3VSj4R+WlKsc3erR2vNiEdJLd9x5OK7ZvMFHTvG
-V4BhWt3ffSBRIaVi0pIpYekWbnXjbqY6zjchiy3ruOUCgYEA6W4yBrbExJmelXCj
-dPOp5Ds/uAYaq9TkRLWzX837swPNh1+XJ9xGNgn4d5DbikN1xSdsJO/1dpwk3Uxg
-qE/tEvA2gip/DaxIcj3PfoPtFyebgZItvs5k97zGw9n0bgqoRAezzUl4Guz4AQVV
-Xz+3gICN1lFhRqxKm7Pt8Kc3D5cCgYEA6DrpLJCzOEd8qlhm6w7UGruBRA+QLACu
-zlqzkf4rw1vaXx4cP8ctoCiVWUIsPI0mD2sQvtXAPT8KzZqh3UCu1zyyochyCuVg
-C3fBQiSDtUb2Uk6u7fNFrn36oN7W/Q+sarJvIIECR1PjEGuT3eJppQgJB/VGUZqa
-OQJyTJPXaS8CgYEAskz8o0o51F3u1wEZqbxw+acUDbGD79qGncEYiUZiSqPN+uhW
-IhlL+/zzsAiS2PKcY4KwRSqRGQ89zVeIwSeD06JuUFC7iaseDz0NX/rPP49+ZaNN
-k+A9GUo1nOW/oco8KvKjMVw8BH0bFlSHmGCn/tyy+pBguEXkGzh9uANRuHMCgYAM
-TZKs2b2k7aSdIbHSIib6g5SFlo18x0x7gjKhOWX4I5WeFGpKtrKkGYJQCEFvs8qg
-ZnusoIZeuEhKPDb3EcYxgPW1vHjOOvirotyKNIUFxYynL6P01z6J0ALHIwcgwQPR
-Y0Kf5jXIsZkF9a0PxD70j0hrM4NWL2qcOpTzmaF/4QKBgFYQVrrI6YBxexKQ4J/m
-tG/OKlxef6mzrctu7RJGxzt9ag1IgOi10BMCIKCW7tfvhzzLuBiJ0imEGe+MYrau
-yIWCOVpmwcSnww8bV/25oqRxduVwZzmtZdUJbNSdiZ7jq4tsV9a8TZXts45veSFQ
-X+HWsoFkRoYLOx96mqN94/ZS
------END PRIVATE KEY-----

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/rsa_keys/README.rst
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/rsa_keys/README.rst 
b/ci/new_tsqa/files/rsa_keys/README.rst
deleted file mode 100644
index 9fb6a8d..0000000
--- a/ci/new_tsqa/files/rsa_keys/README.rst
+++ /dev/null
@@ -1,28 +0,0 @@
-All of these certificates are self-signed and are *not* secure. They are 
intended
-only for use in testing.
-
-Try to use existing certs if possible rather than generating your own.
-
-# generated using (make sure to set "hostname"):
-openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -nodes && cat 
key.pem cert.pem > keypair.pem && rm key.pem cert.pem
-
-
-## Since we want to verify all of the certificate verification, we need to 
generate
-## our own CA and intermediate CA
-# Create CA
-openssl genrsa -out ca.key 4096
-openssl req -new -x509 -nodes -sha1 -days 1825 -key ca.key -out ca.crt
-
-# Create Intermediate
-openssl genrsa -out intermediate.key 4096
-openssl req -new -sha1 -key intermediate.key -out intermediate.csr
-
-# CA signs Intermediate
-openssl x509 -req -days 1825 -in intermediate.csr -CA ca.crt -CAkey ca.key 
-set_serial 01 -out intermediate.crt
-
-# Create Server
-openssl genrsa -out test.example.com.key 4096
-openssl req -new -key test.example.com.key -out test.example.com.csr
-
-# Intermediate signs Server
-openssl x509 -req -days 1825 -in test.example.com.csr -CA intermediate.crt 
-CAkey intermediate.key -set_serial 01 -out test.example.com.crt

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/rsa_keys/ca.crt
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/rsa_keys/ca.crt 
b/ci/new_tsqa/files/rsa_keys/ca.crt
deleted file mode 100644
index b0ce838..0000000
--- a/ci/new_tsqa/files/rsa_keys/ca.crt
+++ /dev/null
@@ -1,30 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIFNzCCAx+gAwIBAgIJAL8yIx0Q66ZXMA0GCSqGSIb3DQEBBQUAMDIxCzAJBgNV
-BAYTAlhYMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxDDAKBgNVBAoMA0FUUzAeFw0x
-NTA0MTMxODQ5NTNaFw0yMDA0MTExODQ5NTNaMDIxCzAJBgNVBAYTAlhYMRUwEwYD
-VQQHDAxEZWZhdWx0IENpdHkxDDAKBgNVBAoMA0FUUzCCAiIwDQYJKoZIhvcNAQEB
-BQADggIPADCCAgoCggIBANYzN4s+B8KAbPxdpMzoVh+xsgPeauothjQq8tQmViT5
-3bnEf7zb+4Wy/7Y9CLj2CSnf6tv271OVwVQZWlDrmqr6greUePz28j3/sJ/lQ9bR
-aZOWQI3d4rgCy6UdJ6rhD2BYrZVFnIZQ5zVZu3rbUBuPwBuRQdTLOWjzcSguyg2R
-jiJ/W2/IToRjgX27cPPArhJQ2ibwsbtvqecj1lQfT5yg8WEDeeOyYwzfT4VEGm7f
-8Q4qrBKxhdRTF6LhNkVKkOM6Jvvq7ULNpSAh1+zFAfzMpPUt1T+sjObQ0HHMeh0J
-ghwOh8OAqFyMAsNdzFwjz4lSrliTMYoq6JdK0In5FUqlCt5RsKrfxsykhvUb66/R
-+a9uGboEMlce/sZcxSpnDJYOmxrecQYmEaoKhbIcJBrRqYMgyQL9X+JJfsdyKR2V
-CbSV0FjHeybpOwl76QGoZPhRy2e551uqKN0qdQMmfI3ZjZqmN1EuuOcRNKU8r0He
-AOTRZ2BssDfvs/YWgZsKoHqoLIQCGgWw1ZhsK8bhFKKBtBqbyAu995XxhJezbSAg
-57+1Icp8qmCWvCO0zxm5ckCRNICxGolT/0Mi5Cl8hmfbx9Gv4Na/KEcxpKLPy43t
-UUqfCtvGOUE/S6TWleL5YII4mI86fIOHFkAozdeokcF54lhENpcLL3R5ggRiBJ83
-AgMBAAGjUDBOMB0GA1UdDgQWBBTMx2X9hPjXNTOKTSQELEBv4pEHADAfBgNVHSME
-GDAWgBTMx2X9hPjXNTOKTSQELEBv4pEHADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
-DQEBBQUAA4ICAQCZ+B8wevb1DsA0XsGkBIHrAK2zc4u54nIhVEw/6PnJBBpV5Eha
-rKtamhyeBjKt1267SaoQIWy/os9QlEYmn2AKn7J0rxqokowr0r8jdh4nDDeCGGkb
-g7ieinIpuUr5Unpp+J+9/FXtrX1m5sXuHlMao9eTK86NoXPJgt4z4HQd1ZaEJp5s
-H60PVd93TwcIDQjbsGdpFS7LhtYSx5Np/LmrQj0tnt18AUh1SgVwvtAqiSsyhxFa
-yPBZKIsdbNQkPoaIKQovCg0cRjlRr1XAk+cfRbf8OUmS1JMs1+/b0zX0kk9xynhj
-4CUPxsVy4SnOeg95yPB8BEyvU1uxnflq3QTJsSxcePYte5ni1wx8Vbn7cJusJRYK
-LNaEFq/nkFxAlP4PTkv9mGq7ZYLqwpE9s6rPmJZc37ti0OUmLiVpqk6DtN5x/TD2
-vKeZMupGCWF71kueR4QAClEnDHe6/lKqe7CH3OuY8bA+7N0RNrEqUBJ7qnD6Frcu
-UfmrkZcIj6DWSnpfwL884WoSCkYuyYP/v+PhR5fSao3l7ZB9UQXdXYhx/Kyd3lPZ
-DKSZjOthCm1dblzKLK4VHy0dmAQdIczIXY6ztIKUY8z0poMNiyJEGeYYPf5jjxU4
-Q2u9W/ReEaza6HshFnoka4IZqlfLinWRoAt92rA+nFIShaBBimvc32kHrQ==
------END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/rsa_keys/ca.key
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/rsa_keys/ca.key 
b/ci/new_tsqa/files/rsa_keys/ca.key
deleted file mode 100644
index d892296..0000000
--- a/ci/new_tsqa/files/rsa_keys/ca.key
+++ /dev/null
@@ -1,51 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-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
------END RSA PRIVATE KEY-----

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/rsa_keys/intermediate.crt
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/rsa_keys/intermediate.crt 
b/ci/new_tsqa/files/rsa_keys/intermediate.crt
deleted file mode 100644
index eacc2b9..0000000
--- a/ci/new_tsqa/files/rsa_keys/intermediate.crt
+++ /dev/null
@@ -1,29 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIE7zCCAtcCAQEwDQYJKoZIhvcNAQEFBQAwMjELMAkGA1UEBhMCWFgxFTATBgNV
-BAcMDERlZmF1bHQgQ2l0eTEMMAoGA1UECgwDQVRTMB4XDTE1MDQxMzIwMDI0M1oX
-DTIwMDQxMTIwMDI0M1owSTELMAkGA1UEBhMCWFgxFTATBgNVBAcMDERlZmF1bHQg
-Q2l0eTEMMAoGA1UECgwDQVRTMRUwEwYDVQQDDAxpbnRlcm1lZGlhdGUwggIiMA0G
-CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDe2tfo88v44Tl9TATixb5qmBobnAy/
-oYpaX2St28qNuAC47ftkFaE+4zZIN8IeOAKkMC29ZVxOhXoNWovu4aa9PXdnmatQ
-M/vezta451JE7lVQK0q6dViGyeevBkumgQ2TD+Kj6R2uH5zHDSSVEWEJIb8rTb5i
-1pA4pF4ZLMBLAoZwrQfH9xjNZWSi7UJ0g1eYwRh5ahjl2SBRxSrH6GEUBCuI7S1o
-AvUvj0aDVXmPJEuyrkvw1u566g7DyQ242SnqdZnHVP17g1YmqCbq6qxipb6YKOke
-LBOL1zMKjdVQ3QAbw7Y7RBFcVUdUvoh4uL+IoWr+A8s99OxUhz2kEXU+gjwJtOOR
-keZGzMo9rA9cProwHC414Q++Ct0YhUAO2vTjEhnEvlJFv8cGRYT/Oifwrxny6KTA
-kC+4gwgrJgWR9DHeL814aTnotRUGLLsZAeo+O0al3/0QlN09XDFstkmn/mgaCmbF
-LN9dqwvg1gwS5Hbd+vdlguhcx5mlaI+jZp29CBwBdkkKVAns/3Tne+KpwJIsdRMp
-es+ajkFEZoOc6GVBrW/BjxQ6JBgQA6R4//eWunbMYfhkNY5l9SS1qZak1j9+qWAX
-JcSQVbUxgRSe01MzIqScc2btB8WJbi/IJp+hcdFLDzKYIolT7mRm8Xu6j3M6YF7E
-UaOuyRqoRiIr/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQCk4HQOq4A9cwmrPVk6
-vqR8CmRYiStM76RmLqX3XeVx1GybfvZzK/WYLcwInmXD4iitQflB9S0Ut0ChuLKo
-klj10wdAv6iNrRMUtmY9w8zV8GSLRHZrOo6Rd0affUNjBy79FaNypmdrydc8+M7L
-pGWKVN4qN5cOs/XLFT2TFk8davnyFOucP7kxWeNiZ38Kh8cAYYkovMpfcEJSrMGS
-musUqvAlPVZXDgBjblVHjZ2dvgRCdYFwrMxo14SALOmM1Hi7oWbX5A8uNdeoq8lB
-mwdUBpdWDm6IgJ2aiufOqBV3Mv6AUysLE+qHdP/lTHIHNc0LinuJK10F/jqbf9uY
-gzETU6HT1gQ3X3noDRB2vMMPJQOx8uQX04dfUx8WOmgwCx1X5Vc8gLhH+JbZz1PZ
-GlWgX5VGiGgLkq+rgQBLOLIe/NAnUCXPG78DttQpWMs8JjxEcgnVjLNZNAaWymAl
-U3JzmbX5UZePwEMjKSjKNDraU3Tuq+QTdPr+W2ilJEsLLPbsenc1QTNsPUv5aI8h
-LaayTP7aWMVg0QFfV1O7+vVz5ej7CO7Be7w57VWGDwBBVm81vDbeFna4RJPk2qAw
-K5wOYak0Z27v+0wBXHaceH0j45fn/lixt7FANv9NhB3krcjrUwUsooMAIsnCKAlK
-nQD8ySYdm+OGchPeRVW+MH8FPw==
------END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/rsa_keys/intermediate.key
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/rsa_keys/intermediate.key 
b/ci/new_tsqa/files/rsa_keys/intermediate.key
deleted file mode 100644
index 561765f..0000000
--- a/ci/new_tsqa/files/rsa_keys/intermediate.key
+++ /dev/null
@@ -1,51 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-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
------END RSA PRIVATE KEY-----

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/rsa_keys/www.example.com.pem
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/rsa_keys/www.example.com.pem 
b/ci/new_tsqa/files/rsa_keys/www.example.com.pem
deleted file mode 100644
index 4bc273d..0000000
--- a/ci/new_tsqa/files/rsa_keys/www.example.com.pem
+++ /dev/null
@@ -1,52 +0,0 @@
------BEGIN PRIVATE KEY-----
-MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCrS3J3uL2MNr1Q
-9zL7ODukw8UOHN4AwuWsNSDJzaswrgxtFO3VfJbCfo7CUtojoJY39783m3HnLhPA
-cFxfsSgQ0Z8TdUZYtq2I1p/eEp/A6kdQffHS4To0ueYQ8r1I6pMJTniaDi8ICD0d
-837WwbUUaxx8IhzaFNPrvSdhJb1LGPxj8YvfKvHF9rkwqpJSEAXFCKTa/H0i8wb8
-h3u4cXZmYN6aooai3SY1KGlWZtAfbgTlMMtvB3ZE3JsNNwbL4gfzxYsfXTW9QUZ2
-kT3irmB80koQjzDiW6MpxmLpvDD/NpQWSiR9TDZYCJtACwWyoxqo8gHZVqsF/rkK
-yqkg2cbJAgMBAAECggEAf/ZGtsUdZGdoGdnxDda+R6GvzZEnDy6JYJH3womP/zem
-NL7TxQ3jmbvtbaFzL/ZBAeJjyGipOGglfTby6tFu+tF9oo2TVaZyEK00lDMZgIYD
-bFAJnN2AG+9bvQF5AcWqveMPGRbLb5aoAX3rHQdr/KrfhqP9JbU1cv/FMT9+H2B7
-Spty/WJYOL6AhzN4H4YHJzfhn2e0iMfA3usu1hha84FWWAR3+Z4sphSCtY+edumT
-ygES/j5TAX7nu5Eyqe2L4natuDLXiLEbKEpqyfAg1SmTDqAiHrMtWkWv/e+tdTs8
-+DE+wPVhRCjVyjejjvsgDV/d9B805bbpq7M4eyIh+QKBgQDhHPcd+b5KZdXU/PiC
-GQ/5C9elW35t7D8gaCzLAzoxW7B/PnTmVyK+QPBsxaUNg87BxB0TTssNUulSY2nk
-TVemOe57xdJKiX7nOG+9vIZFGxlzqywMz0o6kZe3No8PAcp91K7Xr3RkXdHHwyZY
-+NDiUIeMptEnoeEbFZcv+YQ+8wKBgQDCzB/5tD6D8uGKfsiakMs5HGEsYyJNP2b5
-UQ6e1spFg1noMfc5Vj+Av5lF0AE6tELEvJe0J8z2rA9zfHC6JkY/zOGMXrILF0S7
-KSTcxfBUqeE0OUJMkDNy61lRGs5ISul0qcGU473EsBEaxi999GcqzLrB5V4CHZlJ
-EUam9SSqUwKBgQCVkcE/UWh11iO1WD9lcXGDb7LgU2I1dvqadZ0NZh+MG/exE7Zo
-NQ0Ii+0y2D9KM4F0jPEkmv2e5K/R5eu9nQXXlDY4Vr/adnCzAHR+BHzR/adziw/B
-kxkmwQWk3cM/nVkFMgLZm+IhrZRsveUEyI1BUXA+q7fcNVpzvGyvm4GasQKBgEW9
-XMlCLYuB3ht+ToV/xzIYJfYFO9eaFly2F1zomxwN7ZdCpDcD2NJYRiCHWplQxgK3
-Xjyiby/048c9ywHqCAZ5bFqb4HQ2DWZQUaE0wFkfRMA0q7bLfY/sEFsIFMgvAavB
-xstuSZdsTYNfZstaP8FD8KzQWDq7rBBLvhax90F/AoGBANNhkbNxWiUJX/+6VtRj
-u7msBgrUpYQtLkyY+13Ry8cdf+8w1die0LZ4unYjIcAS1ro+XGOc0GASc6pb5dYG
-X+RxTyZzoNazbC6JEsFx9IJLn/L0/8jsg368m1f0Dkptd2LzrLsw2zuY6wm8DrLH
-Re4GALck6zlT+rZNLuN13p5Z
------END PRIVATE KEY-----
------BEGIN CERTIFICATE-----
-MIIECTCCAfECAQEwDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCWFgxFTATBgNV
-BAcMDERlZmF1bHQgQ2l0eTEMMAoGA1UECgwDQVRTMRUwEwYDVQQDDAxpbnRlcm1l
-ZGlhdGUwHhcNMTUwNDEzMjAwNDA3WhcNMjAwNDExMjAwNDA3WjBMMQswCQYDVQQG
-EwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5MQwwCgYDVQQKDANBVFMxGDAWBgNV
-BAMMD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
-ggEBAKtLcne4vYw2vVD3Mvs4O6TDxQ4c3gDC5aw1IMnNqzCuDG0U7dV8lsJ+jsJS
-2iOgljf3vzebcecuE8BwXF+xKBDRnxN1Rli2rYjWn94Sn8DqR1B98dLhOjS55hDy
-vUjqkwlOeJoOLwgIPR3zftbBtRRrHHwiHNoU0+u9J2ElvUsY/GPxi98q8cX2uTCq
-klIQBcUIpNr8fSLzBvyHe7hxdmZg3pqihqLdJjUoaVZm0B9uBOUwy28HdkTcmw03
-BsviB/PFix9dNb1BRnaRPeKuYHzSShCPMOJboynGYum8MP82lBZKJH1MNlgIm0AL
-BbKjGqjyAdlWqwX+uQrKqSDZxskCAwEAATANBgkqhkiG9w0BAQUFAAOCAgEAGrOo
-IRDUjxt65cBR9OZSXRdnL6szAMuNHWlK0MfVtTATWXDKU9S3KjK6seo+ebyaqt1J
-nlyUZ79n6+vU5uSIDANpYQ5Z1DuV5NM2V9o2QiRqExwfgpGUcAXAi0lQ79eA2kzi
-cDgDIpbEAJTFP5/uinaRA9H4KqqfMg5m34tu44A01brb2h/czPOWxD89mKKbtS9H
-ODPkDkq3wTUG/F0RQvfFC6Na8IWkW0jijDBxuFeSbRV00GH3/wpMBcxDuIcKBJcy
-tFrXjCFKzop7djU7OuxEnqQdlgiHgQsszjnLP0k5Lz9CrNG7W+zqmYsvO6s6a94Z
-8lHuwl9GAS/IFQS+c+PsPT7uxgSfbdFHWlmOv1+p/PsPaAQ4Hu/ugga8AjMYoyHg
-V6LBCTbUK7aA3lnu6+EW3qpGve6Z2H1D+B5V8ZXLuA6ooIS80CN9xw6jFcAXcUv8
-pNw/sJDnErzRbxsOPKeLl2EjJ/1/MsQf5DNp3xPFyhv5l3oOxodICEr4eeudGmAW
-OGp21xqo7i3K8YQ6GDMPF6RVX4mOCxY5L9qf+VDLYx8AV9gFZ+VWG8we7jyruqxE
-DwetsfCtwXo5gho9p+K8VHA7nWukydBNiekPFD6S6gBu0vMZxIfW/AKolWgxmyPz
-zZhR8034yoSR6qxuh+as+JpXmw+3MypZ5G/1S54=
------END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/rsa_keys/www.test.com.pem
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/files/rsa_keys/www.test.com.pem 
b/ci/new_tsqa/files/rsa_keys/www.test.com.pem
deleted file mode 100644
index 5a0cfa7..0000000
--- a/ci/new_tsqa/files/rsa_keys/www.test.com.pem
+++ /dev/null
@@ -1,52 +0,0 @@
------BEGIN PRIVATE KEY-----
-MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDUiFw0p0JOfm/G
-0YHivkd5v5Xu5tkBWETu9NgKLr7MkEBeqb1fjkm8Gd1IsndoYh0R/tkRzdE6O+lN
-WjMgEuCtz+5zblBQ9xDMwAKI+1YhudqrwIxqXBzpyvAAZwU5EHftog/WiEDvJPM0
-XEQsx6142kgVR5NfNX6HWHOL8H86j7Yfbdd0Knu0Qv9tulC8aeBbZ+pKU0/cBCVi
-ljr8OFdrCZu1EkKIat3oBjdbEF4boh4gNSsxbX+89uW4SZYR/G4xEX4VZJLMsloG
-YOkcOLTV90+VDbbdrZsnmgQgpKBlp2NBdSx7MZQRU5De3PMBzo2uoIvmwXS9ZxtT
-Lr+/dpxZAgMBAAECggEANh1uVN3NrUzWSypnRwOqEV7t30GaOZRvIOTo6VbTsCR+
-r1vK4zzIm4N+a5c9fi+VNVLNlJHyV0CP++keoWkNGlSaY3vQKX1vIqM1Qgm0+atn
-+Vlyp1ZC6miIyaFxnAEMeE5OeBKDbiDbaBaiKUDCc8Yomnp6FMD7MZ0c9qHK027z
-DL0kYjxjVgYiDnE1fJ1ZV466IcyDnGDky2ebjjvvTI7c55tbrEc+VRZdC5Cn5Yb/
-desjXGAb5snEbdAiNqCgIG9bLw3hHWsn0wCkUPRcEMoSZ73taak54vC7cPda7/D5
-aetzsNQWCMZC5NZ74JD5kyC3xBr7TAarQ5OXsJ0DMQKBgQD8GTQdc2MHvA+4nCpp
-0Xy3J7gOCI63FWETZgw22sboqk1toF/LFQHYY40EdvEkFsqc6zTm09QK8y8G48sC
-j8pvskhO2M9EgLegzPQv6NY0pTqltI0Ye7w9I3FTKNZIJW+XokDEFFqu+lXqf80i
-BRmoUrltoS8L5XB/z5GoNMdk7QKBgQDX0mZSYdjPgTDWDSTCdEOcGB4bjAZzXDTu
-ukYhri0vuStZ51giAWUlbBnN/hlvln5bULqZFnB5svFRujTIwwevxzhSl45aiNl1
-vE8zsRS0bNeNyjjF6HX0HOEuAQtre/k+WHvEH3mnFR1Zngwbrt4CJyuadlCmj7yw
-jv/DVIyznQKBgAbmobiUqgdSLJP/ImIXK/TPj4hCz7VPToL7biYqQvunfcsccsLa
-ZlyIDRosL1mvjghRn/cZoVpTYdwsbCg7y2zXUodmA/Z6F4y9T4noM8TpKPvUP3CG
-IpcB215NZeA/thhOhrtXW0wi6isrKHBf913WNeE8Yk9PDo9RHUmfeD3ZAoGBAJGn
-t9LFopN4t0LfH/30hWSlijxBJmFYy4iKQqacbHaW28ETNxHMKz00Vb4GTZhX0vNB
-6o1C7anUsLTdnJ4ZsehZ5ZMoIbTMQycIbdOPIVAbXOaeoe4/UsvrabWoktJ5mt8O
-zIiyTWIMCADhf353Z/HACdd3HjsrKsdl2wsy1rqpAoGBAOaNsxoyw/BIn/wvkQRs
-YyYXLb8zECO17ad4M+aFsnf7yLY8i3k80JRfjqxis/yrePNuVKHiZYgEvLNBMdJi
-j3YSMgXHYSgYti73+zBcy1uVVlUR5Q2HnihFX5Ho1IAQbC+TXzUCnLOEoR/IIHIz
-+qWsoHgJD98ie3cjys0WujpH
------END PRIVATE KEY-----
------BEGIN CERTIFICATE-----
-MIIEBjCCAe4CAQEwDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCWFgxFTATBgNV
-BAcMDERlZmF1bHQgQ2l0eTEMMAoGA1UECgwDQVRTMRUwEwYDVQQDDAxpbnRlcm1l
-ZGlhdGUwHhcNMTUwNDEzMjAwNDE0WhcNMjAwNDExMjAwNDE0WjBJMQswCQYDVQQG
-EwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5MQwwCgYDVQQKDANBVFMxFTATBgNV
-BAMMDHd3dy50ZXN0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
-ANSIXDSnQk5+b8bRgeK+R3m/le7m2QFYRO702AouvsyQQF6pvV+OSbwZ3Uiyd2hi
-HRH+2RHN0To76U1aMyAS4K3P7nNuUFD3EMzAAoj7ViG52qvAjGpcHOnK8ABnBTkQ
-d+2iD9aIQO8k8zRcRCzHrXjaSBVHk181fodYc4vwfzqPth9t13Qqe7RC/226ULxp
-4Ftn6kpTT9wEJWKWOvw4V2sJm7USQohq3egGN1sQXhuiHiA1KzFtf7z25bhJlhH8
-bjERfhVkksyyWgZg6Rw4tNX3T5UNtt2tmyeaBCCkoGWnY0F1LHsxlBFTkN7c8wHO
-ja6gi+bBdL1nG1Muv792nFkCAwEAATANBgkqhkiG9w0BAQUFAAOCAgEARQSyOqxM
-ecr1SvIu65yZbOPq29343KewRs39ZbjsEbmm5SMdFs7asWHtbD6iiU3mPzqAG0Y3
-i+S98J7xwSvAnWERVNzWhymCu7MQ/mKM9WZWDRGUshFgaYpWDqjw2a/qVC54f/Ye
-OaeDqzWc96Ib0khZdE+IyqpLdclxagVHv0cJOQwqhKOkIDQGEeBTc8AA/luOnC8d
-tE9s8IwTmGpZPYY+kwGVbaLKPanONGDiZM5IyZbBgb9Dq3wL/5DXvQApid37BzHJ
-ceT/gKDQljXOSWacxCPUSNb6aut5ivfbd9w7kXdTZL9UcS+FGPNXQ2z1yu3VaqJV
-MTSfSW5KUHKVLwDsp9hvBpid8S3TpQLeGt68wXoHxvh5PMnsgdA4JxsOTTwKP/gE
-rYhockBGuftKOaRqlRn4+n/nSfLogYoD+32S6ZMBJpPuMBXODiezsP+eAb+wqrV7
-4tiKJC70YNVL7XMdmsDtxj8lcY+aouREnd2+Iutr+YrCM5ZIOKAq57Ib4qTNV3Is
-F0KDEHRBpiS9hcGYzhg39Dovc6RHc6QRqKVrfZfE3jKXfCtefcqceIsh3jH51ONI
-sudX6SOv76PMjnAj0uqF8Kw6YVzLO/MGbAyGilIXYc18GdRWL4gqj9Z9BiLuNcZU
-8AhkHaBWKOHEtVZ8ueEkRBS3I0JZZ8ZKlTM=
------END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/requirements.txt
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/requirements.txt b/ci/new_tsqa/requirements.txt
deleted file mode 100644
index 5897503..0000000
--- a/ci/new_tsqa/requirements.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-# requirements for the python virtualenv
-
-# TODO: pin a specific version
-https://github.com/apache/trafficserver-qa/archive/master.zip
-pyyaml
-pyOpenSSL

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/tests/helpers.py
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/tests/helpers.py b/ci/new_tsqa/tests/helpers.py
deleted file mode 100644
index f0aa2d9..0000000
--- a/ci/new_tsqa/tests/helpers.py
+++ /dev/null
@@ -1,56 +0,0 @@
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-import os
-import tempfile
-
-import tsqa.environment
-import tsqa.test_cases
-import tsqa.utils
-
-unittest = tsqa.utils.import_unittest()
-
-# TODO: check that the given path is relative
-def tests_file_path(path):
-    '''
-    Return the absolute path to a file with relative path "name" from 
tsqa/files
-    '''
-    base = os.path.realpath(os.path.join(__file__, '..', '..', 'files'))
-    return os.path.join(base, path)
-
-class EnvironmentCase(tsqa.test_cases.EnvironmentCase):
-    '''
-    This class will get an environment (which is unique) but won't start it
-    '''
-    @classmethod
-    def getEnv(cls):
-        '''
-        This function is responsible for returning an environment
-        '''
-        SOURCE_DIR = os.path.realpath(os.path.join(__file__, '..', '..', '..', 
'..'))
-        TMP_DIR = os.path.join(tempfile.gettempdir(), 'tsqa')
-        ef = tsqa.environment.EnvironmentFactory(SOURCE_DIR,
-                                                 os.path.join(TMP_DIR, 
'base_envs'),
-                                                 
default_configure={'enable-example-plugins': None,
-                                                                    
'enable-test-tools': None,
-                                                                    
'disable-dependency-tracking': None,
-                                                                    },
-                                                 )
-        # TODO: figure out a way to determine why the build didn't fail and
-        # not skip all build failures?
-        try:
-            return 
ef.get_environment(cls.environment_factory.get('configure'), 
cls.environment_factory.get('env'))
-        except Exception as e:
-            raise unittest.SkipTest(e)

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/tests/test_buildoptions.py
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/tests/test_buildoptions.py 
b/ci/new_tsqa/tests/test_buildoptions.py
deleted file mode 100644
index 2279062..0000000
--- a/ci/new_tsqa/tests/test_buildoptions.py
+++ /dev/null
@@ -1,61 +0,0 @@
-'''
-Test that configuration options successfully compile
-'''
-
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-import os
-import sys
-import requests
-import time
-import subprocess
-import logging
-
-import helpers
-import tsqa.test_cases
-import tsqa.utils
-
-log = logging.getLogger(__name__)
-
-class TestBuildOption(helpers.EnvironmentCase):
-    '''
-    Run the built-in traffic_server regression test suite.
-    '''
-
-    def test_buildoption(self):
-        pass
-
-class TestBuildOptionFastSDK(TestBuildOption):
-    '''Build with --enable-fast-sdk'''
-    environment_factory = { 'configure': { 'enable-fast-sdk': None }, }
-
-class TestBuildOptionDisableDiags(TestBuildOption):
-    '''Build with --disable-diags'''
-    environment_factory = { 'configure': { 'disable-diags': None }, }
-
-class TestBuildOptionDisableTests(TestBuildOption):
-    '''Build with --disable-tests'''
-    environment_factory = { 'configure': { 'disable-tests': None }, }
-
-class TestBuildOptionEnableStaticProxy(TestBuildOption):
-    '''Build with --enable-static-proxy'''
-    environment_factory = { 'configure': { 'enable-static-proxy': None }, }
-
-class TestBuildOptionEnableCxxApi(TestBuildOption):
-    '''Build with --enable-cppapi'''
-    environment_factory = { 'configure': { 'enable-cppapi': None }, }
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/tests/test_chunked.py
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/tests/test_chunked.py 
b/ci/new_tsqa/tests/test_chunked.py
deleted file mode 100644
index 9b7fdc0..0000000
--- a/ci/new_tsqa/tests/test_chunked.py
+++ /dev/null
@@ -1,196 +0,0 @@
-'''
-Test chunked request/responses
-'''
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-import os
-import requests
-import time
-import logging
-import json
-import uuid
-import socket
-
-import helpers
-
-import tsqa.test_cases
-import tsqa.utils
-import tsqa.endpoint
-
-log = logging.getLogger(__name__)
-
-import SocketServer
-class ChunkedHandler(SocketServer.BaseRequestHandler):
-    """
-    A subclass of RequestHandler which return chunked encoding optionally
-
-    /parts/sleep_time/close
-        parts: number of parts to send
-        sleep_time: time between parts
-        close: bool wether to close properly
-    """
-
-    def handle(self):
-        # Receive the data in small chunks and retransmit it
-        conn_id = uuid.uuid4().hex
-        while True:
-            data = self.request.recv(4096).strip()
-            if data:
-                log.info('sending data back to the client')
-            else:
-                log.info('Client disconnected')
-                break
-            inc_lines = data.splitlines()
-            try:
-                uri = inc_lines[0].split()[1]
-            except IndexError:
-                break
-            parts = 5  # how many things to send
-            sleep_time = 0.2  # how long to sleep between parts
-            close = True  # whether to close properly
-            if uri[1:]:  # if there is something besides /
-                uri_parts = uri[1:].split('/')
-                if len(uri_parts) >= 1:
-                    parts = int(uri_parts[0])
-                if len(uri_parts) >= 2:
-                    sleep_time = float(uri_parts[1])
-                if len(uri_parts) >= 3:
-                    close = json.loads(uri_parts[2])
-            resp = ('HTTP/1.1 200 OK\r\n'
-                    'X-Conn-Id: ' + str(conn_id) + '\r\n'
-                    'Transfer-Encoding: chunked\r\n'
-                    'Connection: keep-alive\r\n'
-                    '\r\n')
-            self.request.sendall(resp)
-            for x in xrange(0, parts):
-                self.request.sendall('{0}\r\n{1}\r\n'.format(len(str(x)), x))
-                time.sleep(sleep_time)
-            if close:
-                self.request.sendall('0\r\n\r\n')
-            else:
-                self.request.sendall('lkfjasd;lfjas;d')
-
-            time.sleep(2)
-
-class TestChunked(helpers.EnvironmentCase):
-    @classmethod
-    def setUpEnv(cls, env):
-        '''
-        This function is responsible for setting up the environment for this 
fixture
-        This includes everything pre-daemon start
-        '''
-
-        # create a socket server
-        cls.port = tsqa.utils.bind_unused_port()[1]
-        cls.server = tsqa.endpoint.SocketServerDaemon(ChunkedHandler, 
port=cls.port)
-        cls.server.start()
-        cls.server.ready.wait()
-
-        cls.configs['remap.config'].add_line('map / 
http://127.0.0.1:{0}/'.format(cls.port))
-
-        cls.configs['records.config']['CONFIG'].update({
-            'proxy.config.http.connect_attempts_timeout': 5,
-            'proxy.config.http.connect_attempts_max_retries': 0,
-            'proxy.config.http.keep_alive_enabled_in': 1,
-            'proxy.config.http.keep_alive_enabled_out': 1,
-            'proxy.config.exec_thread.limit': 1,
-            'proxy.config.exec_thread.autoconfig': 0,
-            'proxy.config.http.chunking_enabled': 1,
-        })
-
-    def test_chunked_origin(self):
-        '''
-        Test that the origin does in fact support keepalive
-        '''
-        self._client_test_chunked_keepalive(self.port)
-        self._client_test_chunked_keepalive(self.port, num_bytes=2)
-        self._client_test_chunked_keepalive(self.port, num_bytes=2, sleep=1)
-
-    def _client_test_chunked_keepalive(self,
-                                       port=None,
-                                       times=3,
-                                       num_bytes=None,
-                                       sleep=None,
-                                       ):
-        if port is None:
-            port = 
int(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports'])
-        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        s.connect(('127.0.0.1', port))
-
-        url = '/'
-        if num_bytes is not None:
-            url += str(num_bytes)
-        if sleep is not None:
-            if num_bytes is None:
-                raise Exception()
-            url += '/' + str(sleep)
-
-        request = ('GET ' + url + ' HTTP/1.1\r\n'
-                   'Host: 127.0.0.1\r\n'
-                   '\r\n')
-        uuid = None
-        # test basic
-        for x in xrange(1, times):
-            s.send(request)
-            resp = ''
-            while True:
-                response = s.recv(4096)
-                for line in response.splitlines():
-                    line = line.strip()
-                    if line.startswith('X-Conn-Id:'):
-                        r_uuid = line.replace('X-Conn-Id:', '')
-                        if uuid is None:
-                            uuid = r_uuid
-                        else:
-                            self.assertEqual(uuid, r_uuid)
-                resp += response
-                if resp.endswith('\r\n0\r\n\r\n'):
-                    break
-            for x in xrange(0, num_bytes or 4):
-                self.assertIn('1\r\n{0}\r\n'.format(x), resp)
-        s.close()
-
-    def test_chunked_basic(self):
-        url = 'http://127.0.0.1:{0}'.format(self.port)
-        ret = requests.get(url, proxies=self.proxies)
-        self.assertEqual(ret.status_code, 200)
-        self.assertEqual(ret.text.strip(), '01234')
-
-    # TODO: fix keepalive with chunked responses
-    def test_chunked_keepalive_server(self):
-        url = 'http://127.0.0.1:{0}'.format(self.port)
-        ret = requests.get(url, proxies=self.proxies)
-        conn_id = ret.headers['x-conn-id']
-        self.assertEqual(ret.status_code, 200)
-        self.assertEqual(ret.text.strip(), '01234')
-
-        # make sure that a second request works, and since we have keep-alive 
out
-        # disabled it should be a new connection
-        ret = requests.get(url, proxies=self.proxies)
-        self.assertEqual(ret.status_code, 200)
-        self.assertEqual(ret.text.strip(), '01234')
-        self.assertEqual(conn_id, ret.headers['x-conn-id'])
-
-    def test_chunked_keepalive_client(self):
-        self._client_test_chunked_keepalive()
-        self._client_test_chunked_keepalive(num_bytes=2)
-        self._client_test_chunked_keepalive(num_bytes=2, sleep=1)
-
-    def test_chunked_bad_close(self):
-        url = 'http://127.0.0.1:{0}/5/0.1/false'.format(self.port)
-        with self.assertRaises(requests.exceptions.ConnectionError):
-            ret = requests.get(url, proxies=self.proxies, timeout=2)

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/tests/test_connect_attempts.py
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/tests/test_connect_attempts.py 
b/ci/new_tsqa/tests/test_connect_attempts.py
deleted file mode 100644
index 9979e33..0000000
--- a/ci/new_tsqa/tests/test_connect_attempts.py
+++ /dev/null
@@ -1,209 +0,0 @@
-'''
-Test Origin Server Connect Attempts
-'''
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-import requests
-import time
-import logging
-import socket
-import struct
-import select
-import threading
-
-import helpers
-
-import tsqa.test_cases
-import tsqa.utils
-import tsqa.endpoint
-
-log = logging.getLogger(__name__)
-
-
-def thread_die_on_connect(sock):
-    sock.listen(0)
-    # poll
-    read_sock = select.select([sock], [], [])
-    # exit
-    sock.close()
-
-def thread_delayed_accept_after_connect(sock):
-    '''
-    Thread to sleep a decreasing amount of time before requests
-
-    sleep times: 2 -> 1 -> 0
-    '''
-    sock.listen(0)
-    sleep_time = 2
-    requests = 0
-    # poll
-    while True:
-        read_sock = select.select([sock], [], [])
-        time.sleep(sleep_time)
-        try:
-            connection, addr = sock.accept()
-            connection.send(('HTTP/1.1 200 OK\r\n'
-                    'Content-Length: {body_len}\r\n'
-                    'Content-Type: text/html; charset=UTF-8\r\n'
-                    'Connection: 
close\r\n\r\n{body}'.format(body_len=len(str(requests)), body=requests)))
-            connection.close()
-            requests += 1
-        except Exception as e:
-            print 'connection died!', e
-            pass
-        if sleep_time > 0:
-            sleep_time -= 1
-
-
-def thread_reset_after_accept(sock):
-    sock.listen(0)
-    first = True
-    requests = 0
-    while True:
-        connection, addr = sock.accept()
-        requests += 1
-        if first:
-            first = False
-            connection.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, 
struct.pack('ii', 1, 0))
-            connection.close()
-        else:
-            connection.send(('HTTP/1.1 200 OK\r\n'
-                    'Content-Length: {body_len}\r\n'
-                    'Content-Type: text/html; charset=UTF-8\r\n'
-                    'Connection: 
close\r\n\r\n{body}'.format(body_len=len(str(requests)), body=requests)))
-            connection.close()
-
-def thread_partial_response(sock):
-    sock.listen(0)
-    first = True
-    requests = 0
-    while True:
-        connection, addr = sock.accept()
-        requests += 1
-        if first:
-            connection.send('HTTP/1.1 200 OK\r\n')
-            connection.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, 
struct.pack('ii', 1, 0))
-            connection.close()
-            first = False
-        else:
-            connection.send(('HTTP/1.1 200 OK\r\n'
-                    'Content-Length: {body_len}\r\n'
-                    'Content-Type: text/html; charset=UTF-8\r\n'
-                    'Connection: 
close\r\n\r\n{body}'.format(body_len=len(str(requests)), body=requests)))
-            connection.close()
-
-
-
-class TestOriginServerConnectAttempts(helpers.EnvironmentCase):
-    @classmethod
-    def setUpEnv(cls, env):
-        '''
-        This function is responsible for setting up the environment for this 
fixture
-        This includes everything pre-daemon start
-        '''
-        cls.sock_map = {}
-        def _add_sock(name):
-            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-            sock.bind(('127.0.0.1', 0))
-            cls.sock_map[name] = sock.getsockname()[1]
-            cls.configs['remap.config'].add_line('map /{0}/ 
http://127.0.0.1:{1}/'.format(name, cls.sock_map[name]))
-            return sock
-        # create a socket where we just bind
-        _add_sock('bound')
-
-        # create a socket where we bind + listen
-        sock = _add_sock('listen')
-        sock.listen(1)
-
-        # create a bunch of special socket servers
-        sock = _add_sock('die_on_connect')
-        t = threading.Thread(target=thread_die_on_connect, args=(sock,))
-        t.daemon = True
-        t.start()
-
-        sock = _add_sock('reset_after_accept')
-        t = threading.Thread(target=thread_reset_after_accept, args=(sock,))
-        t.daemon = True
-        t.start()
-
-        sock = _add_sock('delayed_accept_after_connect')
-        t = threading.Thread(target=thread_delayed_accept_after_connect, 
args=(sock,))
-        t.daemon = True
-        t.start()
-
-        sock = _add_sock('partial_response')
-        t = threading.Thread(target=thread_partial_response, args=(sock,))
-        t.daemon = True
-        t.start()
-
-        # only add server headers when there weren't any
-        
cls.configs['records.config']['CONFIG']['proxy.config.http.response_server_enabled']
 = 2
-
-        # enable re-connects, timeout of 1s, max retires of 3
-        
cls.configs['records.config']['CONFIG']['proxy.config.http.connect_attempts_timeout']
 = 1
-        
cls.configs['records.config']['CONFIG']['proxy.config.http.connect_attempts_max_retries']
 = 3
-
-    def test_bound_origin(self):
-        '''Verify that we get 502s from an origin which just did a bind'''
-        url = 
'http://127.0.0.1:{0}/bound/s'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports'])
-        ret = requests.get(url)
-        self.assertEqual(ret.status_code, 502)
-
-    def test_listen_origin(self):
-        '''Verify that we get 502s from origins that bind + listen'''
-        url = 
'http://127.0.0.1:{0}/listen/s'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports'])
-        ret = requests.get(url)
-        self.assertEqual(ret.status_code, 502)
-
-        url = 
'http://127.0.0.1:{0}/listen/s'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports'])
-        ret = requests.get(url)
-        self.assertEqual(ret.status_code, 502)
-
-    def test_die_on_connect_origin(self):
-        '''Verify that we get 504s from origins that die_on_connect'''
-        url = 
'http://127.0.0.1:{0}/die_on_connect/s'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports'])
-        ret = requests.get(url)
-        self.assertEqual(ret.status_code, 504)
-
-    # TODO: FIX THIS!!! The test is correct, ATS isn't!
-    # we should fail in this case-- or at least have a config which lets you 
control
-    def test_partial_response_origin(self):
-        '''
-        Verify that we get 504s from origins that return a partial_response
-
-        We want to bail out-- since the origin already got the request, we 
can't
-        gaurantee that the request is re-entrant
-        '''
-        url = 
'http://127.0.0.1:{0}/partial_response/s'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports'])
-        ret = requests.get(url)
-        self.assertEqual(ret.status_code, 502)
-
-    def test_reset_after_accept_origin(self):
-        '''Verify that we get 200s from origins that reset_after_accept'''
-        url = 
'http://127.0.0.1:{0}/reset_after_accept/s'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports'])
-        ret = requests.get(url)
-        self.assertEqual(ret.status_code, 200)
-        self.assertGreater(int(ret.text), 0)
-
-    def test_delayed_accept_after_connect_origin(self):
-        '''Verify that we get 200s from origins that 
delayed_accept_after_connect'''
-        url = 
'http://127.0.0.1:{0}/delayed_accept_after_connect/s'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports'])
-        ret = requests.get(url)
-        # make sure it worked
-        self.assertEqual(ret.status_code, 200)
-        # make sure its not the first one (otherwise the test messed up 
somehow)
-        self.assertGreater(int(ret.text), 0)

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/tests/test_example.py
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/tests/test_example.py 
b/ci/new_tsqa/tests/test_example.py
deleted file mode 100644
index 0a7f468..0000000
--- a/ci/new_tsqa/tests/test_example.py
+++ /dev/null
@@ -1,234 +0,0 @@
-'''
-Some example tests of the new tsqa
-'''
-
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-import os
-import requests
-import time
-import subprocess
-
-import helpers
-
-import tsqa.test_cases
-import tsqa.utils
-
-# TODO: for some reason subclasses of subclasses of TestCase don't work with 
the
-# decorator
-#@helpers.unittest.skip('Not running TestNoOp, as it is a NoOp test')
-class TestNoOp(helpers.EnvironmentCase):
-    '''
-    This is purely a documentation test
-    '''
-    # you can set configure/environment options for the source build here
-    environment_factory = {
-        'configure': {# A value of None means that the argument has no value
-                      'enable-spdy': None,
-                      # if there is a value it will be converted to --key=value
-                      'with-max-api-stats': 2048,
-                      },
-        'env': None,
-    }
-
-    @classmethod
-    def setUpClass(cls):
-        '''
-        If you'd like to skip an entire test
-        '''
-        # you can also skip (or conditionally skip) tests
-        raise helpers.unittest.SkipTest('Skip the entire class')
-
-    @classmethod
-    def setUpEnv(cls, env):
-        '''
-        This funciton is responsible for setting up the environment for this 
fixture
-        This includes everything pre-daemon start.
-
-        You are passed in cls (which is the instance of this class) and env 
(which
-        is an environment object)
-        '''
-        # we can modify any/all configs (note: all pre-daemon start)
-        cls.configs['remap.config'].add_line('map / 
http://http://trafficserver.readthedocs.org/')
-
-        # Some configs have nicer wrapper objects to give you a more pythonic 
interface
-        cls.configs['records.config']['CONFIG'].update({
-            'proxy.config.log.squid_log_enabled': 1,
-            'proxy.config.log.squid_log_is_ascii': 1,
-        })
-
-    def test_something(self):
-        '''
-        All functions beginning with "test_" will be run as tests for the 
class.
-        Within these functions your environment is already set up and started--
-        you only need to excercise the code that you intend to test
-        '''
-        # for example, you could send a request to ATS and check the response
-        ret = 
requests.get('http://127.0.0.1:{0}/'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports']))
-
-        self.assertEqual(ret.status_code, 404)
-        self.assertIn('ATS', ret.headers['server'])
-
-
-class TestConfigureFlags(helpers.EnvironmentCase):
-    environment_factory = {
-        'configure': {'enable-spdy': None},
-    }
-
-    def test_spdy(self):
-        self.assertTrue(True)
-
-
-class TestBootstrap(helpers.EnvironmentCase):
-    def test_default_404(self):
-        ret = 
requests.get('http://127.0.0.1:{0}/'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports']))
-
-        self.assertEqual(ret.status_code, 404)
-        self.assertIn('ATS', ret.headers['server'])
-
-    def test_trafficline(self):
-        '''
-        Test that traffic_line works, and verify that the values for 
proxy.config
-        match what we put in records.config
-        '''
-        cmd = [os.path.join(self.environment.layout.bindir, 'traffic_line'),
-               '-m',
-               'proxy.config',
-               ]
-        stdout, _ = tsqa.utils.run_sync_command(cmd, stdout=subprocess.PIPE)
-        for line in stdout.splitlines():
-            if not line.strip():
-                continue
-            k, v = line.split(' ', 1)
-            if k not in self.configs['records.config']['CONFIG']:
-                continue
-            r_val = self.configs['records.config']['CONFIG'][k]
-            self.assertEqual(type(r_val)(v), 
self.configs['records.config']['CONFIG'][k])
-
-
-class TestServerIntercept(helpers.EnvironmentCase, 
tsqa.test_cases.DynamicHTTPEndpointCase):
-    endpoint_port = 60000
-    @classmethod
-    def setUpEnv(cls, env):
-        cls.configs['remap.config'].add_line('map / 
http://127.0.0.1:{0}'.format(cls.endpoint_port))
-
-        cls.configs['plugin.config'].add_line('intercept.so')
-
-        def hello(request):
-            return 'hello'
-        cls.http_endpoint.add_handler('/', hello)
-
-
-    def test_basic_intercept(self):
-        for _ in xrange(0, 10):
-            ret = 
requests.get('http://127.0.0.1:{0}/'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports']))
-
-            self.assertEqual(ret.status_code, 200)
-
-
-class TestLogs(helpers.EnvironmentCase):
-    @classmethod
-    def setUpEnv(cls, env):
-        '''
-        This funciton is responsible for setting up the environment for this 
fixture
-        This includes everything pre-daemon start
-        '''
-        # only add server headers when there weren't any
-        cls.configs['records.config']['CONFIG'].update({
-            'proxy.config.diags.debug.tags': 'log-.*',
-            'proxy.config.diags.debug.enabled': 1,
-            'proxy.config.log.hostname': 'test',
-            'proxy.config.log.search_top_sites': 1,
-        })
-    def test_logs_exist(self):
-        # send some requests
-        for x in xrange(0, 10):
-            ret = 
requests.get('http://127.0.0.1:{0}/'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports']))
-
-            self.assertEqual(ret.status_code, 404)
-            self.assertIn('ATS', ret.headers['server'])
-
-        # TODO: some better way to know when the logs where syncd
-        time.sleep(10)  # wait for logs to hit disk
-
-        # verify that the log files exist
-        for logfile in ('diags.log', 'error.log', 'squid.blog', 'traffic.out', 
'manager.log'):
-            logfile_path = os.path.join(self.environment.layout.logdir, 
logfile)
-            self.assertTrue(os.path.isfile(logfile_path), logfile_path)
-
-
-class TestLogRefCounting(tsqa.test_cases.DynamicHTTPEndpointCase, 
helpers.EnvironmentCase):
-    @classmethod
-    def setUpEnv(cls, env):
-        '''
-        This funciton is responsible for setting up the environment for this 
fixture
-        This includes everything pre-daemon start
-        '''
-        cls.configs['remap.config'].add_line('map / 
http://127.0.0.1:{0}/\n'.format(cls.http_endpoint.address[1]))
-
-        cls.configs['plugin.config'].add_lines([
-            'tcpinfo.so --log-file=tcpinfo1 
--hooks=ssn_start,txn_start,send_resp_hdr,ssn_close,txn_close --log-level=2',
-            'tcpinfo.so --log-file=tcpinfo2 
--hooks=ssn_start,txn_start,send_resp_hdr,ssn_close,txn_close --log-level=2',
-            'tcpinfo.so --log-file=tcpinfo3 
--hooks=ssn_start,txn_start,send_resp_hdr,ssn_close,txn_close --log-level=2',
-            'tcpinfo.so --log-file=tcpinfo4 
--hooks=ssn_start,txn_start,send_resp_hdr,ssn_close,txn_close --log-level=2',
-        ])
-
-        # only add server headers when there weren't any
-        cls.configs['records.config']['CONFIG'].update({
-            'proxy.config.log.max_space_mb_for_logs': 10,
-            'proxy.config.log.max_space_mb_for_orphan_logs': 10,
-            'proxy.config.log.squid_log_enabled': 1,
-            'proxy.config.log.squid_log_is_ascii': 1,
-            'proxy.config.log.rolling_interval_sec': 60,
-            'proxy.config.log.rolling_size_mb': 1,
-            'proxy.config.log.max_space_mb_headroom': 1,
-            'proxy.config.log.max_secs_per_buffer': 1,
-        })
-
-    def test_logs_exist(self):
-        # send some requests
-        for x in xrange(0, 10):
-            ret = 
requests.get('http://127.0.0.1:{0}/'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports']))
-
-            self.assertEqual(ret.status_code, 404)
-            self.assertIn('ATS', ret.headers['server'])
-
-        # TODO: some better way to know when the logs where syncd
-        time.sleep(10)  # wait for logs to hit disk
-
-        logfile_path = os.path.join(self.environment.layout.logdir, 
'squid.log')
-        self.assertTrue(os.path.isfile(logfile_path), logfile_path)
-
-
-class TestDynamicHTTPEndpointCase(tsqa.test_cases.DynamicHTTPEndpointCase, 
helpers.EnvironmentCase):
-    @classmethod
-    def setUpEnv(cls, env):
-        '''
-        This funciton is responsible for setting up the environment for this 
fixture
-        This includes everything pre-daemon start
-        '''
-        cls.configs['remap.config'].add_line('map / 
http://127.0.0.1:{0}/\n'.format(cls.http_endpoint.address[1]))
-
-        # only add server headers when there weren't any
-        
cls.configs['records.config']['CONFIG']['proxy.config.http.response_server_enabled']
 = 2
-
-    def test_basic_proxy(self):
-        ret = requests.get(self.endpoint_url('/test'),
-                           proxies=self.proxies,
-                           )
-        self.assertEqual(ret.status_code, 404)
-        self.assertIn('WSGIServer', ret.headers['server'])

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/tests/test_hostdb.py
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/tests/test_hostdb.py b/ci/new_tsqa/tests/test_hostdb.py
deleted file mode 100644
index 46bec6a..0000000
--- a/ci/new_tsqa/tests/test_hostdb.py
+++ /dev/null
@@ -1,86 +0,0 @@
-'''
-Test hostdb
-'''
-
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-import os
-import requests
-import time
-
-import helpers
-
-import tsqa.test_cases
-
-
-class TestHostDBPartiallyFailedDNS(helpers.EnvironmentCase):
-    '''
-    Tests for how hostdb handles when there is one failed and one working 
resolver
-    '''
-    @classmethod
-    def setUpEnv(cls, env):
-        resolv_conf_path = os.path.join(env.layout.prefix, 'resolv.conf')
-
-        cls.configs['records.config']['CONFIG'].update({
-            'proxy.config.http.response_server_enabled': 2,  # only add server 
headers when there weren't any
-            'proxy.config.hostdb.lookup_timeout': 1,
-            'proxy.config.dns.resolv_conf': resolv_conf_path,
-            'proxy.config.url_remap.remap_required': 0,
-
-        })
-
-        with open(resolv_conf_path, 'w') as fh:
-            fh.write('nameserver 1.1.1.0\n')  # some non-existant nameserver
-            fh.write('nameserver 8.8.8.8\n')  # some REAL nameserver
-
-    def test_working(self):
-        start = time.time()
-        ret = requests.get('http://trafficserver.readthedocs.org',
-                           proxies=self.proxies,
-                           )
-        self.assertLess(time.time() - start, 
self.configs['records.config']['CONFIG']['proxy.config.hostdb.lookup_timeout'])
-        self.assertEqual(ret.status_code, 200)
-
-
-class TestHostDBFailedDNS(helpers.EnvironmentCase):
-    '''
-    Tests for how hostdb handles when there is no reachable resolver
-    '''
-    @classmethod
-    def setUpEnv(cls, env):
-        resolv_conf_path = os.path.join(env.layout.prefix, 'resolv.conf')
-
-        cls.configs['records.config']['CONFIG'].update({
-            'proxy.config.http.response_server_enabled': 2,  # only add server 
headers when there weren't any
-            'proxy.config.hostdb.lookup_timeout': 1,
-            'proxy.config.dns.resolv_conf': resolv_conf_path,
-            'proxy.config.url_remap.remap_required': 0,
-
-        })
-
-        with open(resolv_conf_path, 'w') as fh:
-            fh.write('nameserver 1.1.1.0\n')  # some non-existant nameserver
-
-    def test_lookup_timeout(self):
-        start = time.time()
-        ret = requests.get('http://some_nonexistant_domain',
-                           proxies=self.proxies,
-                           )
-        self.assertGreater(time.time() - start, 
self.configs['records.config']['CONFIG']['proxy.config.hostdb.lookup_timeout'])
-        self.assertEqual(ret.status_code, 502)
-        self.assertIn('ATS', ret.headers['server'])
-

Reply via email to