
<!DOCTYPE html>
<!--
 Generated by Apache Maven Doxia at 2016-01-27
 Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">

	<head>
		<meta charset="UTF-8" />
		<title>Apache Trafodion Testing</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<meta name="description" content="" />
		<meta http-equiv="content-language" content="en" />

		<link href="http://netdna.bootstrapcdn.com/bootswatch/2.3.2/cerulean/bootstrap.min.css" rel="stylesheet" />
		<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-responsive.min.css" rel="stylesheet" />
		<link href="./css/bootswatch.css" rel="stylesheet" />
		<link href="./css/reflow-skin.css" rel="stylesheet" />

		<link href="http://yandex.st/highlightjs/7.5/styles/default.min.css" rel="stylesheet" />

		<link href="./css/lightbox.css" rel="stylesheet" />

		<link href="./css/site.css" rel="stylesheet" />
		<link href="./css/print.css" rel="stylesheet" media="print" />

		<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
			<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
		<![endif]-->



		<!-- Google Analytics -->
		<script type="text/javascript">

			var _gaq = _gaq || [];
			_gaq.push(['_setAccount', 'UA-72491210-1']);
			_gaq.push(['_trackPageview']);

			(function() {
				var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
				ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
				var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
			})();

		</script>
		</head>

	<body class="page-testing project-trafodion" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target">

		<div class="navbar navbar-fixed-top">
			<div class="navbar-inner">
				<div class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<a class="brand" href="index.html">Apache <span class="color-highlight">Trafodion</span></a>
					<div class="nav-collapse collapse" id="top-nav-collapse">
						<ul class="nav pull-right">
							<li ><a href="download.html" title="Download">Download</a></li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">About <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="index.html" title="Project Overview">Project Overview</a></li>
									<li ><a href="new-features.html" title="New Features">New Features</a></li>
									<li ><a href="roadmap.html" title="Roadmap">Roadmap</a></li>
									<li ><a href="performance.html" title="Performance">Performance</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="team-list.html" title="Team">Team</a></li>
									<li ><a href="presentations.html" title="Presentations">Presentations</a></li>
									<li ><a href="mail-lists.html" title="Mailing List">Mailing List</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="source-repository.html" title="Source Repository">Source Repository</a></li>
									<li ><a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a></li>
									<li ><a href="license.html" title="License">License</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Using <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="quickstart.html" title="Quick Start">Quick Start</a></li>
									<li ><a href="download.html" title="Download">Download</a></li>
									<li ><a href="install.html" title="Install">Install</a></li>
									<li ><a href="uninstall.html" title="Uninstall">Uninstall</a></li>
									<li ><a href="management.html" title="Managing Trafodion">Managing Trafodion</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="documentation.html" title="Documentation">Documentation</a></li>
									<li ><a href="port-assignment.html" title="Port Assignments">Port Assignments</a></li>
									<li ><a href="faq.html" title="FAQ">FAQ</a></li>
									<li ><a href="release-notes.html" title="Release Notes">Release Notes</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Features <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="architecture-overview.html" title="Architecture Overview">Architecture Overview</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/security-ansi-schemas" title="ANSI Schema Support" class="externalLink">ANSI Schema Support</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/ustat-automation" title="Automated Update Statistics" class="externalLink">Automated Update Statistics</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/bulkunload" title="Bulk Unload" class="externalLink">Bulk Unload</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability#Logging_Events" title="Event Handling" class="externalLink">Event Handling</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/hybrid-query-cache" title="Hybrid Query Cache" class="externalLink">Hybrid Query Cache</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/identity-column" title="Identity Column" class="externalLink">Identity Column</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Creating_Statistics_During_Bulk_Load" title="Immediate Update Statistics" class="externalLink">Immediate Update Statistics</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/lob-support" title="Large Object (LOB)" class="externalLink">Large Object (LOB)</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/ddl-query-invalidation" title="Metadata Query Invalidation" class="externalLink">Metadata Query Invalidation</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Cmp-divisioning" title="Multi-Temperature Data" class="externalLink">Multi-Temperature Data</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/access-external-hbase-tables" title="Native HBase Tables" class="externalLink">Native HBase Tables</a></li>
									<li ><a href="docs/odb_user/index.html" title="ODB">ODB</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/sql-query-cancel" title="Query Cancel" class="externalLink">Query Cancel</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/security-privilege-updates" title="Privilege Checking" class="externalLink">Privilege Checking</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability" title="Repository" class="externalLink">Repository</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/enable-get-statistics-thru-rms" title="Runtime Management System" class="externalLink">Runtime Management System</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/sequence-numbers" title="Sequence Numbers" class="externalLink">Sequence Numbers</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/skew-buster" title="Skew Buster" class="externalLink">Skew Buster</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Tutorial:_The_object-oriented_UDF_interface" title="Table-Oriented UDF" class="externalLink">Table-Oriented UDF</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Data_Loading#Trickle_Loading_Data_Into_Trafodion_Tables" title="Trickle Load" class="externalLink">Trickle Load</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Backup_and_Restore" title="Backup/Restore Utility" class="externalLink">Backup/Restore Utility</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Metadata_Cleanup" title="Metadata Cleanup Utility" class="externalLink">Metadata Cleanup Utility</a></li>
								</ul>
							</li>
							<li class="dropdown active">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Contributing <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="contribute.html" title="Contribute">Contribute</a></li>
									<li ><a href="advocate.html" title="Advocate">Advocate</a></li>
									<li ><a href="develop.html" title="Develop">Develop</a></li>
									<li class="active"><a href="" title="Test">Test</a></li>
									<li ><a href="merge.html" title="Merge">Merge</a></li>
									<li ><a href="release.html" title="Release">Release</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="create-dev-environment.html" title="Create Dev Environment">Create Dev Environment</a></li>
									<li ><a href="manage-dev-environment.html" title="Manage Dev Environment">Manage Dev Environment</a></li>
									<li ><a href="setup-build-environment.html" title="Setup Build Environment">Setup Build Environment</a></li>
									<li ><a href="build.html" title="Build Trafodion">Build Trafodion</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="code.html" title="Modify Code">Modify Code</a></li>
									<li ><a href="tests.html" title="Modify Tests">Modify Tests</a></li>
									<li ><a href="document.html" title="Modify Documentation">Modify Documentation</a></li>
									<li ><a href="website.html" title="Modify Web Site">Modify Web Site</a></li>
									<li ><a href="wiki.html" title="Modify Wiki Pages">Modify Wiki Pages</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="cplusplus-coding-guidelines.html" title="C++ Coding Guidelines">C++ Coding Guidelines</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="http://incubator.apache.org/projects/trafodion.html" title="Project Status" target="_blank" class="externalLink">Project Status</a></li>
									<li ><a href="http://www.apache.org/foundation/how-it-works.html" title="Apache Foundation" target="_blank" class="externalLink">Apache Foundation</a></li>
									<li ><a href="http://www.apache.org/licenses/" title="Apache License" target="_blank" class="externalLink">Apache License</a></li>
									<li ><a href="http://www.apache.org/security/" title="Apache Security" target="_blank" class="externalLink">Apache Security</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship" target="_blank" class="externalLink">Sponsorship</a></li>
									<li ><a href="http://www.apache.org/foundation/thanks.html" title="Thanks" target="_blank" class="externalLink">Thanks</a></li>
								</ul>
							</li>
						</ul>
					</div><!--/.nav-collapse -->
				</div>
			</div>
		</div>

	<div class="container">

	<!-- Masthead
	================================================== -->

	<header>
	<div class="jumbotron subhead">
		<div class="row" id="banner">
			<div class="span12">
				<div class="pull-left">
					<a href="index.html" id="bannerLeft"><h1>Apache <span class="color-highlight">Trafodion</span></h1></a>
					<p class="lead">Transactional SQL-on-Hadoop Database</p>
				</div>
				<div class="pull-right">
				</div>
			</div>
		</div>
	</div>
		<div>
			<ul class="breadcrumb">
				<li><a href="index.html" title="Trafodion">Trafodion</a></li>
				<li class="divider">/</li>
				<li>Testing</li>
			</ul>
		</div>
		<hr class="toc-separator" />
		<div id="toc-bar" class="navbar" data-spy="affix" data-offset-top="250">
			<div class="navbar-inner">
				<div id="toc-scroll-target" class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#toc-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<div class="nav-collapse collapse" id="toc-nav-collapse">
						<ul id="toc" class="nav">
						<li class="dropdown">
							<a href="#component_tests" title="Component Tests" class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#">Component Tests <b class="caret"></b></a>
							<ul class="dropdown-menu" role="menu">
								<!-- Repeat the item, otherwise it is not clickable as the dropdown root -->
								<li><a href="#component_tests" title="Component Tests">Component Tests</a></li>
								<li class="divider"></li>
								<li class="dropdown-submenu">
									<a href="#SQL_Core" title="SQL Core">SQL Core</a>
									<ul class="dropdown-menu" role="menu">
								<li><a href="#Test_Suites" title="Test Suites">Test Suites</a></li>
								<li><a href="#Check_Test_Results" title="Check Test Results">Check Test Results</a></li>
								<li><a href="#Run_Full_Test_Suite" title="Run Full Test Suite">Run Full Test Suite</a></li>
								<li><a href="#Run_Individual_Test_Suites" title="Run Individual Test Suites">Run Individual Test Suites</a></li>
								<li class="dropdown-submenu">
									<a href="#Running_an_Individual_Test" title="Running an Individual Test">Running an Individual Test</a>
									<ul class="dropdown-menu" role="menu">
								<li><a href="#If_Youve_Already_Run_the_Test_Suite" title="If You’ve Already Run the Test Suite">If You’ve Already Run the Test Suite</a></li>
								<li><a href="#If_Youve_Not_Run_the_Test_Suite" title="If You’ve Not Run the Test Suite">If You’ve Not Run the Test Suite</a></li>

									</ul>
								</li>
								<li><a href="#Detecting_Failures" title="Detecting Failures">Detecting Failures</a></li>
								<li><a href="#Modifying_an_Existing_Test" title="Modifying an Existing Test">Modifying an Existing Test</a></li>

									</ul>
								</li>
								<li><a href="#Database_Connectivity_Services_DCS" title="Database Connectivity Services (DCS)">Database Connectivity Services (DCS)</a></li>
								<li><a href="#JDBC_T4" title="JDBC T4">JDBC T4</a></li>
								<li><a href="#ODBC_Tests" title="ODBC Tests">ODBC Tests</a></li>

							</ul>
						</li>
						<li class="divider-vertical"></li>
						<li class="dropdown">
							<a href="#functional_tests" title="Functional Tests" class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#">Functional Tests <b class="caret"></b></a>
							<ul class="dropdown-menu" role="menu">
								<!-- Repeat the item, otherwise it is not clickable as the dropdown root -->
								<li><a href="#functional_tests" title="Functional Tests">Functional Tests</a></li>
								<li class="divider"></li>
								<li><a href="#Phoenix" title="Phoenix">Phoenix</a></li>

							</ul>
						</li>
						</ul>
					</div>
				</div>
			</div>
		</div>
	</header>

	<div class="main-body">
	<div class="row">
		<div class="span12">
			<div class="body-content">
