<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/meson.git/run_tests.py, branch testcommand</title>
<subtitle>github.com: mesonbuild/meson.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/meson.git/'/>
<entry>
<title>run_tests: Run all cross tests together</title>
<updated>2018-06-10T01:52:57+00:00</updated>
<author>
<name>Nirbheek Chauhan</name>
<email>nirbheek@centricular.com</email>
</author>
<published>2018-06-09T18:14:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/meson.git/commit/?id=2d1fc25599adf349ae62504ce2197e2d821398f7'/>
<id>2d1fc25599adf349ae62504ce2197e2d821398f7</id>
<content type='text'>
There is a lot of overhead for each travis job, because docker pull
takes 3 minutes. Each cross test takes 3-4 minutes.

To make things worse, sometimes Dockerhub is slow and docker pull takes
longer than 3 minutes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is a lot of overhead for each travis job, because docker pull
takes 3 minutes. Each cross test takes 3-4 minutes.

To make things worse, sometimes Dockerhub is slow and docker pull takes
longer than 3 minutes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Convert args.projectoptions into a dict</title>
<updated>2018-06-06T20:02:37+00:00</updated>
<author>
<name>Xavier Claessens</name>
<email>xavier.claessens@collabora.com</email>
</author>
<published>2018-05-13T14:36:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/meson.git/commit/?id=7c4736d27f4c5d7844a44addc0305e4354440074'/>
<id>7c4736d27f4c5d7844a44addc0305e4354440074</id>
<content type='text'>
This simplifies a lot of code, and centralize "key=value" parsing in a
single place.

Unknown command line options becomes an hard error instead of
merely printing warning message. It has been warning it would become an
hard error for a while now. This has exceptions though, any
unknown option starting with "&lt;lang&gt;_" or "b_" are ignored because they
depend on which languages gets added and which compiler gets selected.
Also any option for unknown subproject are ignored because they depend
on which subproject actually gets built.

Also write more command line parsing tests. "19 bad command line
options" is removed because bad cmd line option became hard error and
it's covered with new tests in "30 command line".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This simplifies a lot of code, and centralize "key=value" parsing in a
single place.

Unknown command line options becomes an hard error instead of
merely printing warning message. It has been warning it would become an
hard error for a while now. This has exceptions though, any
unknown option starting with "&lt;lang&gt;_" or "b_" are ignored because they
depend on which languages gets added and which compiler gets selected.
Also any option for unknown subproject are ignored because they depend
on which subproject actually gets built.

Also write more command line parsing tests. "19 bad command line
options" is removed because bad cmd line option became hard error and
it's covered with new tests in "30 command line".
</pre>
</div>
</content>
</entry>
<entry>
<title>.travis.yml: Add CI for armhf and mingw</title>
<updated>2018-06-05T10:50:22+00:00</updated>
<author>
<name>Nirbheek Chauhan</name>
<email>nirbheek@centricular.com</email>
</author>
<published>2018-05-26T19:59:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/meson.git/commit/?id=bc4dd5e20163ef01f7fe3e518599f8bbd84c6f90'/>
<id>bc4dd5e20163ef01f7fe3e518599f8bbd84c6f90</id>
<content type='text'>
Also split them out to their own jobs. Travis gives us 5 parallel jobs
now, so we can parallelize it a bit more.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also split them out to their own jobs. Travis gives us 5 parallel jobs
now, so we can parallelize it a bit more.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add MinGW-w64 64-bit to the Travis CI</title>
<updated>2018-06-05T10:50:22+00:00</updated>
<author>
<name>Nirbheek Chauhan</name>
<email>nirbheek@centricular.com</email>
</author>
<published>2018-05-26T09:57:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/meson.git/commit/?id=21dc45dbbb567068ae2dafc9e34fba24e04e0d93'/>
<id>21dc45dbbb567068ae2dafc9e34fba24e04e0d93</id>
<content type='text'>
Includes new cross files for MinGW-w64
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Includes new cross files for MinGW-w64
</pre>
</div>
</content>
</entry>
<entry>
<title>Set the meson command to use when we know what it is</title>
<updated>2018-06-01T19:20:04+00:00</updated>
<author>
<name>Nirbheek Chauhan</name>
<email>nirbheek@centricular.com</email>
</author>
<published>2018-06-01T07:30:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/meson.git/commit/?id=0a035dea6d0b1416fc76e323bbd7b0ab5a60a4af'/>
<id>0a035dea6d0b1416fc76e323bbd7b0ab5a60a4af</id>
<content type='text'>
Instead of using fragile guessing to figure out how to invoke meson,
set the value when meson is run. Also rework how we pass of
meson_script_launcher to regenchecker.py -- it wasn't even being used

With this change, we only need to guess the meson path when running
the tests, and in that case:

1. If MESON_EXE is set in the env, we know how to run meson
   for project tests.
2. MESON_EXE is not set, which means we run the configure in-process
   for project tests and need to guess what meson to run, so either
   - meson.py is found next to run_tests.py, or
   - meson, meson.py, or meson.exe is in PATH

Otherwise, you can invoke meson in the following ways:

1. meson is installed, and mesonbuild is available in PYTHONPATH:
   - meson, meson.py, meson.exe from PATH
   - python3 -m mesonbuild.mesonmain
   - python3 /path/to/meson.py
   - meson is a shell wrapper to meson.real
2. meson is not installed, and is run from git:
   - Absolute path to meson.py
   - Relative path to meson.py
   - Symlink to meson.py

All these are tested in test_meson_commands.py, except meson.exe since
that involves building the meson msi and installing it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of using fragile guessing to figure out how to invoke meson,
set the value when meson is run. Also rework how we pass of
meson_script_launcher to regenchecker.py -- it wasn't even being used

