blob: 442cdf910696e418cc53f71802f4221d60d9713b [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TestScripts (Drill : 1.20.0 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="TestScripts (Drill : 1.20.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TestScripts.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/drill/yarn/scripts/ScriptUtils.ScriptRunner.html" title="class in org.apache.drill.yarn.scripts"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/drill/yarn/scripts/TestScripts.html" target="_top">Frames</a></li>
<li><a href="TestScripts.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.drill.yarn.scripts</div>
<h2 title="Class TestScripts" class="title">Class TestScripts</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/drill/test/BaseTest.html" title="class in org.apache.drill.test">org.apache.drill.test.BaseTest</a></li>
<li>
<ul class="inheritance">
<li>org.apache.drill.yarn.scripts.TestScripts</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">TestScripts</span>
extends <a href="../../../../../org/apache/drill/test/BaseTest.html" title="class in org.apache.drill.test">BaseTest</a></pre>
<div class="block">Unit tests to test the many ways that the Drill shell scripts can run.
Since it would be difficult to test options using the actual Drillbit, the
scripts make use of a special test fixture in runbit: the ability to pass
a "wrapper" script to run in place of the Drillit. That script probes stderr,
stdout and log files, and writes its arguments (which is the Drillbit launch
command) to a file. As a result, we can capture this output and analyze it
to ensure we are passing the right arguments to the Drillbit, and that output
is going to the right destinations.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#TestScripts--">TestScripts</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#initialSetup--">initialSetup</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testBadSiteDir--">testBadSiteDir</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testClassPath--">testClassPath</a></span>()</code>
<div class="block">Use the "stock" setup, but add each custom bit of the class path to ensure
it is passed to the Drillbit.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testDistribEnv--">testDistribEnv</a></span>()</code>
<div class="block">Repeat the above test using distrib-env.sh in the $DRILL_HOME/conf
location.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testDistribEnvWithNegativeCond--">testDistribEnvWithNegativeCond</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testDistribEnvWithPositiveCond--">testDistribEnvWithPositiveCond</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testDrillAndDistribEnv--">testDrillAndDistribEnv</a></span>()</code>
<div class="block">Test that drill-env.sh overrides distrib-env.sh, and that the environment
overrides both.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testDrillbitSymlink--">testDrillbitSymlink</a></span>()</code>
<div class="block">Some distributions create symlinks to drillbit.sh in standard locations
such as /usr/bin.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testDrillEnv--">testDrillEnv</a></span>()</code>
<div class="block">Try setting custom environment variable values in drill-env.sh in the
$DRILL_HOME/conf location.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testForcedKill--">testForcedKill</a></span>()</code>
<div class="block">Simulate a Drillbit that refuses to die.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testJavaLibDir--">testJavaLibDir</a></span>()</code>
<div class="block">Test the Java library path.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testLogDir--">testLogDir</a></span>()</code>
<div class="block">Create a custom log folder location.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testLogDirWithDaemon--">testLogDirWithDaemon</a></span>()</code>
<div class="block">Launch the Drill daemon using a custom log file location.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testPidDir--">testPidDir</a></span>()</code>
<div class="block">The Daemon process creates a pid file.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testRestart--">testRestart</a></span>()</code>
<div class="block">Test the restart command of drillbit.sh</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testSiteDir--">testSiteDir</a></span>()</code>
<div class="block">Move configuration to a site folder out of $DRILL_HOME/conf.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testSiteDirWithDaemon--">testSiteDirWithDaemon</a></span>()</code>
<div class="block">Test a custom site directory with the Drill daemon process.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testSqlline--">testSqlline</a></span>()</code>
<div class="block">Verify the basics of the sqlline script, including the env vars that can be
customized.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testSqllineSiteDir--">testSqllineSiteDir</a></span>()</code>
<div class="block">Verify that the sqlline client works with the --site option by customizing
items in the site directory.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testSqllineWithDrillbitContextEnv--">testSqllineWithDrillbitContextEnv</a></span>()</code>
<div class="block">Test to verify no effect of DRILLBIT_CONTEXT for Sqlline.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testSqllineWrappers--">testSqllineWrappers</a></span>()</code>
<div class="block">Tests the three scripts that wrap sqlline for specific purposes:
drill-conf — Wrapper for sqlline, uses drill config to find Drill.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testStockCombined--">testStockCombined</a></span>()</code>
<div class="block">Test the simplest case: use the $DRILL_HOME/conf directory and default log
location.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testStockDaemon--">testStockDaemon</a></span>()</code>
<div class="block">Test running a (simulated) Drillbit as a daemon with start, status, stop.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/yarn/scripts/TestScripts.html#testStockDaemonWithArg--">testStockDaemonWithArg</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="TestScripts--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TestScripts</h4>
<pre>public&nbsp;TestScripts()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="initialSetup--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialSetup</h4>
<pre>public static&nbsp;void&nbsp;initialSetup()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testStockCombined--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testStockCombined</h4>
<pre>public&nbsp;void&nbsp;testStockCombined()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Test the simplest case: use the $DRILL_HOME/conf directory and default log
location. Non-existent drill-env.sh and drill-config.sh files. Everything
is at its Drill-provided defaults. Then, try overriding each user-settable
environment variable in the environment (which simulates what YARN might
do.)</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testClassPath--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testClassPath</h4>
<pre>public&nbsp;void&nbsp;testClassPath()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Use the "stock" setup, but add each custom bit of the class path to ensure
it is passed to the Drillbit.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testLogDir--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testLogDir</h4>
<pre>public&nbsp;void&nbsp;testLogDir()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Create a custom log folder location.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testDrillEnv--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDrillEnv</h4>
<pre>public&nbsp;void&nbsp;testDrillEnv()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Try setting custom environment variable values in drill-env.sh in the
$DRILL_HOME/conf location.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testDistribEnv--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDistribEnv</h4>
<pre>public&nbsp;void&nbsp;testDistribEnv()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Repeat the above test using distrib-env.sh in the $DRILL_HOME/conf
location.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testDistribEnvWithNegativeCond--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDistribEnvWithNegativeCond</h4>
<pre>public&nbsp;void&nbsp;testDistribEnvWithNegativeCond()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testDistribEnvWithPositiveCond--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDistribEnvWithPositiveCond</h4>
<pre>public&nbsp;void&nbsp;testDistribEnvWithPositiveCond()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testDrillAndDistribEnv--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDrillAndDistribEnv</h4>
<pre>public&nbsp;void&nbsp;testDrillAndDistribEnv()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Test that drill-env.sh overrides distrib-env.sh, and that the environment
overrides both. Assumes the basics were tested above.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testBadSiteDir--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testBadSiteDir</h4>
<pre>public&nbsp;void&nbsp;testBadSiteDir()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testSiteDir--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSiteDir</h4>
<pre>public&nbsp;void&nbsp;testSiteDir()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Move configuration to a site folder out of $DRILL_HOME/conf. The site
folder can contain code (which is why we call it "site" and not "config".)
The site directory can be passed to the Drillbit in several ways.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testJavaLibDir--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJavaLibDir</h4>
<pre>public&nbsp;void&nbsp;testJavaLibDir()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Test the Java library path. Three sources:
<ol>
<li>DRILL_JAVA_LIB_PATH Set in drill-env.sh</li>
<li>DOY_JAVA_LIB_PATH passed in from an env. var.</li>
<li>$DRILL_SITE/lib, if it exists.</li>
</ol></div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testStockDaemon--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testStockDaemon</h4>
<pre>public&nbsp;void&nbsp;testStockDaemon()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Test running a (simulated) Drillbit as a daemon with start, status, stop.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testStockDaemonWithArg--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testStockDaemonWithArg</h4>
<pre>public&nbsp;void&nbsp;testStockDaemonWithArg()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testPidDir--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPidDir</h4>
<pre>public&nbsp;void&nbsp;testPidDir()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">The Daemon process creates a pid file. Verify that the DRILL_PID_DIR can be
set to put the pid file in a custom location. The test is done with the
site (conf) dir in the default location.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testSiteDirWithDaemon--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSiteDirWithDaemon</h4>
<pre>public&nbsp;void&nbsp;testSiteDirWithDaemon()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Test a custom site directory with the Drill daemon process. The custom
directory contains a drill-env.sh with a custom option. Verify that that
option is picked up when starting Drill.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testLogDirWithDaemon--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testLogDirWithDaemon</h4>
<pre>public&nbsp;void&nbsp;testLogDirWithDaemon()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Launch the Drill daemon using a custom log file location. The config is in
the default location.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testDrillbitSymlink--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDrillbitSymlink</h4>
<pre>public&nbsp;void&nbsp;testDrillbitSymlink()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Some distributions create symlinks to drillbit.sh in standard locations
such as /usr/bin. Because drillbit.sh uses its own location to compute
DRILL_HOME, it must handle symlinks. This test verifies that process.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testRestart--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRestart</h4>
<pre>public&nbsp;void&nbsp;testRestart()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Test the restart command of drillbit.sh</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testForcedKill--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testForcedKill</h4>
<pre>public&nbsp;void&nbsp;testForcedKill()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Simulate a Drillbit that refuses to die. The stop script wait a while, then
forces killing.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testSqlline--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSqlline</h4>
<pre>public&nbsp;void&nbsp;testSqlline()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Verify the basics of the sqlline script, including the env vars that can be
customized. Also validate running in embedded mode (using drillbit memory
and other options.)</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testSqllineWithDrillbitContextEnv--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSqllineWithDrillbitContextEnv</h4>
<pre>public&nbsp;void&nbsp;testSqllineWithDrillbitContextEnv()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Test to verify no effect of DRILLBIT_CONTEXT for Sqlline.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testSqllineSiteDir--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSqllineSiteDir</h4>
<pre>public&nbsp;void&nbsp;testSqllineSiteDir()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Verify that the sqlline client works with the --site option by customizing
items in the site directory.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="testSqllineWrappers--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>testSqllineWrappers</h4>
<pre>public&nbsp;void&nbsp;testSqllineWrappers()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Tests the three scripts that wrap sqlline for specific purposes:
<ul>
<li>drill-conf — Wrapper for sqlline, uses drill config to find Drill.
Seems this one needs fixing to use a config other than the hard-coded
$DRILL_HOME/conf location.</li>
<li>drill-embedded — Starts a drill "embedded" in SqlLine, using a local
ZK.</li>
<li>drill-localhost — Wrapper for sqlline, uses a local ZK.</li>
</ul>
Of these, drill-embedded runs an embedded Drillbit and so should use the
Drillbit memory options. The other two are clients, but with simple default
options for finding the Drillbit.
<p>
Because the scripts are simple wrappers, all we do is verify that the right
"extra" options are set, not the fundamentals (which were already covered
in the sqlline tests.)</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TestScripts.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/drill/yarn/scripts/ScriptUtils.ScriptRunner.html" title="class in org.apache.drill.yarn.scripts"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/drill/yarn/scripts/TestScripts.html" target="_top">Frames</a></li>
<li><a href="TestScripts.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>