<!-- Licensed 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. --> 
<p>This page describes the Trafodion test suites and their usage.</p> 
<div class="page-header">
 <h1 id="component_tests">Component Tests</h1>
</div> 
<p>Trafodion comes with several component-specific testing libraries.</p> 
<div class="section"> 
 <h2 id="SQL_Core">SQL Core</h2> 
 <p>The SQL core components are written in a combination of C++ and Java. </p> 
 <p>You should ensure that the current set of regression tests pass each time you add or modify a SQL feature.</p> 
 <p>If adding a new feature, then check that it is either covered by an existing regression test or add a new test to an existing test suite.</p> 
 <div class="section"> 
  <h3 id="Test_Suites">Test Suites</h3> 
  <p><b>Location</b>: <tt>core/sql/regress</tt></p> 
  <table border="0" class="bodyTable table table-striped table-hover"> 
   <thead> 
    <tr class="a"> 
     <th>Directory </th> 
     <th>Usage</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td><b><tt>catman1</tt></b> </td> 
     <td>Tests the Catalog Manager.</td> 
    </tr> 
    <tr class="a"> 
     <td><b><tt>charsets</tt></b> </td> 
     <td>Tests Character Sets.</td> 
    </tr> 
    <tr class="b"> 
     <td><b><tt>compGeneral</tt></b> </td> 
     <td>Compiler test suite; tests optimizer-specific features.</td> 
    </tr> 
    <tr class="a"> 
     <td><b><tt>core</tt></b> </td> 
     <td>Tests a subset/sample of all features from all the test suites.</td> 
    </tr> 
    <tr class="b"> 
     <td><b><tt>executor</tt></b> </td> 
     <td>Tests the SQL Executor.</td> 
    </tr> 
    <tr class="a"> 
     <td><b><tt>fullstack2</tt></b> </td> 
     <td>Similar to core but a very limited subset.</td> 
    </tr> 
    <tr class="b"> 
     <td><b><tt>hive</tt></b> </td> 
     <td>Tests HDFS access to Hive tables.</td> 
    </tr> 
    <tr class="a"> 
     <td><b><tt>newregr</tt></b> </td> 
     <td>Unused/Saved repository for some unpublished features. These are not run.</td> 
    </tr> 
    <tr class="b"> 
     <td><b><tt>qat</tt></b> </td> 
     <td>Tests basic DDL and DML syntax.</td> 
    </tr> 
    <tr class="a"> 
     <td><b><tt>seabase</tt></b> </td> 
     <td>Tests JNI interface to HBase.</td> 
    </tr> 
    <tr class="b"> 
     <td><b><tt>tools</tt></b> </td> 
     <td>Regression driver scripts and general regression scripts.</td> 
    </tr> 
    <tr class="a"> 
     <td><b><tt>udr</tt></b> </td> 
     <td>Tests the User Defined Routines (UDR) and TMUDF functionality.</td> 
    </tr> 
   </tbody> 
  </table> 
 </div> 
 <div class="section"> 
  <h3 id="Check_Test_Results">Check Test Results</h3> 
  <p>On completion, the test run prints out a test summary. All tests should pass, or pass with known diffs.</p> 
  <p>Test results are written to the <b><tt>runregr-sb.log</tt></b> file in each component’s directory. Therefore, you can check the test results after the fact as follows:</p> 
  <div class="source"> 
   <div class="source"> 
    <pre>cd $MY_SQROOT/rundir
