<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>