With this change, we only need to guess the meson path when running
the tests, and in that case:

1. If MESON_EXE is set in the env, we know how to run meson
   for project tests.
2. MESON_EXE is not set, which means we run the configure in-process
   for project tests and need to guess what meson to run, so either
   - meson.py is found next to run_tests.py, or
   - meson, meson.py, or meson.exe is in PATH

Otherwise, you can invoke meson in the following ways:

1. meson is installed, and mesonbuild is available in PYTHONPATH:
   - meson, meson.py, meson.exe from PATH
   - python3 -m mesonbuild.mesonmain
   - python3 /path/to/meson.py
   - meson is a shell wrapper to meson.real
2. meson is not installed, and is run from git:
   - Absolute path to meson.py
   - Relative path to meson.py
   - Symlink to meson.py

All these are tested in test_meson_commands.py, except meson.exe since
that involves building the meson msi and installing it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "mesonlib: handle meson exe wrappers"</title>
<updated>2018-05-31T10:10:10+00:00</updated>
<author>
<name>Nirbheek Chauhan</name>
<email>nirbheek@centricular.com</email>
</author>
<published>2018-05-31T10:10:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/meson.git/commit/?id=f56b402a5b98fbb2c2f3af4ebdac3f53313c5ab1'/>
<id>f56b402a5b98fbb2c2f3af4ebdac3f53313c5ab1</id>
<content type='text'>
This reverts commit 0627e9d616dc311b7c9b0ef17301f680ac9e78a7.

Breaks installation: https://github.com/mesonbuild/meson/issues/3647

Will be restored once that can be fixed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 0627e9d616dc311b7c9b0ef17301f680ac9e78a7.

Breaks installation: https://github.com/mesonbuild/meson/issues/3647

Will be restored once that can be fixed.
</pre>
</div>
</content>
</entry>
<entry>
<title>mesonlib: handle meson exe wrappers</title>
<updated>2018-05-30T18:29:16+00:00</updated>
<author>
<name>Martin Kelly</name>
<email>mkelly@xevo.com</email>
</author>
<published>2018-04-24T23:57:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/meson.git/commit/?id=0627e9d616dc311b7c9b0ef17301f680ac9e78a7'/>
<id>0627e9d616dc311b7c9b0ef17301f680ac9e78a7</id>
<content type='text'>
There are cases when it is useful to wrap the main meson executable with
a script that sets up environment variables, passes --cross-file, etc.
For example, in a Yocto SDK, we need to point to the right meson.cross
so that everything "just works", and we need to alter CC, CXX, etc. In
such cases, it can happen that the "meson" found in the path is actually
a wrapper script that invokes the real meson, which may be in another
location (e.g. "meson.real" or similar).

Currently, in such a situation, meson gets confused because it tries to
invoke itself using the "meson" executable (which points to the wrapper
script) instead of the actual meson (which may be called "meson.real" or
similar). In fact, the wrapper script is not necessarily even Python, so
the whole thing fails.

Fix this by using Python imports to directly find mesonmain.py instead
of trying to detect it heuristically. In addition to fixing the wrapper
issue, this should make the detection logic much more robust.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are cases when it is useful to wrap the main meson executable with
a script that sets up environment variables, passes --cross-file, etc.
For example, in a Yocto SDK, we need to point to the right meson.cross
so that everything "just works", and we need to alter CC, CXX, etc. In
such cases, it can happen that the "meson" found in the path is actually
a wrapper script that invokes the real meson, which may be in another
location (e.g. "meson.real" or similar).

Currently, in such a situation, meson gets confused because it tries to
invoke itself using the "meson" executable (which points to the wrapper
script) instead of the actual meson (which may be called "meson.real" or
similar). In fact, the wrapper script is not necessarily even Python, so
the whole thing fails.

Fix this by using Python imports to directly find mesonmain.py instead
of trying to detect it heuristically. In addition to fixing the wrapper
issue, this should make the detection logic much more robust.
</pre>
</div>
</content>
</entry>
<entry>
<title>Imported Debian fixes by Matthias Klose.</title>
<updated>2018-04-02T11:12:34+00:00</updated>
<author>
<name>Jussi Pakkanen</name>
<email>jpakkane@gmail.com</email>
</author>
<published>2018-04-02T09:38:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/meson.git/commit/?id=c72b4e1b9c5973a0938aef3d0bf96c2240701d19'/>
<id>c72b4e1b9c5973a0938aef3d0bf96c2240701d19</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>unit tests: Remove all instances of FakeEnvironment</title>
<updated>2017-12-03T04:36:11+00:00</updated>
<author>
<name>Nirbheek Chauhan</name>
<email>nirbheek@centricular.com</email>
</author>
<published>2017-11-29T12:06:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/meson.git/commit/?id=b2feae98339556eb053d3493bc925f3ceb30ec3b'/>
<id>b2feae98339556eb053d3493bc925f3ceb30ec3b</id>
<content type='text'>
We don't need to use that, and it causes build failures when code
actually uses the environment.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We don't need to use that, and it causes build failures when code
actually uses the environment.
</pre>
</div>
</content>
</entry>
<entry>
<title>Replaced sys.executable use with the mesonlib equivalent.</title>
<updated>2017-11-20T21:08:17+00:00</updated>
<author>
<name>Jussi Pakkanen</name>
<email>jpakkane@gmail.com</email>
</author>
<published>2017-11-10T23:53:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/meson.git/commit/?id=5d51bc79c7555e681a0c638da9528458257744ae'/>
<id>5d51bc79c7555e681a0c638da9528458257744ae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