grep FAIL */runregr-sb.log
</pre> 
   </div> 
  </div> 
  <p>A successful test run shows no failures.</p> 
 </div> 
 <div class="section"> 
  <h3 id="Run_Full_Test_Suite">Run Full Test Suite</h3> 
  <p>This suite tests:</p> 
  <ul> 
   <li>SQL Compiler</li> 
   <li>SQL Executor</li> 
   <li>Transactions</li> 
   <li>Foundation</li> 
  </ul> 
  <p>Do the following:</p> 
  <div class="source"> 
   <div class="source"> 
    <pre>cd $MY_SQHOME
. ./sqenv.sh
cd $MY_SQROOT/../sql/regress
tools/runallsb
</pre> 
   </div> 
  </div> 
 </div> 
 <div class="section"> 
  <h3 id="Run_Individual_Test_Suites">Run Individual Test Suites</h3> 
  <p>You can select individual test suites as follows:</p> 
  <div class="source"> 
   <div class="source"> 
    <pre>cd $MY_SQHOME
. ./sqenv.sh
cd $MY_SQROOT/../sql/regress
tools/runallsb &lt;suite1&gt; &lt;suite2&gt;
</pre> 
   </div> 
  </div> 
 </div> 
 <div class="section"> 
  <h3 id="Running_an_Individual_Test">Running an Individual Test</h3> 
  <div class="section"> 
   <h4 id="If_Youve_Already_Run_the_Test_Suite">If You’ve Already Run the Test Suite</h4> 
   <p>If you have already run the suite once, then you will have all your directories set up and you can run one test as follows:</p> 
   <div class="source"> 
    <div class="source"> 
     <pre>cd $MY_SQROOT/../sql/regress/&lt;suite&gt;
