On Sat, Jun 14, 2014 at 1:10 AM, Dan Duvall <dduvall(a)wikimedia.org> wrote:
would also
work, but on my system just `vagrant status` takes >1s which
is
not horrible,
but is noticeable when run so often. For that reason i went for a check
that could operate
without booting ruby and loading all the vagrant code.
Great point.
We've been discussing further improvements we might make to
mediawiki-vagrant, with the primary focus being easier TDD workflows. I'd
love any other feedback on how to make things more efficient/less painful.
I'm hoping to fix `vagrant run-tests [extension]` and implement a new
`vagrant run-browser-tests` in the near future, so if anyone has special
use cases, let me know.
One thing to keep in mind is non Unixy (read: Windows) hosts. It might not
always be easy for Windows hosts to run PHP-unit with a symlink. I must say
I haven't invested more than an hour or two in getting things to work, and
I'm absolutely *terrible* when it comes to administration tasks, but the
only way I could get the test suite running was with the Pear PHP-unit
version from the guest system, and wasn't able to run the full test-suite
due to OOM conditions (I increased guest memory up to 3 GB).
--Martijn
On Fri, Jun 13, 2014 at 3:27 PM, Erik Bernhardson <
ebernhardson(a)wikimedia.org> wrote:
On Fri, Jun 13, 2014 at 3:04 PM, Dan Duvall
<dduvall(a)wikimedia.org>
wrote:
I use a horrible hack, essentially we run the tests from a pre-commit
hook
with `make phpunit`, but we redefine make as:
This might be naive of me, given I don't know specifically how you
maintain
your hooks, but why not modify the pre-commit
hook to conditionally
execute
> over the vagrant ssh tunnel instead of hijacking make?
>
> would probably work as well. When i wrote this script i already had
the
make() stuff
in my .bashrc so i could also use make from the command line. The
pre-commit script[1]
was written based off that, just looks at the commit to figure out which
make commands to
run, then calls make.
[1]
https://github.com/wikimedia/mediawiki-extensions-Flow/blob/master/scripts/…
Also, instead of crawling parent directories for the Vagrantfile, you
could
use `if
(which vagrant && vagrant status) &> /dev/null; then ...`.
would also work, but on my system just `vagrant status` takes >1s which
is
not horrible,
but is noticeable when run so often. For that reason i went for a check
that could operate
without booting ruby and loading all the vagrant code.
Cheers,
Dan
On Fri, Jun 13, 2014 at 2:35 PM, Erik Bernhardson <
ebernhardson(a)wikimedia.org> wrote:
On Fri, Jun 13, 2014 at 12:49 PM, Jon Robson
<jdlrobson(a)gmail.com>
wrote:
> >
> > I would like to run the phpunit tests from inside my host OS
though...
> > > I have pre-commit hook I rely on to run phpunit tests before
> > > submitting... how can I do that now?
> > >
> > >
> > I use a horrible hack, essentially we run the tests from a pre-commit
> hook
> > with `make phpunit`, but we redefine make as:
> >
> > make() {
> > if is_vagrant; then
> > vagrant ssh -- cd /vagrant/mediawiki/extensions/Flow
'&&'
sudo
su
> > www-data -c "'make $*'" || exit 1
> > else
> > /usr/bin/env make $* || exit 1
> > fi
> > }
> >
> > where the is_vagrant function duplicates the vagrant functionality of
> > looking at all parent directories for a Vagrantfile
> >
> >
> >
> > > On Fri, Jun 13, 2014 at 11:45 AM, Dan Duvall <
dduvall(a)wikimedia.org>
> > > wrote:
> > > > Jon,
> > > >
> > > > From the looks of it, you may be invoking the tests from your
host
> OS,
> > > not
> > > > the Vagrant-managed VM. Trying logging in to the VM using
`vagrant
> ssh`
> > > and
> > > > executing the tests from there.
> > > >
> > > > master x ~/git/vagrant $ vagrant ssh
> > > > ...
> > > > vagrant@mediawiki-vagrant:~$ cd
/vagrant/mediawiki/tests/phpunit
> > > >
vagrant@mediawiki-vagrant:/vagrant/mediawiki/tests/phpunit$
php
> >
> phpunit.php
> > >
> > > If you still have problems with it, feel free to come grab me and
we
> can
> > > troubleshoot it further.
> > >
> > > On a related note, I'll be working on improving the
mediawiki-vagrant
> > > > browser tests setup for MobileFrontend in the coming weeks. It'd
be
great
> > to have you, or someone else on the mobile team, vet the
improvements.
> >
> > Cheers,
> > Dan
> >
> > --
> > Dan Duvall
> > Automation Engineer
> > Wikimedia Foundation <http://wikimediafoundation.org>
> > _______________________________________________
> > Wikitech-l mailing list
> > Wikitech-l(a)lists.wikimedia.org
> >
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
>
>
>
> --
> Jon Robson
> *
http://jonrobson.me.uk
> *
https://www.facebook.com/jonrobson
> * @rakugojon
>
> _______________________________________________
> Wikitech-l mailing list
> Wikitech-l(a)lists.wikimedia.org
>
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
>
_______________________________________________
Wikitech-l mailing list
Wikitech-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
--
Dan Duvall
Automation Engineer
Wikimedia Foundation <http://wikimediafoundation.org>
_______________________________________________
Wikitech-l mailing list
Wikitech-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
_______________________________________________
Wikitech-l mailing list
Wikitech-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
--
Dan Duvall
Automation Engineer
Wikimedia Foundation <http://wikimediafoundation.org>
_______________________________________________
Wikitech-l mailing list
Wikitech-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l