<?xml version="1.0" encoding="utf-8"?>
<project base_program="J-JMET" language="JAVA" name="J-C023A-JMET-01-ST03-DT02-DF11-CF20-01" targeted_architecture="ANY" targeted_os="LINUX" test_case_type="ALL" xmlns="urn:stonesoup:project">
    <description>Test will take in a value that is a path to a file under
 the working directory that will then be displayed. The path isn't checked
 for ../ characters and as a result will display files outside of the
 current working directory.
</description>
    <additional_information>
        <keyvalue key="kill_command">FALSE</keyvalue>
        <keyvalue key="JAVA_MAIN">org.apache.jmeter.NewDriver</keyvalue>
        <keyvalue key="JAVA_CLASSPATH">$SS_TC_ROOT/$SS_TC_INSTALL/classes/core:$SS_TC_ROOT/$SS_TC_INSTALL/classes/components:$SS_TC_ROOT/$SS_TC_INSTALL/classes/functions:$SS_TC_ROOT/$SS_TC_INSTALL/classes/jorphan:$SS_TC_ROOT/$SS_TC_INSTALL/classes/junit:$SS_TC_ROOT/$SS_TC_INSTALL/classes/monitor:$SS_TC_ROOT/$SS_TC_INSTALL/classes/protocol/ftp:$SS_TC_ROOT/$SS_TC_INSTALL/classes/protocol/http:$SS_TC_ROOT/$SS_TC_INSTALL/classes/protocol/java:$SS_TC_ROOT/$SS_TC_INSTALL/classes/protocol/jdbc:$SS_TC_ROOT/$SS_TC_INSTALL/classes/protocol/jms:$SS_TC_ROOT/$SS_TC_INSTALL/classes/protocol/ldap:$SS_TC_ROOT/$SS_TC_INSTALL/classes/protocol/mail:$SS_TC_ROOT/$SS_TC_INSTALL/classes/protocol/native:$SS_TC_ROOT/$SS_TC_INSTALL/classes/protocol/tcp:$SS_TC_ROOT/$SS_TC_INSTALL/classes/reports:$SS_TC_ROOT/$SS_TC_INSTALL/classes/res:$SS_TC_ROOT/$SS_TC_INSTALL/lib/*:$SS_TC_ROOT/$SS_TC_INSTALL/lib/opt/*:$SS_TC_DEPS/java/stonesoup/socket/*:$SS_TC_DEPS/java/stonesoup/lttng/lttng-stonesoup-0.1.jar</keyvalue>
        <keyvalue key="algorithmic_variant_name">UNSPECIFIED</keyvalue>
        <keyvalue key="root_cause">UNSPECIFIED</keyvalue>
    </additional_information>
    <structure install="install" iodata="testData" scoredata="testOutput" scripts="scripts" source="src"/>
    <run_command>java $SS_JAVA_OPTS -Djava.library.path=$SS_TC_DEPS/lib64/ -cp $SS_JAVA_CLASSPATH -Djmeter.home=&quot;$SS_TC_ROOT/$SS_TC_INSTALL&quot; org.apache.jmeter.NewDriver</run_command>
    <weakness generation_method="FAULT_INJECTED">
        <variant cwe="CWE-23" name="CWE-23-A">
            <crossover_point file_name="/tmp/tmpigaxjD_ss_testcase/src/src/core/org/apache/jmeter/control/GenericController.java" line_number="0">
                <method name="fireIterEvents"/>
            </crossover_point>
            <trigger_point file_name="/tmp/tmpigaxjD_ss_testcase/src/src/core/org/apache/jmeter/control/GenericController.java" line_number="0">
                <method name="fireIterEvents"/>
            </trigger_point>
        </variant>
        <features>
            <taint_source file_name="/tmp/tmpigaxjD_ss_testcase/src/src/core/org/apache/jmeter/control/GenericController.java" line_number="0" type="SOCKET">
                <method name="fireIterEvents"/>
            </taint_source>
            <data_type file_name="/tmp/tmpigaxjD_ss_testcase/src/src/core/org/apache/jmeter/control/GenericController.java" line_number="0" type="SIMPLE">
                <method name="fireIterEvents"/>
            </data_type>
            <data_flow file_name="/tmp/tmpigaxjD_ss_testcase/src/src/core/org/apache/jmeter/control/GenericController.java" line_number="0" type="BASIC">
                <method name="fireIterEvents"/>
            </data_flow>
            <control_flow file_name="/tmp/tmpigaxjD_ss_testcase/src/src/core/org/apache/jmeter/control/GenericController.java" line_number="0" type="SEQUENCE">
                <method name="fireIterEvents"/>
            </control_flow>
        </features>
    </weakness>
    <build_commands>
        <command>env ANT_HOME=$SS_TC_DEPS/ant ant $SS_ANT_OPTS -Dstonesoup.database.postgres.required=no -Dstonesoup.hibernate.postgres.required=no -Dstonesoup.hibernate.mysql.required=no -Dstonesoup.database.mysql.required=no -Dstonesoup.socket.required=yes -lib $SS_TC_DEPS/java/stonesoup/lttng/lttng-stonesoup-0.1.jar -Dstonesoup.socket.lib.dir=&quot;$SS_TC_DEPS/java/stonesoup/socket&quot; -Dstonesoup.hibernate.mysql.lib.dir=&quot;$SS_TC_DEPS/java/stonesoup/hibernate/mysql&quot; -Dstonesoup.hibernate.postgres.lib.dir=&quot;$SS_TC_DEPS/java/stonesoup/hibernate/postgres&quot; -Dstonesoup.database.mysql.lib.dir=&quot;$SS_TC_DEPS/java/stonesoup/database/mysql&quot; -Dstonesoup.database.postgres.lib.dir=&quot;$SS_TC_DEPS/java/stonesoup/database/postgres&quot; -Ddist.dir=&quot;$SS_TC_ROOT/$SS_TC_INSTALL&quot; -Dbuild.dir=&quot;$SS_TC_ROOT/$SS_TC_INSTALL&quot; -Dstonesoup.lttng.lib.dir=&quot;$SS_TC_DEPS/java/stonesoup/lttng&quot; -Dstonesoup.lttng.dummy.lib.dir=&quot;$SS_TC_DEPS/java/stonesoup/lttng-dummy&quot; compile prepare-resources prepare-nonjar-dist -Dbuild.dir=$SS_TC_ROOT/$SS_TC_INSTALL/classes</command>
        <command>cp -r lib $SS_TC_ROOT/$SS_TC_INSTALL</command>
        <command>cp -r bin $SS_TC_ROOT/$SS_TC_INSTALL</command>
    </build_commands>
    <iopairs>
        <iopair name="J-C023A-JMET-01-ST03-DT02-DF11-CF20-01-GOOD-01" reset_scheme="NONE" timeout="300" type="GOOD">
            <description>
Environment variable defining test value.
</description>
            <technical_impact>NONE</technical_impact>
            <pre_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">printf '' | tee nginx_conf_env.txt</script>
                </process>
                <process delay_after="0" delay_before="0">
                    <environment_variable encoding="STRING" key="JMETER_HOME" type="USE_TEXT">$SS_TC_ROOT/$SS_TC_INSTALL</environment_variable>
                </process>
                <process delay_after="0" delay_before="0">
                    <script background="false" encoding="STRING" input_id="J-MET-GOOD-01-PRE-SCRIPT-1" type="USE_TEXT">mkdir -p good-01</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">mkdir $SS_TC_ROOT/logs/execute/lttng</script>
                </process>
                <process>
                    <environment_variable encoding="STRING" key="LTTNG_HOME" type="USE_TEXT">$SS_TC_ROOT/logs/execute/lttng</environment_variable>
                </process>
                <process>
                    <environment_variable encoding="STRING" key="SS_RUN_COMMAND_LD_PRELOAD" type="USE_TEXT">$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so</environment_variable>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">mkdir -p $SS_TC_DEPS/var/run/lttng</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">$SS_TC_DEPS/bin/lttng create &amp;&amp; $SS_TC_DEPS/bin/lttng enable-event -u -a &amp;&amp; $SS_TC_DEPS/bin/lttng start</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">rm -rf $SS_TC_ROOT/lockDir</script>
                </process>
            </pre_processes>
            <run_command encoding="STRING" preprend_runcommand="true" type="USE_TEXT">-n -t good-01/CSVSample.jmx</run_command>
            <co_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" input_id="socket_fqkPu1F0uL" type="USE_TEXT">/opt/stonesoup/workspace/scripts/service_mon.sh ss-localhost 8887 &amp;&amp; curl -v --data-urlencode data=&quot;random-file&quot; --header &quot;If-Match: weak_taint_source_value&quot; --request POST --no-buffer --output /opt/stonesoup/workspace/testData/logfile.txt --silent --show-error http://ss-localhost:8887</script>
                </process>
            </co_processes>
            <post_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" input_id="lttng_output_cUWJoYmPpL" type="USE_TEXT">$SS_TC_DEPS/bin/lttng stop &amp;&amp; $SS_TC_DEPS/bin/lttng view &amp;&amp; $SS_TC_DEPS/bin/lttng destroy</script>
                </process>
            </post_processes>
            <scoring_formula default="GOOD-01-Default">
                <formula name="GOOD-01-Default">STDOUT-01 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT</formula>
            </scoring_formula>
            <output_checks>
                <compare_check check_type="CONTAINS" name="STDOUT-01">
                    <actual output_type="FILE_CONTENTS">good-01/CSVSample.jtl</actual>
                    <expected encoding="STRING" type="USE_TEXT">s=&quot;true&quot; lb=&quot;Login as u1&quot; rc=&quot;200&quot; rm=&quot;OK&quot; tn=&quot;Thread Group 1-1&quot; dt=&quot;text&quot; by=&quot;15&quot;</expected>
                </compare_check>
                <simple_check check_type="SPECIAL" encoding="STRING" name="TIMEOUT" type="USE_TEXT">DOES_NOT_RETURN</simple_check>
                <simple_check check_type="SPECIAL" encoding="STRING" name="CONTROLLED_EXIT" type="USE_TEXT">CONTROLLED_EXIT</simple_check>
            </output_checks>
        </iopair>
        <iopair name="J-C023A-JMET-01-ST03-DT02-DF11-CF20-01-GOOD-02" reset_scheme="NONE" timeout="300" type="GOOD">
            <description>
Environment variable defining test value.
</description>
            <technical_impact>NONE</technical_impact>
            <pre_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">printf '' | tee nginx_conf_env.txt</script>
                </process>
                <process delay_after="0" delay_before="0">
                    <environment_variable encoding="STRING" key="JMETER_HOME" type="USE_TEXT">$SS_TC_ROOT/$SS_TC_INSTALL</environment_variable>
                </process>
                <process delay_after="0" delay_before="0">
                    <script background="false" encoding="STRING" input_id="J-MET-GOOD-02-PRE-SCRIPT-1" type="USE_TEXT">mkdir -p good-02</script>
                </process>
                <process>
                    <file encoding="STRING" path="other-random-file" type="USE_TEXT">file data
more file data
</file>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">mkdir $SS_TC_ROOT/logs/execute/lttng</script>
                </process>
                <process>
                    <environment_variable encoding="STRING" key="LTTNG_HOME" type="USE_TEXT">$SS_TC_ROOT/logs/execute/lttng</environment_variable>
                </process>
                <process>
                    <environment_variable encoding="STRING" key="SS_RUN_COMMAND_LD_PRELOAD" type="USE_TEXT">$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so</environment_variable>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">mkdir -p $SS_TC_DEPS/var/run/lttng</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">$SS_TC_DEPS/bin/lttng create &amp;&amp; $SS_TC_DEPS/bin/lttng enable-event -u -a &amp;&amp; $SS_TC_DEPS/bin/lttng start</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">rm -rf $SS_TC_ROOT/lockDir</script>
                </process>
            </pre_processes>
            <run_command encoding="STRING" preprend_runcommand="true" type="USE_TEXT">-n -t good-02/http-test.jmx</run_command>
            <co_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" input_id="socket_NqWOfnCt7a" type="USE_TEXT">/opt/stonesoup/workspace/scripts/service_mon.sh ss-localhost 8887 &amp;&amp; curl -v --data-urlencode data=&quot;other-random-file&quot; --header &quot;If-Match: weak_taint_source_value&quot; --request POST --no-buffer --output /opt/stonesoup/workspace/testData/logfile.txt --silent --show-error http://ss-localhost:8887</script>
                </process>
            </co_processes>
            <post_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" input_id="lttng_output_BIOoOxzgDD" type="USE_TEXT">$SS_TC_DEPS/bin/lttng stop &amp;&amp; $SS_TC_DEPS/bin/lttng view &amp;&amp; $SS_TC_DEPS/bin/lttng destroy</script>
                </process>
            </post_processes>
            <scoring_formula default="GOOD-02-Default">
                <formula name="GOOD-02-Default">STDOUT-02 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT</formula>
            </scoring_formula>
            <output_checks>
                <compare_check check_type="CONTAINS" name="STDOUT-02">
                    <actual output_type="FILE_CONTENTS">good-02/http-test.jtl</actual>
                    <expected encoding="STRING" type="USE_FILE_CONTENTS">good-02/http-test.jtl</expected>
                </compare_check>
                <simple_check check_type="SPECIAL" encoding="STRING" name="TIMEOUT" type="USE_TEXT">DOES_NOT_RETURN</simple_check>
                <simple_check check_type="SPECIAL" encoding="STRING" name="CONTROLLED_EXIT" type="USE_TEXT">CONTROLLED_EXIT</simple_check>
            </output_checks>
        </iopair>
        <iopair name="J-C023A-JMET-01-ST03-DT02-DF11-CF20-01-GOOD-03" reset_scheme="NONE" timeout="300" type="GOOD">
            <description>
Environment variable defining test value.
</description>
            <technical_impact>NONE</technical_impact>
            <pre_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">printf '' | tee nginx_conf_env.txt</script>
                </process>
                <process delay_after="0" delay_before="0">
                    <environment_variable encoding="STRING" key="JMETER_HOME" type="USE_TEXT">$SS_TC_ROOT/$SS_TC_INSTALL</environment_variable>
                </process>
                <process delay_after="0" delay_before="0">
                    <script background="false" encoding="STRING" input_id="J-MET-GOOD-03-PRE-SCRIPT-1" type="USE_TEXT">mkdir -p good-03</script>
                </process>
                <process>
                    <file encoding="STRING" path="new-dir/file-random" type="USE_TEXT">data 1
data 2
data 3
</file>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">mkdir $SS_TC_ROOT/logs/execute/lttng</script>
                </process>
                <process>
                    <environment_variable encoding="STRING" key="LTTNG_HOME" type="USE_TEXT">$SS_TC_ROOT/logs/execute/lttng</environment_variable>
                </process>
                <process>
                    <environment_variable encoding="STRING" key="SS_RUN_COMMAND_LD_PRELOAD" type="USE_TEXT">$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so</environment_variable>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">mkdir -p $SS_TC_DEPS/var/run/lttng</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">$SS_TC_DEPS/bin/lttng create &amp;&amp; $SS_TC_DEPS/bin/lttng enable-event -u -a &amp;&amp; $SS_TC_DEPS/bin/lttng start</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">rm -rf $SS_TC_ROOT/lockDir</script>
                </process>
            </pre_processes>
            <run_command encoding="STRING" preprend_runcommand="true" type="USE_TEXT">-n -t good-03/http-test.jmx</run_command>
            <co_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" input_id="socket_YmFQDY7UIZ" type="USE_TEXT">/opt/stonesoup/workspace/scripts/service_mon.sh ss-localhost 8887 &amp;&amp; curl -v --data-urlencode data=&quot;new-dir/file-random&quot; --header &quot;If-Match: weak_taint_source_value&quot; --request POST --no-buffer --output /opt/stonesoup/workspace/testData/logfile.txt --silent --show-error http://ss-localhost:8887</script>
                </process>
            </co_processes>
            <post_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" input_id="lttng_output_8kIUERfrLZ" type="USE_TEXT">$SS_TC_DEPS/bin/lttng stop &amp;&amp; $SS_TC_DEPS/bin/lttng view &amp;&amp; $SS_TC_DEPS/bin/lttng destroy</script>
                </process>
            </post_processes>
            <scoring_formula default="GOOD-03-Default">
                <formula name="GOOD-03-Default">STDOUT-03 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT</formula>
            </scoring_formula>
            <output_checks>
                <compare_check check_type="CONTAINS" name="STDOUT-03">
                    <actual output_type="FILE_CONTENTS">good-03/http-test.jtl</actual>
                    <expected encoding="STRING" type="USE_FILE_CONTENTS">good-03/http-test.jtl</expected>
                </compare_check>
                <simple_check check_type="SPECIAL" encoding="STRING" name="TIMEOUT" type="USE_TEXT">DOES_NOT_RETURN</simple_check>
                <simple_check check_type="SPECIAL" encoding="STRING" name="CONTROLLED_EXIT" type="USE_TEXT">CONTROLLED_EXIT</simple_check>
            </output_checks>
        </iopair>
        <iopair name="J-C023A-JMET-01-ST03-DT02-DF11-CF20-01-GOOD-04" reset_scheme="NONE" timeout="300" type="GOOD">
            <description>
Environment variable defining test value.
</description>
            <technical_impact>NONE</technical_impact>
            <pre_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">printf '' | tee nginx_conf_env.txt</script>
                </process>
                <process delay_after="0" delay_before="0">
                    <environment_variable encoding="STRING" key="JMETER_HOME" type="USE_TEXT">$SS_TC_ROOT/$SS_TC_INSTALL</environment_variable>
                </process>
                <process delay_after="0" delay_before="0">
                    <script background="false" encoding="STRING" input_id="J-MET-GOOD-04-PRE-SCRIPT-1" type="USE_TEXT">mkdir -p good-04</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">mkdir $SS_TC_ROOT/logs/execute/lttng</script>
                </process>
                <process>
                    <environment_variable encoding="STRING" key="LTTNG_HOME" type="USE_TEXT">$SS_TC_ROOT/logs/execute/lttng</environment_variable>
                </process>
                <process>
                    <environment_variable encoding="STRING" key="SS_RUN_COMMAND_LD_PRELOAD" type="USE_TEXT">$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so</environment_variable>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">mkdir -p $SS_TC_DEPS/var/run/lttng</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">$SS_TC_DEPS/bin/lttng create &amp;&amp; $SS_TC_DEPS/bin/lttng enable-event -u -a &amp;&amp; $SS_TC_DEPS/bin/lttng start</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">rm -rf $SS_TC_ROOT/lockDir</script>
                </process>
            </pre_processes>
            <run_command encoding="STRING" preprend_runcommand="true" type="USE_TEXT">-n -t good-04/http-test.jmx</run_command>
            <co_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" input_id="socket_MRo0z8KPbt" type="USE_TEXT">/opt/stonesoup/workspace/scripts/service_mon.sh ss-localhost 8887 &amp;&amp; curl -v --data-urlencode data=&quot;random-file&quot; --header &quot;If-Match: weak_taint_source_value&quot; --request POST --no-buffer --output /opt/stonesoup/workspace/testData/logfile.txt --silent --show-error http://ss-localhost:8887</script>
                </process>
            </co_processes>
            <post_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" input_id="lttng_output_IbRCgGkhcL" type="USE_TEXT">$SS_TC_DEPS/bin/lttng stop &amp;&amp; $SS_TC_DEPS/bin/lttng view &amp;&amp; $SS_TC_DEPS/bin/lttng destroy</script>
                </process>
            </post_processes>
            <scoring_formula default="GOOD-04-Default">
                <formula name="GOOD-04-Default">STATUS-CHECK-01 AND STATUS-CHECK-02 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT</formula>
            </scoring_formula>
            <output_checks>
                <simple_check check_type="SCRIPT" encoding="STRING" name="STATUS-CHECK-01" type="USE_TEXT">bash -c &quot;if [[ $(grep -E '&lt;httpSample s=\&quot;true\&quot; lb=\&quot;Homepage\&quot; rc=\&quot;200\&quot; rm=\&quot;OK\&quot; tn=\&quot;Thread Group 1-[1-5]\&quot; dt=\&quot;text\&quot;/&gt;' ../testData/good-04/http-test.jtl | wc -l) -eq 50 ]]; then true; else false; fi&quot;</simple_check>
                <simple_check check_type="SCRIPT" encoding="STRING" name="STATUS-CHECK-02" type="USE_TEXT">bash -c &quot;if [[ $(grep -E '&lt;httpSample s=\&quot;true\&quot; lb=\&quot;PageOne\&quot; rc=\&quot;200\&quot; rm=\&quot;OK\&quot; tn=\&quot;Thread Group 1-[1-5]\&quot; dt=\&quot;text\&quot;/&gt;' ../testData/good-04/http-test.jtl | wc -l) -eq 50 ]]; then true; else false; fi&quot;</simple_check>
                <simple_check check_type="SPECIAL" encoding="STRING" name="TIMEOUT" type="USE_TEXT">DOES_NOT_RETURN</simple_check>
                <simple_check check_type="SPECIAL" encoding="STRING" name="CONTROLLED_EXIT" type="USE_TEXT">CONTROLLED_EXIT</simple_check>
            </output_checks>
        </iopair>
        <iopair name="J-C023A-JMET-01-ST03-DT02-DF11-CF20-01-GOOD-05" reset_scheme="NONE" timeout="300" type="GOOD">
            <description>
Environment variable defining test value.
</description>
            <technical_impact>NONE</technical_impact>
            <pre_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">printf '' | tee nginx_conf_env.txt</script>
                </process>
                <process delay_after="0" delay_before="0">
                    <environment_variable encoding="STRING" key="JMETER_HOME" type="USE_TEXT">$SS_TC_ROOT/$SS_TC_INSTALL</environment_variable>
                </process>
                <process delay_after="0" delay_before="0">
                    <script background="false" encoding="STRING" input_id="J-MET-GOOD-05-PRE-SCRIPT-1" type="USE_TEXT">mkdir -p good-05</script>
                </process>
                <process>
                    <file encoding="STRING" path="other-random-file" type="USE_TEXT">file data
more file data
</file>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">mkdir $SS_TC_ROOT/logs/execute/lttng</script>
                </process>
                <process>
                    <environment_variable encoding="STRING" key="LTTNG_HOME" type="USE_TEXT">$SS_TC_ROOT/logs/execute/lttng</environment_variable>
                </process>
                <process>
                    <environment_variable encoding="STRING" key="SS_RUN_COMMAND_LD_PRELOAD" type="USE_TEXT">$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so</environment_variable>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">mkdir -p $SS_TC_DEPS/var/run/lttng</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">$SS_TC_DEPS/bin/lttng create &amp;&amp; $SS_TC_DEPS/bin/lttng enable-event -u -a &amp;&amp; $SS_TC_DEPS/bin/lttng start</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">rm -rf $SS_TC_ROOT/lockDir</script>
                </process>
            </pre_processes>
            <run_command encoding="STRING" preprend_runcommand="true" type="USE_TEXT">-n -t good-05/http-test.jmx</run_command>
            <co_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" input_id="socket_XYAP7Y1zzm" type="USE_TEXT">/opt/stonesoup/workspace/scripts/service_mon.sh ss-localhost 8887 &amp;&amp; curl -v --data-urlencode data=&quot;other-random-file&quot; --header &quot;If-Match: weak_taint_source_value&quot; --request POST --no-buffer --output /opt/stonesoup/workspace/testData/logfile.txt --silent --show-error http://ss-localhost:8887</script>
                </process>
            </co_processes>
            <post_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" input_id="lttng_output_v4U13KojCb" type="USE_TEXT">$SS_TC_DEPS/bin/lttng stop &amp;&amp; $SS_TC_DEPS/bin/lttng view &amp;&amp; $SS_TC_DEPS/bin/lttng destroy</script>
                </process>
            </post_processes>
            <scoring_formula default="GOOD-05-Default">
                <formula name="GOOD-05-Default">STDOUT-05 AND GOOD-05-HOSTNAME AND GOOD-05-LS AND GOOD-05-NETSTAT AND NOT TIMEOUT AND NOT CONTROLLED_EXIT</formula>
            </scoring_formula>
            <output_checks>
                <compare_check check_type="CONTAINS" name="STDOUT-05">
                    <actual output_type="FILE_CONTENTS">good-05/http-test.jtl</actual>
                    <expected encoding="STRING" type="USE_FILE_CONTENTS">good-05/http-test.jtl</expected>
                </compare_check>
                <simple_check check_type="SCRIPT" encoding="STRING" name="GOOD-05-HOSTNAME" type="USE_TEXT">if [[ -a good-05/hostname.out ]]; then exit 0; else exit 1; fi;</simple_check>
                <simple_check check_type="SCRIPT" encoding="STRING" name="GOOD-05-LS" type="USE_TEXT">if [[ -a good-05/ls.out ]]; then exit 0; else exit 1; fi;</simple_check>
                <simple_check check_type="SCRIPT" encoding="STRING" name="GOOD-05-NETSTAT" type="USE_TEXT">if [[ -a good-05/netstat.out ]]; then exit 0; else exit 1; fi;</simple_check>
                <simple_check check_type="SPECIAL" encoding="STRING" name="TIMEOUT" type="USE_TEXT">DOES_NOT_RETURN</simple_check>
                <simple_check check_type="SPECIAL" encoding="STRING" name="CONTROLLED_EXIT" type="USE_TEXT">CONTROLLED_EXIT</simple_check>
            </output_checks>
        </iopair>
        <iopair name="J-C023A-JMET-01-ST03-DT02-DF11-CF20-01-BAD-01" reset_scheme="NONE" timeout="300" type="BAD">
            <description>Environment variable defining test value.
</description>
            <technical_impact>READ_APPLICATION_DATA</technical_impact>
            <pre_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">printf '' | tee nginx_conf_env.txt</script>
                </process>
                <process delay_after="0" delay_before="0">
                    <environment_variable encoding="STRING" key="JMETER_HOME" type="USE_TEXT">$SS_TC_ROOT/$SS_TC_INSTALL</environment_variable>
                </process>
                <process delay_after="0" delay_before="0">
                    <script background="false" encoding="STRING" input_id="J-MET-GOOD-02-PRE-SCRIPT-1tcWUPzWH8t" type="USE_TEXT">mkdir -p good-02</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">mkdir $SS_TC_ROOT/logs/execute/lttng</script>
                </process>
                <process>
                    <environment_variable encoding="STRING" key="LTTNG_HOME" type="USE_TEXT">$SS_TC_ROOT/logs/execute/lttng</environment_variable>
                </process>
                <process>
                    <environment_variable encoding="STRING" key="SS_RUN_COMMAND_LD_PRELOAD" type="USE_TEXT">$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so</environment_variable>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">mkdir -p $SS_TC_DEPS/var/run/lttng</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">$SS_TC_DEPS/bin/lttng create &amp;&amp; $SS_TC_DEPS/bin/lttng enable-event -u -a &amp;&amp; $SS_TC_DEPS/bin/lttng start</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">rm -rf $SS_TC_ROOT/lockDir</script>
                </process>
            </pre_processes>
            <run_command encoding="STRING" preprend_runcommand="true" type="USE_TEXT">-n -t good-02/http-test.jmx</run_command>
            <co_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" input_id="socket_hjbuYIT61mI0QtAU3APR" type="USE_TEXT">/opt/stonesoup/workspace/scripts/service_mon.sh ss-localhost 8887 &amp;&amp; curl -v --data-urlencode data=&quot;../../../../../../../../../../etc/passwd&quot; --header &quot;If-Match: weak_taint_source_value&quot; --request POST --no-buffer --output /opt/stonesoup/workspace/testData/logfile.txt --silent --show-error http://ss-localhost:8887</script>
                </process>
            </co_processes>
            <post_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" input_id="lttng_output_hMQCcuBHgvQFKHtetAR3" type="USE_TEXT">$SS_TC_DEPS/bin/lttng stop &amp;&amp; $SS_TC_DEPS/bin/lttng view &amp;&amp; $SS_TC_DEPS/bin/lttng destroy</script>
                </process>
            </post_processes>
            <scoring_formula default="read_formula_tG3rH7GoJs">
                <formula name="read_formula_tG3rH7GoJs">weakness_started_XHzjdHx8lLo47K1tYhSc AND ((NOT PERFORMER AND (etc_passwd_line_pattern_JzLJOG8UVu OR etc_passwd_root_user_IIyExg6vof OR etc_group_line_pattern_3bQBQcpNdm) AND NOT timeout_qwsUlmcKUa) or (PERFORMER AND NOT ((etc_passwd_line_pattern_JzLJOG8UVu OR etc_passwd_root_user_IIyExg6vof OR etc_group_line_pattern_3bQBQcpNdm) OR timeout_qwsUlmcKUa OR controlled_exit_LWNd5Pps7U)))</formula>
            </scoring_formula>
            <output_checks>
                <simple_check check_type="SPECIAL" encoding="STRING" name="timeout_qwsUlmcKUa" type="USE_TEXT">DOES_NOT_RETURN</simple_check>
                <simple_check check_type="SPECIAL" encoding="STRING" name="controlled_exit_LWNd5Pps7U" type="USE_TEXT">CONTROLLED_EXIT</simple_check>
                <simple_check check_type="SPECIAL" encoding="STRING" name="continued_execution_piWuQaQbxR" type="USE_TEXT">CONTINUED_EXECUTION</simple_check>
                <compare_check check_type="REGEX" name="etc_passwd_line_pattern_JzLJOG8UVu">
                    <actual encoding="STRING" output_type="FILE_CONTENTS">logfile.txt</actual>
                    <expected encoding="STRING" type="USE_TEXT">.+:.+:[0-9]+:[0-9]+:.+:.+:.*</expected>
                </compare_check>
                <compare_check check_type="REGEX" name="etc_passwd_root_user_IIyExg6vof">
                    <actual encoding="STRING" output_type="FILE_CONTENTS">logfile.txt</actual>
                    <expected encoding="STRING" type="USE_TEXT">^root:.*</expected>
                </compare_check>
                <compare_check check_type="REGEX" name="etc_group_line_pattern_3bQBQcpNdm">
                    <actual encoding="STRING" output_type="FILE_CONTENTS">logfile.txt</actual>
                    <expected encoding="STRING" type="USE_TEXT">.+:x:[0-9]+:</expected>
                </compare_check>
                <compare_check check_type="CONTAINS" name="weakness_started_XHzjdHx8lLo47K1tYhSc">
                    <actual encoding="STRING" input_id_ref="lttng_output_hMQCcuBHgvQFKHtetAR3" output_type="STANDARD_OUT">None</actual>
                    <expected encoding="STRING" type="USE_TEXT">stonesoup_trace:weakness_start</expected>
                </compare_check>
            </output_checks>
        </iopair>
        <iopair name="J-C023A-JMET-01-ST03-DT02-DF11-CF20-01-BAD-02" reset_scheme="NONE" timeout="300" type="BAD">
            <description>Environment variable defining test value.
</description>
            <technical_impact>READ_APPLICATION_DATA</technical_impact>
            <pre_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">printf '' | tee nginx_conf_env.txt</script>
                </process>
                <process delay_after="0" delay_before="0">
                    <environment_variable encoding="STRING" key="JMETER_HOME" type="USE_TEXT">$SS_TC_ROOT/$SS_TC_INSTALL</environment_variable>
                </process>
                <process delay_after="0" delay_before="0">
                    <script background="false" encoding="STRING" input_id="J-MET-GOOD-02-PRE-SCRIPT-19NA8EVa9XK" type="USE_TEXT">mkdir -p good-02</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">mkdir $SS_TC_ROOT/logs/execute/lttng</script>
                </process>
                <process>
                    <environment_variable encoding="STRING" key="LTTNG_HOME" type="USE_TEXT">$SS_TC_ROOT/logs/execute/lttng</environment_variable>
                </process>
                <process>
                    <environment_variable encoding="STRING" key="SS_RUN_COMMAND_LD_PRELOAD" type="USE_TEXT">$SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so</environment_variable>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">mkdir -p $SS_TC_DEPS/var/run/lttng</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">$SS_TC_DEPS/bin/lttng create &amp;&amp; $SS_TC_DEPS/bin/lttng enable-event -u -a &amp;&amp; $SS_TC_DEPS/bin/lttng start</script>
                </process>
                <process>
                    <script background="false" encoding="STRING" type="USE_TEXT">rm -rf $SS_TC_ROOT/lockDir</script>
                </process>
            </pre_processes>
            <run_command encoding="STRING" preprend_runcommand="true" type="USE_TEXT">-n -t good-02/http-test.jmx</run_command>
            <co_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" input_id="socket_6z58GOv899hfQ0u8L2aQ" type="USE_TEXT">/opt/stonesoup/workspace/scripts/service_mon.sh ss-localhost 8887 &amp;&amp; curl -v --data-urlencode data=&quot;../../../../../../../../../../etc/group&quot; --header &quot;If-Match: weak_taint_source_value&quot; --request POST --no-buffer --output /opt/stonesoup/workspace/testData/logfile.txt --silent --show-error http://ss-localhost:8887</script>
                </process>
            </co_processes>
            <post_processes scheme="SEQUENCE">
                <process>
                    <script background="false" encoding="STRING" input_id="lttng_output_5U94MAjovESlWi2HeWiL" type="USE_TEXT">$SS_TC_DEPS/bin/lttng stop &amp;&amp; $SS_TC_DEPS/bin/lttng view &amp;&amp; $SS_TC_DEPS/bin/lttng destroy</script>
                </process>
            </post_processes>
            <scoring_formula default="read_formula_6W71D3HtRC">
                <formula name="read_formula_6W71D3HtRC">weakness_started_ISj7Czp40XgdiG9djtgV AND ((NOT PERFORMER AND (etc_passwd_line_pattern_wGBnBCgqen OR etc_passwd_root_user_8LgNTrAlGt OR etc_group_line_pattern_Y1ZwGzbbV8) AND NOT timeout_44OvjPeSFK) or (PERFORMER AND NOT ((etc_passwd_line_pattern_wGBnBCgqen OR etc_passwd_root_user_8LgNTrAlGt OR etc_group_line_pattern_Y1ZwGzbbV8) OR timeout_44OvjPeSFK OR controlled_exit_dnF08UFWUk)))</formula>
            </scoring_formula>
            <output_checks>
                <simple_check check_type="SPECIAL" encoding="STRING" name="timeout_44OvjPeSFK" type="USE_TEXT">DOES_NOT_RETURN</simple_check>
                <simple_check check_type="SPECIAL" encoding="STRING" name="controlled_exit_dnF08UFWUk" type="USE_TEXT">CONTROLLED_EXIT</simple_check>
                <simple_check check_type="SPECIAL" encoding="STRING" name="continued_execution_K8qTjyFJuT" type="USE_TEXT">CONTINUED_EXECUTION</simple_check>
                <compare_check check_type="REGEX" name="etc_passwd_line_pattern_wGBnBCgqen">
                    <actual encoding="STRING" output_type="FILE_CONTENTS">logfile.txt</actual>
                    <expected encoding="STRING" type="USE_TEXT">.+:.+:[0-9]+:[0-9]+:.+:.+:.*</expected>
                </compare_check>
                <compare_check check_type="REGEX" name="etc_passwd_root_user_8LgNTrAlGt">
                    <actual encoding="STRING" output_type="FILE_CONTENTS">logfile.txt</actual>
                    <expected encoding="STRING" type="USE_TEXT">^root:.*</expected>
                </compare_check>
                <compare_check check_type="REGEX" name="etc_group_line_pattern_Y1ZwGzbbV8">
                    <actual encoding="STRING" output_type="FILE_CONTENTS">logfile.txt</actual>
                    <expected encoding="STRING" type="USE_TEXT">.+:x:[0-9]+:</expected>
                </compare_check>
                <compare_check check_type="CONTAINS" name="weakness_started_ISj7Czp40XgdiG9djtgV">
                    <actual encoding="STRING" input_id_ref="lttng_output_5U94MAjovESlWi2HeWiL" output_type="STANDARD_OUT">None</actual>
                    <expected encoding="STRING" type="USE_TEXT">stonesoup_trace:weakness_start</expected>
                </compare_check>
            </output_checks>
        </iopair>
    </iopairs>
</project>