# You can add the following two exports to .bashrc or .profile for convenience
export rundir=$MY_SQROOT/rundir
export scriptsdir=$MY_SQROOT/../sql/regress
# run the test
cd $rundir/&lt;suite&gt;
$scriptsdir/&lt;suite&gt;/runregr -sb &lt;test&gt;
</pre> 
    </div> 
   </div> 
   <p><b>Example</b></p> 
   <div class="source"> 
    <div class="source"> 
     <pre>cd $rundir/executor
$scriptsdir/executor/runregr -sb TEST130
</pre> 
    </div> 
   </div> 
  </div> 
  <div class="section"> 
   <h4 id="If_Youve_Not_Run_the_Test_Suite">If You’ve Not Run the Test Suite</h4> 
   <p>If you have not run any regression suites so far, then you will not have the required sub directories set up. You manually create them for each suite you want to run.</p> 
   <div class="source"> 
    <div class="source"> 
     <pre>cd $MY_SQROOT/../sql/regress/&lt;suite&gt;
# You can add the following two exports to .bashrc or .profile for convenience
export rundir=$MY_SQROOT/rundir
export scriptsdir=$MY_SQROOT/../sql/regress
mkdir $rundir
cd $rundir
# &lt;suitename&gt; should match the name of each directory in $scriptsdir
mkdir &lt;suitename&gt;
# run the test
cd $rundir/&lt;suite&gt;
$scriptsdir/&lt;suite&gt;/runregr -sb &lt;test&gt;
</pre> 
    </div> 
   </div> 
  </div> 
 </div> 
 <div class="section"> 
  <h3 id="Detecting_Failures">Detecting Failures</h3> 
  <p>If you see failures in any of your tests, you want to try running that suite or test individually as detailed above.</p> 
  <p>Open up the DIFF file and correlate them to the LOG and EXPECTED files.</p> 
  <ul> 
   <li>DIFF files are in <b><tt>$rundir/&lt;suite name&gt;</tt></b>.</li> 
   <li>LOG files are in <b><tt>$rundir/&lt;suite name&gt;</tt></b>.</li> 
   <li>EXPECTED files are in <b><tt>$scriptsdir/&lt;suite name&gt;</tt></b>.</li> 
  </ul> 
  <p>To narrow down the failure, open up the test file (for example: <b><tt>TEST130</tt></b>) in <b><tt>$scriptsdir/executor</tt></b>. </p> 
  <p>Recreate the problem with a smaller set of SQL commands and create a script to run from <b><tt>sqlci</tt></b>. If it’s an issue that can be recreated only by running the whole suite, you can add a line to the test just before the command that fails to include a <b><tt>wait</tt></b> or a <b><tt>sleep</tt></b> <b><tt>sh sleep 60</tt></b> will make the test pause and give you time to attach the <b><tt>sqlci</tt></b> process to the debugger. (You can find the PID of the <b><tt>sqlci</tt></b> process using <b><tt>sqps</tt></b> on the command line)</p> 
  <p>Introducing a <b><tt>wait</tt></b> in the test will wait forever until you enter a character. This is another way to make the test pause to attach the debugger to the <b><tt>sqlci</tt></b> process. </p> 
 </div> 
 <div class="section"> 
  <h3 id="Modifying_an_Existing_Test">Modifying an Existing Test</h3> 
  <p>If you would like to add coverage for your new change, you can modify an existing test.</p> 
  <p>Run the test after your modifications. If you are satisfied with your results, you need to modify the <b><tt>EXPECTED&lt;test number&gt;</tt></b> file to reflect your new change. The standard way to do it is to copy the <b><tt>LOG&lt;test number&gt;</tt></b> file to <b><tt>EXPECTED&lt;test number&gt;</tt></b> file.</p> 
 </div> 
