<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi all,<br>
    <br>
    I did (wit Alexanders help) 2 test executions on our latest
    lustre build with limited set of test suites.
    <b><br>
      <br>
      First tests execution</b>: executing all tests with with ONLY
    keyword
    one-by-one.
    <br>
    <br>
    <b>Second execution</b>: executing all tests with with ONLY keyword
    one-by-one
    and reformat lustre partition
    (/usr/lib64/lustre/tests/llmountcleanup.sh
    and FORMAT=yes sh /usr/lib64/lustre/tests/llmount.sh).<br>
    <br>
    With these executions ways we should detect all tests dependencies
    (exclude false pass, but this it other problem). <br>
    <br>
    I prepared table with results for both executions and differences
    between them. <br>
    <br>
    Crossed tests - tests which are in ALWAYS_EXLUDED list.<br>
     <br>
    So, it is 15 test which was failed with ONLY/ ONLY+REFORMAT.<br>
    Test  replay-single.44a.test  is killed by timeout, and can be
    excluded from this list.<br>
    Tests sanity-quota.18b and sanity.129 failed because end of
    space(and looks like formatting fix it).<br>
    So, 12 test have dependencies and should be fixed.  I think this is
    good news.<br>
    <br>
    <table style="border-collapse: collapse; border-color: rgb(136, 136,
      136); border-width: 1px;" border="1" bordercolor="#888"
      height="826" width="740" cellspacing="0">
      <tbody>
        <tr>
          <td style="text-align:left;width:202px;height:16px"> suite</td>
          <td style="width:227px;height:16px"> with reformat</td>
          <td style="width:201px;height:16px"> without reformat<br>
          </td>
          <td style="width:59px;height:16px"> diff</td>
        </tr>
        <tr>
          <td style="width:202px;height:178px"> sanity</td>
          <td style="width:227px;height:178px"> 
            <table>
              <tbody>
                <tr>
                  <td>sanity.200h.test </td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td>sanity.200c.test</td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td>sanity.201b.test<br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td>sanity.200d.test<br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td>sanity.51c.test<br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td>sanity.42d.test<br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td>sanity.201c.test</td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td>sanity.200b.test </td>
                </tr>
              </tbody>
            </table>
          </td>
          <td style="width:201px;height:178px"> 
            <table>
              <tbody>
                <tr>
                  <td>sanity.201b.test</td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td>sanity.200d.test</td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td>sanity.51c.test</td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td>sanity.42d.test</td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td>sanity.129.test</td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td>sanity.201c.test </td>
                </tr>
              </tbody>
            </table>
          </td>
          <td style="width:59px;height:178px"> +200h<br>
             +200c<br>
             +200b<br>
             -129 <br>
          </td>
        </tr>
        <tr>
          <td style="width:202px;height:118px"> sanityn</td>
          <td style="width:227px;height:118px"> 
            <table>
              <tbody>
                <tr>
                  <td><strike> sanityn.14b.test<br>
                    </strike>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td> sanityn.1b.test </td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td> sanityn.1c.test </td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td><strike> sanityn.28.test </strike></td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td><strike> sanityn.29.test</strike></td>
                </tr>
              </tbody>
            </table>
          </td>
          <td style="width:201px;height:118px"> 
            <table>
              <tbody>
                <tr>
                  <td><strike> sanityn.14b.test<br>
                    </strike></td>
                  <td style="text-align:right"><strike><br>
                    </strike></td>
                  <td style="text-align:right"><strike><br>
                    </strike></td>
                </tr>
                <tr>
                  <td> sanityn.1b.test </td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td> sanityn.1c.test </td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td><strike> sanityn.28.test </strike></td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td><strike> sanityn.29.test </strike></td>
                </tr>
              </tbody>
            </table>
          </td>
          <td style="width:59px;height:118px"> no diff<br>
          </td>
        </tr>
        <tr>
          <td style="width:202px;height:16px"> sanity-quota</td>
          <td style="width:227px;height:16px"> none</td>
          <td style="width:201px;height:16px"> sanity-quota.18b.test <br>
          </td>
          <td style="width:59px;height:16px"> -18b</td>
        </tr>
        <tr>
          <td style="width:202px;height:16px"> conf-sanity</td>
          <td style="width:227px;height:16px"> none</td>
          <td style="width:201px;height:16px"> none</td>
          <td style="width:59px;height:16px"> no diff<br>
          </td>
        </tr>
        <tr>
          <td style="width:202px;height:16px"> ost-pools<span><br>
            </span></td>
          <td style="width:227px;height:16px"> none</td>
          <td style="width:201px;height:16px"> none</td>
          <td style="width:59px;height:16px"> no diff<br>
          </td>
        </tr>
        <tr>
          <td style="width:202px;height:16px"> lustre-rsync-test</td>
          <td style="width:227px;height:16px"> none</td>
          <td style="width:201px;height:16px"> none</td>
          <td style="width:59px;height:16px"> no diff<br>
          </td>
        </tr>
        <tr>
          <td style="width:202px;height:16px"> insanity</td>
          <td style="width:227px;height:16px"><strike> insanity.10.test
            </strike><br>
          </td>
          <td style="width:201px;height:16px"><strike> insanity.10.test
            </strike><br>
          </td>
          <td style="width:59px;height:16px"> no diff<br>
          </td>
        </tr>
        <tr>
          <td style="width:202px;height:16px"> replay-vbr</td>
          <td style="width:227px;height:16px"> none</td>
          <td style="width:201px;height:16px"> none</td>
          <td style="width:59px;height:16px"> no diff<br>
          </td>
        </tr>
        <tr>
          <td style="width:202px;height:16px"> replay-dual</td>
          <td style="width:227px;height:16px"> none</td>
          <td style="width:201px;height:16px"> none</td>
          <td style="width:59px;height:16px"> no diff<br>
          </td>
        </tr>
        <tr>
          <td style="width:202px;height:16px"> replay-ost-single</td>
          <td style="width:227px;height:16px"> none</td>
          <td style="width:201px;height:16px"> none</td>
          <td style="width:59px;height:16px"> no diff<br>
          </td>
        </tr>
        <tr>
          <td style="width:202px;height:176px"> recovery-small</td>
          <td style="width:227px;height:176px"> 
            <table>
              <tbody>
                <tr>
                  <td> recovery-small.3.test<br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td> recovery-small.5.test</td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td><strike> recovery-small.52.test</strike></td>
                  <td style="text-align:right"><strike><br>
                    </strike></td>
                  <td style="text-align:right"><strike><br>
                    </strike></td>
                </tr>
                <tr>
                  <td> recovery-small.2.test </td>
                </tr>
              </tbody>
            </table>
          </td>
          <td style="width:201px;height:176px"> 
            <table>
              <tbody>
                <tr>
                  <td>recovery-small.3.test<br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td> recovery-small.5.test</td>
                  <td style="text-align:right"><br>
                  </td>
                  <td style="text-align:right"><br>
                  </td>
                </tr>
                <tr>
                  <td><strike> recovery-small.52.test</strike></td>
                  <td style="text-align:right"><strike><br>
                    </strike>
                  </td>
                  <td style="text-align:right"><strike><br>
                    </strike>
                  </td>
                </tr>
                <tr>
                  <td> recovery-small.2.test </td>
                </tr>
              </tbody>
            </table>
          </td>
          <td style="width:59px;height:176px"> no diff<br>
          </td>
        </tr>
        <tr>
          <td style="width:202px;height:16px"> replay-single</td>
          <td style="width:227px;height:16px"> replay-single.44a.test <br>
          </td>
          <td style="width:201px;height:16px"> replay-single.44a.test <br>
          </td>
          <td style="width:59px;height:16px"> no diff</td>
        </tr>
      </tbody>
    </table>
    <br>
    Thanks,<br>
                Roman <br>
    <br>
    <br>
    On 05/15/2012 12:59 AM, Alexander Lezhoev wrote:
    <blockquote cite="mid:4FB17224.1050105@xyratex.com" type="cite">
      <meta http-equiv="content-type" content="text/html;
        charset=ISO-8859-1">
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"
        id="internal-source-marker_0.5377666371228946">Hi there,</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Let


        me raise the question about Lustre tests separated execution.
        We’ve discussed this problem already, but I’d like to clear up
        some details.</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Usually


        we run all tests sequentially, but in the automation tool we are
        using we need to run tests separately, with ONLY parameter. This
        allows us to have full control over the test execution:
        terminate hung tests by timeout or restore environment in case
        of the file system damage. At the moment some of tests are
        designed to be run sequentially.</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">By


        our estimation, there are about 30 tests need for the
         improvement. If we settle this question, we can significantly
        improve test-framework automation potential.</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Please

        share your opinions about this question and help to make a
        decision about it.</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">The

        questions are</span>
      <ol style="margin-top:0pt;margin-bottom:0pt;">
        <li
