You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@reef.apache.org by Markus Weimer <ma...@weimo.de> on 2016/05/24 22:56:29 UTC

Q about the runtime folder for the .NET tests

Hi,

for each test in REEF.NET, we create a new local runtime folder, and one 
whose name doesn't have any indication of which test it belongs to. I 
wonder why we do that?

After all, each job gets its own unique folder inside of the runtime 
folder. And the job folder is named after the job, which helps with 
identifying it when e.g. looking for the logs of failed tests.

Markus

Re: Q about the runtime folder for the .NET tests

Posted by Markus Weimer <ma...@weimo.de>.
On 2016-06-06 3:17 PM, Mariia Mykhailova wrote:
>> Is there any reason not to name the outer folders by the test
>> name?
> Folder name length? For tests with long names,
> REEF_LOCAL_RUNTIMEe6b76755 is shorter than
> EvaluatorRequestingDriverSpecifyingRuntimeName.

Yes, but we have `REEF_LOCAL_RUNTIMEe6b76755\[JOBNAME]` in the end. 
Which is quite long in its own right and can create issues with the 260 
char limit, depending on where the source code is checked out on a drive.

> We can consider using System.Reflection.MethodBase.GetCurrentMethod()
> to get test name uniformly in all tests. Right now test names shown
> in folder names don't always equal to names of actual tests which
> create those folders.

The REEF local runtime already uses the job name to name the folder for 
the job. That should work, right?

Markus

RE: Q about the runtime folder for the .NET tests

Posted by Mariia Mykhailova <ma...@microsoft.com>.
The first two tests I'm fixing.
The last two tests have cleanup call at their end, so folders can be left if there is still some process holding to them when the test finishes (our cleanup is best effort, if folder can't be deleted test still passes). 

> Is there any reason not to name the outer folders by the test name?
Folder name length? For tests with long names, REEF_LOCAL_RUNTIMEe6b76755 is shorter than EvaluatorRequestingDriverSpecifyingRuntimeName. 

We can consider using System.Reflection.MethodBase.GetCurrentMethod() to get test name uniformly in all tests. Right now test names shown in folder names don't always equal to names of actual tests which create those folders.

-Mariia

-----Original Message-----
From: Markus Weimer [mailto:markus@weimo.de] 
Sent: Monday, June 6, 2016 1:48 PM
To: dev@reef.apache.org
Subject: Re: Q about the runtime folder for the .NET tests

On 2016-06-06 1:30 PM, Mariia Mykhailova wrote:
> There are a couple of tests which don't clean up after themselves but 
> I'm fixing it as part of REEF-1388 (as I'm touching multiple tests 
> anyways). How many runtime folders do you have left after you run 
> tests?

I have four folders left, which contain the following job folders:


  * reef-EvaluatorRequestingDriverSpecifyingRuntimeName-20160606133822768
  * reef-testUnhandledTaskException-20160606134259142
  * reef-testStopTask-20160606133913006
  * reef-testContextStack-20160606134106944

Is there any reason not to name the outer folders by the test name? They all have names starting with `REEF_LOCAL_RUNTIME`, followed by some random chars, presumable a UUID?

Markus

Re: Q about the runtime folder for the .NET tests

Posted by Markus Weimer <ma...@weimo.de>.
On 2016-06-06 1:30 PM, Mariia Mykhailova wrote:
> There are a couple of tests which don't clean up after themselves but
> I'm fixing it as part of REEF-1388 (as I'm touching multiple tests
> anyways). How many runtime folders do you have left after you run
> tests?

I have four folders left, which contain the following job folders:


  * reef-EvaluatorRequestingDriverSpecifyingRuntimeName-20160606133822768
  * reef-testUnhandledTaskException-20160606134259142
  * reef-testStopTask-20160606133913006
  * reef-testContextStack-20160606134106944

Is there any reason not to name the outer folders by the test name? They 
all have names starting with `REEF_LOCAL_RUNTIME`, followed by some 
random chars, presumable a UUID?

Markus

RE: Q about the runtime folder for the .NET tests

Posted by Mariia Mykhailova <ma...@microsoft.com>.
Most of our tests clean their runtime folders immediately after they are executed, not as part of separate build target. So generally if I'm running all reef tests, the only folders left after that are the ones for failed tests (there will be several if several tests failed).

There are a couple of tests which don't clean up after themselves but I'm fixing it as part of REEF-1388 (as I'm touching multiple tests anyways). How many runtime folders do you have left after you run tests?

-Mariia

-----Original Message-----
From: Markus Weimer [mailto:markus@weimo.de] 
Sent: Monday, June 6, 2016 1:27 PM
To: dev@reef.apache.org
Subject: Re: Q about the runtime folder for the .NET tests

On 2016-06-06 12:51 PM, Mariia Mykhailova wrote:
> I can guess the purpose was for each test to have a folder with a 
> fixed name (job folder name is variable and a bit trickier to access) 
> to use to clean up test after it completed successfully. But I wasn't 
> there when the first tests were written :-)


So, if the goal is to facilitate the `clean` build target, won't this be done anyhow when it deletes the `bin` folder? I just wonder whether we overshot with the runtime folder per test, as it makes it really hard to find the log of a failed test (you basically have to check each runtime folder).

Markus

Re: Q about the runtime folder for the .NET tests

Posted by Markus Weimer <ma...@weimo.de>.
On 2016-06-06 12:51 PM, Mariia Mykhailova wrote:
> I can guess the purpose was for each test to have a folder with a
> fixed name (job folder name is variable and a bit trickier to access)
> to use to clean up test after it completed successfully. But I wasn't
> there when the first tests were written :-)


So, if the goal is to facilitate the `clean` build target, won't this be 
done anyhow when it deletes the `bin` folder? I just wonder whether we 
overshot with the runtime folder per test, as it makes it really hard to 
find the log of a failed test (you basically have to check each runtime 
folder).

Markus

RE: Q about the runtime folder for the .NET tests

Posted by Mariia Mykhailova <ma...@microsoft.com>.
I can guess the purpose was for each test to have a folder with a fixed name (job folder name is variable and a bit trickier to access) to use to clean up test after it completed successfully. But I wasn't there when the first tests were written :-)

-Mariia

-----Original Message-----
From: Markus Weimer [mailto:markus@weimo.de] 
Sent: Monday, June 6, 2016 8:40 AM
To: dev@reef.apache.org
Subject: Re: Q about the runtime folder for the .NET tests

Gentle ping :)

Markus


On 2016-05-24 15:56, Markus Weimer wrote:
> Hi,
>
> for each test in REEF.NET, we create a new local runtime folder, and 
> one whose name doesn't have any indication of which test it belongs 
> to. I wonder why we do that?
>
> After all, each job gets its own unique folder inside of the runtime 
> folder. And the job folder is named after the job, which helps with 
> identifying it when e.g. looking for the logs of failed tests.
>
> Markus

Re: Q about the runtime folder for the .NET tests

Posted by Markus Weimer <ma...@weimo.de>.
Gentle ping :)

Markus


On 2016-05-24 15:56, Markus Weimer wrote:
> Hi,
>
> for each test in REEF.NET, we create a new local runtime folder, and one
> whose name doesn't have any indication of which test it belongs to. I
> wonder why we do that?
>
> After all, each job gets its own unique folder inside of the runtime
> folder. And the job folder is named after the job, which helps with
> identifying it when e.g. looking for the logs of failed tests.
>
> Markus