</div> 
<div class="section"> 
 <h2 id="Database_Connectivity_Services_DCS">Database Connectivity Services (DCS)</h2> 
 <p>The DCS test suite is organized per the Maven standard. </p> 
</div> 
<div class="section"> 
 <h2 id="JDBC_T4">JDBC T4</h2> 
 <p>The code is written in Java, and is built and unit tested using Maven. The test suite organization and use follow Maven standards.</p> 
 <p>Instructions for setting up and running the test can be found in source tree at <b><tt>dcs/src/test/jdbc_test</tt></b>.</p> 
</div> 
<div class="section"> 
 <h2 id="ODBC_Tests">ODBC Tests</h2> 
 <p>The code is written for the Python 2.7 <a class="externalLink" href="https://docs.python.org/2/library/unittest.html"><tt>unittest</tt></a> framework. </p> 
 <p>It is run via the <b><tt>Testr</tt></b> and <b><tt>Tox</tt></b>. </p> 
 <div class="source"> 
  <div class="source"> 
   <pre>cd dcs/src/test/pytests
./config.sh -d &lt;host&gt;t:&lt;port&gt; -t &lt;Location of your Linux ODBC driver tar file&gt;
tox -e py27
</pre> 
  </div> 
 </div> 
 <p>Further instructions for setting up and running the test can be found in source tree at <b><tt>dcs/src/test/pytests</tt></b>.</p> 
 <h1 id="functional_tests">Functional Tests</h1> 