style="list-style-type:decimal;font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Do

            we want to have an ability to run each test independently?</span></li>
        <li
style="list-style-type:decimal;font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">What

            is more acceptable - unite sequential tests into complex
            ones or supplement exists test with additional code steps?
              </span></li>
      </ol>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      Some technical details:<br>
      <br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Typical

        problem is sanityn test_1</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1a()

        {</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">touch

        $DIR1/f1</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">[
        -f $DIR2/f1 ] || error</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        1a "check create on 2 mtpt's =========================="</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1b()

        {</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">chmod

        777 $DIR2/f1</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">$CHECKSTAT

        -t file -p 0777 $DIR1/f1 || error</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">chmod

        a-x $DIR2/f1</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        1b "check attribute updates on 2 mtpt's ==============="</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1c()

        {</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">$CHECKSTAT

        -t file -p 0666 $DIR1/f1 || error</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        1c "check after remount attribute updates on 2 mtpt's ="</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1d()

        {</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">rm

        $DIR2/f1</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">$CHECKSTAT

        -a $DIR1/f1 || error</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        1d  "unlink on one mountpoint removes file on other ===="</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">They


        cannot be run separately, because the next index uses the code
        of previous one. This means all tests should be run in groups of
        letter indexes, or they should be refactored to run
        independently. </span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Some


        of tests have been already refactored to run “letters”
        separately, but we have to make a rule which we should follow
        and use for further refactoring.</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">There

        are three decisions we can take about this situation</span>
      <ul style="margin-top:0pt;margin-bottom:0pt;">
        <li
style="list-style-type:disc;font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Join


            the code of all test steps into single test with
            corresponding number. So we will have one test_1 instead of
            test_1a .. test_1d in the described case.</span></li>
        <li
style="list-style-type:disc;font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Move


            the code of steps to corresponding functions which will be
            called from each step. In other words the next indexed test
            will duplicate some functionality of previous one.</span></li>
        <li
style="list-style-type:disc;font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Do

            nothing and decide that “letters” mustn’t be executed
            independently, but only in “number” group.</span></li>
      </ul>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">The

        first variant could be implemented as follows.</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1()

        {</span><br>
      <p dir="ltr" style="text-indent: 36pt; margin-top: 0pt;
        margin-bottom: 0pt;"><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">touch

          $DIR1/f1</span></p>
      <p dir="ltr" style="text-indent: 36pt; margin-top: 0pt;
        margin-bottom: 0pt;"><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">[
          -f $DIR2/f1 ] || error "check create on 2 mtpt's failed"</span></p>
      <p dir="ltr" style="text-indent: 36pt; margin-top: 0pt;
        margin-bottom: 0pt;"><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">chmod

          777 $DIR2/f1</span></p>
      <p dir="ltr" style="text-indent: 36pt; margin-top: 0pt;
        margin-bottom: 0pt;"><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">$CHECKSTAT

          -t file -p 0777 $DIR1/f1 || error "check attribute updates on
          2 mtpt's failed"</span></p>
      <p dir="ltr" style="text-indent: 36pt; margin-top: 0pt;
        margin-bottom: 0pt;"><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">chmod

          a-x $DIR2/f1</span></p>
      <p dir="ltr" style="text-indent: 36pt; margin-top: 0pt;
        margin-bottom: 0pt;"><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">$CHECKSTAT

          -t file -p 0666 $DIR1/f1 || error "check after remount
          attribute updates on 2 mtpt's failed"</span></p>
      <p dir="ltr" style="text-indent: 36pt; margin-top: 0pt;
        margin-bottom: 0pt;"><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">rm

          $DIR2/f1</span></p>
      <p dir="ltr" style="text-indent: 36pt; margin-top: 0pt;
        margin-bottom: 0pt;"><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">$CHECKSTAT

          -a $DIR1/f1 || error "unlink on one mountpoint removes file on
          other failed"</span></p>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        1 "check attributes updates on 2 mtpt's"</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">This


        approach has disadvantage that such kind of refactoring will
        lead to reduction of test numbering and it will hard to work
        with regression history of the refactored tests.</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">The

        second case of refactoring can look like this:</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1a()

        {</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1_create</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        1a "check create on 2 mtpt's =========================="</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1b()

        {</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1_create</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1_check_attr</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        1b "check attribute updates on 2 mtpt's ==============="</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1c()

        {</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1_create</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1_check_attr</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1_check_attr2</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        1c "check after remount attribute updates on 2 mtpt's ="</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1d()

        {</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1_create</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1_check_attr</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1_check_attr2</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1_unlink</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        1d  "unlink on one mountpoint removes file on other ===="</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">I’ve

        omitted functions code - their content is obvious.</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">This


        disadvantage of this approach — summary increase of tests
        run-time (the next test duplicates code of previous one). But
        the necessity of all these tests is doubtful here, because the
        last one includes first three tests.</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Very

        similar situation is for recovery-small 1, 2, 3 and 4, 5.</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1()

        {</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">drop_request

        "mcreate $DIR/f1" || return 1</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">drop_reint_reply

        "mcreate $DIR/f2" || return 2</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        1 "mcreate: drop req, drop rep"</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_2()

        {</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">drop_request

        "tchmod 111 $DIR/f2"  || return 1</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">drop_reint_reply

        "tchmod 666 $DIR/f2"  || return 2</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        2 "chmod: drop req, drop rep"</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_3()

        {</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">drop_request

        "statone $DIR/f2" || return 1</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">drop_reply

        "statone $DIR/f2"   || return 2</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        3 "stat: drop req, drop rep"</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">These

        three tests are actually steps of a single test scenario,
        because they work with the results of previous ones.</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">We

        can separate these tests:</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1()

        {</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1_mcreate</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        1 "mcreate: drop req, drop rep"</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_2()

        {</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1_mcreate</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_2_chmod</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        2 "chmod: drop req, drop rep"</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_3()

        {</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1_mcreate</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_3_stat</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        3 "stat: drop req, drop rep"</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">or

        join them into one and remove test_2 and test_3.</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_1()

        {</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           drop_request "mcreate $DIR/f1"  || return 1</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           drop_reint_reply "mcreate $DIR/f2"    || return 2</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           drop_request "tchmod 111 $DIR/f2"  || return 3</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           drop_reint_reply "tchmod 666 $DIR/f2"    || return 4</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           drop_request "statone $DIR/f2" || return 5</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
           drop_reply "statone $DIR/f2"   || return 6</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        1 "mcreate, chmod,stat: drop req, drop,req"</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Another


        big example are sanity tests 200 and 201. Here is the part of
        the resulting code after refactoring, so we can separately run
        each letter index:</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_200a()

        {</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_200_create_pool</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_201_remove_pool</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        200a "Create new pool
        =========================================="</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_200b()

        {</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_200_create_pool</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_200_add_targets</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_201_remove_all_targets</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_201_remove_pool</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">.
        . . </span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_201b()

        {</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_200_create_pool</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_200_add_targets</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_200_dir_set_pool</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_200_check_dir_pool</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_200_check_file_alloc</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_200_create_files</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_200_create_relative_path_files</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_201_remove_all_targets</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_201_remove_pool</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        201b "Remove all targets from a pool =========================="</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_201c()

        {</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_200_create_pool</span><br>
      <span
style="font-size:15px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
          </span><span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">test_201_remove_pool</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">}</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">run_test

        201c "Remove a pool
        ============================================"</span><br>
      <span
style="font-size:13px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000080;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">We


        have to include cleanup steps here to make possible to run
        letter indexes independently. With that cleanup steps, 200a and
        201c became absolutely equal and need to be reduced. Same
        situation is for 200h and 201b.</span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span
style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span><br>
      <span style="font-size: 16px; font-family: Arial; color: rgb(0, 0,
        0); background-color: transparent; font-weight: normal;
        font-style: normal; font-variant: normal; text-decoration: none;
        vertical-align: baseline;">Sorry for so long email and thanks to
        Kyr (<a moz-do-not-send="true" class="moz-txt-link-abbreviated"
          href="mailto:Kyrylo_Shatskyy@xyratex.com">Kyrylo_Shatskyy@xyratex.com</a>)
        for it's preparing.<br>
        <br>
      </span><span class="moz-txt-tag">-- <br>
      </span>Alexander Lezhoev. <br>
      Morpheus test team. <br>
      Xyratex. <br>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
twg mailing list
<a class="moz-txt-link-abbreviated" href="mailto:twg@lists.opensfs.org">twg@lists.opensfs.org</a>
<a class="moz-txt-link-freetext" href="http://lists.opensfs.org/listinfo.cgi/twg-opensfs.org">http://lists.opensfs.org/listinfo.cgi/twg-opensfs.org</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>