dart-archive / package-bots

Scripts specifying what to run in the package waterfall client.dart.packages.
BSD 3-Clause "New" or "Revised" License
2 stars 6 forks source link

use build/packages for the package-root under build #2

Closed sigmundch closed 9 years ago

sigmundch commented 9 years ago

Turns out we are passing packages/ as the package root for all tests, but after transformers are run, the correct flag should be build/packages/ for any test that lives under build/**

jakemac53 commented 9 years ago

The initialize package really needs this actually, it modifies one of the imports to remove mirrors but its not using that implementation because of this.

jakemac53 commented 9 years ago

Really anything which is trying to strip mirrors is not going to be happy because of this.

sigmundch commented 9 years ago

@ricowind - do we still need to pass the package-root argument when we invoke test.py?

If we do, we probably need to split the call to test.py in two in order to support this: once to run the code outside of build and another time to run inside of build. Is there a way to indicate that we want to exclude build and run it everywhere else? Or do we need to list all possible dirs to do that?

ricowind commented 9 years ago

I don't get this. Do you want to exclude build? If so, just add a line to the status file? We do pass in the package root now, I would assume that is needed?

Cheers, Rico

On Tue, Feb 10, 2015 at 2:49 AM, sigmundch notifications@github.com wrote:

@ricowind https://github.com/ricowind - do we still need to pass the package-root argument when we invoke test.py?

If we do, we probably need to split the call to test.py in two in order to support this: once to run the code outside of build and another time to run inside of build. Is there a way to indicate that we want to exclude build and run it everywhere else? Or do we need to list all possible dirs to do that?

— Reply to this email directly or view it on GitHub https://github.com/dart-lang/package-bots/issues/2#issuecomment-73629762 .

sigmundch commented 9 years ago

sorry - you might be missing some context. We are trying to run all tests inside build and outside build, but we want to use a different package-root depending on where the test is.

For any test outside of build we want the default package-root, basically project-root/packages. For anything inside build we can't use that package root, because the build also changes contents in files that come from other packages, instead we need to use project-root/build/packages as the package root.

My question was how to achieve this. I believe we need to invoke test.py twice, so we can use different package-roots for different parts of the repo. One invocation is simple: just run inside build/, but I was wondering what to do about the other invocation. Do we need to pass every directory we care about, or can we say something like "run everywhere but in 'build'"?

sigmundch commented 9 years ago

Friendly ping :) -- @ricowind any ideas on my last question?

sigmundch commented 9 years ago

Ok - we realized that we just needed to run tests in 'test/' and 'build/', so we don't have to list other folders for tests.

I sent out a fix that does this (here https://chromiumcodereview.appspot.com/984743002/). Currently half of the polymer tests in Dartium are failing because of this, so we went ahead and submitted it.

sigmundch commented 9 years ago

Had to revert - we ran into other issues in other packages :-(

sigmundch commented 9 years ago

For reference, here is an example failure: http://build.chromium.org/p/client.dart.packages/builders/packages-linux-unittest-stable/builds/87/steps/annotated_steps/logs/stdio

sigmundch commented 9 years ago

Fix submitted in 8409c726bb2a2ebcc2350fa34e5ff2aebd2543b2

sigmundch commented 9 years ago

(turns out my earlier was failing because the path in my local test and in the bots was different by a trailing slash)