</div> 
<div class="section"> 
 <h2 id="Phoenix">Phoenix</h2> 
 <p>The Phoenix tests provides basic functional tests for Trafodion. These tests were originally adapted from their counterpart at salesforce.com.</p> 
 <p>The tests are executed using Maven with a Python wrapper. You can run them the same way on your own workstation instance just like the way Jenkins runs them. Do the following:</p> 
 <!-- This part is done in raw HTML because it's too complex to do this level of formatting in markdown. --> 
 <ol style="list-style-type: decimal"> 
  <li>Prior to running Phoenix tests, you need to bring up your Trafodion instance and DCS. You need to configure at least 2-4 servers for DCS. The tests need at least two mxosrvrs as they make two connections at any given time. We recommend configuring DCS with four mxosrvrs since we have seen situations that mxosrvrs do not get released in time for the next connection if there are only two mxosrvrs.</li> 
  <li> <p>Run the Phoenix tests from source tree</p> <p style="text-indent=20px"> </p> 
   <div> 
    <pre>
cd tests/phx
phoenix_test.py --target=&lt;host&gt;:&lt;port&gt; --user=dontcare --pw=dontcare --targettype=TR --javahome=&lt;jdk&gt; --jdbccp=&lt;jdir&gt;/jdbcT4.jar</pre> 
   </div> <p style="text-indent=20px"> </p> 
   <ul> 
    <li><b>&lt;host&gt;</b>: your workstation name or IP address.</li> 
    <li><b>&lt;port&gt;</b>: your DCS master port number.</li> 
    <li><b>&lt;jdk&gt;</b>: the directory containing the jdk1.7.0_21_64 or later version of the JDK.</li> 
    <li><b>&lt;jdir&gt;</b>: the directory containing your JDBC T4 jar file. (export/lib if you downloaded a Trafodion binary package.)</li> 
   </ul> </li> 
  <li> <p>Analyze the results. The test results can be found in <b><tt>phoenix_test/target/surefire-reports</tt></b>. If there are any failures, they would come with file names and line numbers.</p> <p>The source code can be found in <b><tt>phoenix_test/src/test/java/com/trafodion/phoenix/end2end</tt></b>.</p> <p>These are JDBC tests written in java.</p> </li> 
 </ol> 
</div>
			</div>
		</div>
	</div>
	</div>

	</div><!-- /container -->

	<!-- Footer
	================================================== -->
	<footer class="well">
		<div class="container">
			<div class="row">
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">About</li>
						<li >
							<a href="index.html" title="Project Overview">Project Overview</a>
						</li>
						<li >
							<a href="new-features.html" title="New Features">New Features</a>
						</li>
						<li >
							<a href="roadmap.html" title="Roadmap">Roadmap</a>
						</li>
						<li >
							<a href="performance.html" title="Performance">Performance</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="team-list.html" title="Team">Team</a>
						</li>
						<li >
							<a href="presentations.html" title="Presentations">Presentations</a>
						</li>
						<li >
							<a href="mail-lists.html" title="Mailing List">Mailing List</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="source-repository.html" title="Source Repository">Source Repository</a>
						</li>
						<li >
							<a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
						</li>
						<li >
							<a href="license.html" title="License">License</a>
						</li>
					</ul>
				</div>
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Using</li>
						<li >
							<a href="quickstart.html" title="Quick Start">Quick Start</a>
						</li>
						<li >
							<a href="download.html" title="Download">Download</a>
						</li>
						<li >
							<a href="install.html" title="Install">Install</a>
						</li>
						<li >
							<a href="uninstall.html" title="Uninstall">Uninstall</a>
						</li>
						<li >
							<a href="management.html" title="Managing Trafodion">Managing Trafodion</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="documentation.html" title="Documentation">Documentation</a>
						</li>
						<li >
							<a href="port-assignment.html" title="Port Assignments">Port Assignments</a>
						</li>
						<li >
							<a href="faq.html" title="FAQ">FAQ</a>
						</li>
						<li >
							<a href="release-notes.html" title="Release Notes">Release Notes</a>
						</li>
					</ul>
				</div>
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Features</li>
						<li >
							<a href="architecture-overview.html" title="Architecture Overview">Architecture Overview</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/security-ansi-schemas" title="ANSI Schema Support" class="externalLink">ANSI Schema Support</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/ustat-automation" title="Automated Update Statistics" class="externalLink">Automated Update Statistics</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/bulkunload" title="Bulk Unload" class="externalLink">Bulk Unload</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability#Logging_Events" title="Event Handling" class="externalLink">Event Handling</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/hybrid-query-cache" title="Hybrid Query Cache" class="externalLink">Hybrid Query Cache</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/identity-column" title="Identity Column" class="externalLink">Identity Column</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Creating_Statistics_During_Bulk_Load" title="Immediate Update Statistics" class="externalLink">Immediate Update Statistics</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/lob-support" title="Large Object (LOB)" class="externalLink">Large Object (LOB)</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/ddl-query-invalidation" title="Metadata Query Invalidation" class="externalLink">Metadata Query Invalidation</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Cmp-divisioning" title="Multi-Temperature Data" class="externalLink">Multi-Temperature Data</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/access-external-hbase-tables" title="Native HBase Tables" class="externalLink">Native HBase Tables</a>
						</li>
						<li >
							<a href="docs/odb_user/index.html" title="ODB">ODB</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/sql-query-cancel" title="Query Cancel" class="externalLink">Query Cancel</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/security-privilege-updates" title="Privilege Checking" class="externalLink">Privilege Checking</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability" title="Repository" class="externalLink">Repository</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/enable-get-statistics-thru-rms" title="Runtime Management System" class="externalLink">Runtime Management System</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/sequence-numbers" title="Sequence Numbers" class="externalLink">Sequence Numbers</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/skew-buster" title="Skew Buster" class="externalLink">Skew Buster</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Tutorial:_The_object-oriented_UDF_interface" title="Table-Oriented UDF" class="externalLink">Table-Oriented UDF</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Data_Loading#Trickle_Loading_Data_Into_Trafodion_Tables" title="Trickle Load" class="externalLink">Trickle Load</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Backup_and_Restore" title="Backup/Restore Utility" class="externalLink">Backup/Restore Utility</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Metadata_Cleanup" title="Metadata Cleanup Utility" class="externalLink">Metadata Cleanup Utility</a>
						</li>
					</ul>
				</div>
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Contributing</li>
						<li >
							<a href="contribute.html" title="Contribute">Contribute</a>
						</li>
						<li >
							<a href="advocate.html" title="Advocate">Advocate</a>
						</li>
						<li >
							<a href="develop.html" title="Develop">Develop</a>
						</li>
						<li class="active">
							<a href="#" title="Test">Test</a>
						</li>
						<li >
							<a href="merge.html" title="Merge">Merge</a>
						</li>
						<li >
							<a href="release.html" title="Release">Release</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="create-dev-environment.html" title="Create Dev Environment">Create Dev Environment</a>
						</li>
						<li >
							<a href="manage-dev-environment.html" title="Manage Dev Environment">Manage Dev Environment</a>
						</li>
						<li >
							<a href="setup-build-environment.html" title="Setup Build Environment">Setup Build Environment</a>
						</li>
						<li >
							<a href="build.html" title="Build Trafodion">Build Trafodion</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="code.html" title="Modify Code">Modify Code</a>
						</li>
						<li >
							<a href="tests.html" title="Modify Tests">Modify Tests</a>
						</li>
						<li >
							<a href="document.html" title="Modify Documentation">Modify Documentation</a>
						</li>
						<li >
							<a href="website.html" title="Modify Web Site">Modify Web Site</a>
						</li>
						<li >
							<a href="wiki.html" title="Modify Wiki Pages">Modify Wiki Pages</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="cplusplus-coding-guidelines.html" title="C++ Coding Guidelines">C++ Coding Guidelines</a>
						</li>
					</ul>
				</div>
				<div class="span4 bottom-description">
					<blockquote><a href="http://trafodion.apache.org/">Apache Trafodion</a> is a webscale SQL-on-Hadoop solution enabling transactional or operational
          workloads on Hadoop. <br /><br />The name &quot;Trafodion&quot; (the Welsh word for transactions, pronounced
          &quot;Tra-vod-eee-on&quot;) was chosen specifically to emphasize the differentiation that 
          Trafodion provides in closing a critical gap in the Hadoop ecosystem.<br /><br />          
          Trafodion builds on the scalability, elasticity, and flexibility of Hadoop. Trafodion extends 
          Hadoop to provide guaranteed transactional integrity, enabling new kinds of big data 
          applications to run on Hadoop.</blockquote>
				</div>
			</div>
		</div>
	</footer>

	<div class="container subfooter">
		<div class="row">
			<div class="span12">
				<p class="pull-right"><a href="#">Back to top</a></p>
				<p class="copyright">Copyright &copy;2015-2016 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
		
<hr/>
<div class="row span16">
  <span>Disclaimer: Apache Trafodion is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC. 
        Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making 
        process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the 
        completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</span>
  <br/>
  <br/>
  <span>Apache, Apache Maven, Apache Maven Fluido Skin, the Apache feather logo, the Apache Maven project logo and the Apache Incubator project logo 
        are trademarks of The Apache Software Foundation.</span>
  <br/>
  <br/>
  <span>
    <a target="_blank" href="http://www.apache.org">
      <img id="asf-logo" alt="Apache Software Foundation" src="images/logos/feather-small.gif"/>
    </a>
    <a target="_blank" href="http://incubator.apache.org/">
      <img id="incubator-logo" alt="Apache Incubator" src="images/logos/egg-logo.gif"/>
    </a>
  </span>
</div>			</div>
		</div>
	</div>

	<!-- Le javascript
	================================================== -->
	<!-- Placed at the end of the document so the pages load faster -->
	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

	<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
	<script src="./js/lightbox.min.js"></script>
	<script src="./js/reflow-scroll.js"></script>
	<script src="http://yandex.st/highlightjs/7.5/highlight.min.js"></script>

	<script src="./js/reflow-skin.js"></script>

	</body>
</html>
