Skip to content

Comments

fix broken module tests which caused gtkdoc-check to traceback on assert#9807

Merged
eli-schwartz merged 1 commit intomesonbuild:masterfrom
eli-schwartz:gtkdoc-check-true
Jan 11, 2022
Merged

fix broken module tests which caused gtkdoc-check to traceback on assert#9807
eli-schwartz merged 1 commit intomesonbuild:masterfrom
eli-schwartz:gtkdoc-check-true

Conversation

@eli-schwartz
Copy link
Member

@eli-schwartz eli-schwartz commented Jan 10, 2022

Regression in commit 566c2c9.

The interpreter details are a bit of black magic. Functions expect tuples, but they receive lists and then the type-checking decorators convert those to tuples.

So, directly manhandling a self._interpreter.func_*() but passing it the tuple it nominally expected, actually explodes in your face by way of failing an assert, then dumping 'ERROR: Unhandled python exception'.

Fixes use of gnome.gtkdoc(..., check: true), for example when building glib.

/cc @paper42

@eli-schwartz eli-schwartz added this to the 0.61.1 milestone Jan 10, 2022
@codecov
Copy link

codecov bot commented Jan 10, 2022

Codecov Report

Merging #9807 (ebcaa7b) into master (1209b88) will decrease coverage by 3.03%.
The diff coverage is n/a.

❗ Current head ebcaa7b differs from pull request most recent head 81fbcd1. Consider uploading reports for the commit 81fbcd1 to get more accurate results
Impacted file tree graph

@@            Coverage Diff             @@
##           master    #9807      +/-   ##
==========================================
- Coverage   67.39%   64.35%   -3.04%     
==========================================
  Files         400      200     -200     
  Lines       85439    42679   -42760     
  Branches    18832     9321    -9511     
==========================================
- Hits        57583    27468   -30115     
+ Misses      23334    13006   -10328     
+ Partials     4522     2205    -2317     
Impacted Files Coverage Δ
modules/__init__.py 93.93% <0.00%> (-0.96%) ⬇️
mesonbuild/modules/__init__.py
mesonbuild/templates/javatemplates.py
mesonbuild/cmake/tracetargets.py
mesonbuild/mesondata.py
mesonbuild/dependencies/dev.py
mesonbuild/compilers/cs.py
mesonbuild/compilers/mixins/intel.py
mesonbuild/arglist.py
mesonbuild/interpreter/compiler.py
... and 191 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fe51450...81fbcd1. Read the comment docs.

Copy link
Contributor

@paper42 paper42 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can confirm this fixes the glib build for us,

Regression in commit 566c2c9.

The interpreter details are a bit of black magic. Functions expect
tuples, but they receive lists and then the type-checking decorators
convert those to tuples.

So, directly manhandling a self._interpreter.func_*() but passing it the
tuple it nominally expected, actually explodes in your face by way of
failing an assert, then dumping 'ERROR: Unhandled python exception'.

Fixes use of gnome.gtkdoc(..., check: true), for example when building
glib.
@eli-schwartz eli-schwartz merged commit 81fbcd1 into mesonbuild:master Jan 11, 2022
@eli-schwartz eli-schwartz deleted the gtkdoc-check-true branch January 11, 2022 12:16
nirbheek added a commit to nirbheek/meson that referenced this pull request Jan 13, 2022
nirbheek added a commit to nirbheek/meson that referenced this pull request Jan 13, 2022
nirbheek added a commit to nirbheek/meson that referenced this pull request Jan 14, 2022
check: true is needed for an actual regression test, but that requires
a pedantically correct gtk-doc configuration, which I attempted to do
and failed. So let's just put check: false so we get *some* coverage.

Related to mesonbuild#9807
nirbheek added a commit to nirbheek/meson that referenced this pull request Jan 14, 2022
nirbheek added a commit to nirbheek/meson that referenced this pull request Jan 14, 2022
check: true is needed for an actual regression test, but that requires
a pedantically correct gtk-doc configuration, which I attempted to do
and failed. So let's just put check: false so we get *some* coverage.

Related to mesonbuild#9807
nirbheek added a commit to nirbheek/meson that referenced this pull request Jan 14, 2022
nirbheek added a commit to nirbheek/meson that referenced this pull request Jan 14, 2022
check: true is needed for an actual regression test, but that requires
a pedantically correct gtk-doc configuration, which I attempted to do
and failed. So let's just put check: false so we get *some* coverage.

Related to mesonbuild#9807
nirbheek added a commit to nirbheek/meson that referenced this pull request Jan 14, 2022
check: true is needed for an actual regression test, but that requires
a pedantically correct gtk-doc configuration, which I attempted to do
and failed. So let's just put check: false so we get *some* coverage:
just that typed_kwargs accepts the argument.

Related to mesonbuild#9807
nirbheek added a commit that referenced this pull request Jan 14, 2022
nirbheek added a commit that referenced this pull request Jan 14, 2022
check: true is needed for an actual regression test, but that requires
a pedantically correct gtk-doc configuration, which I attempted to do
and failed. So let's just put check: false so we get *some* coverage:
just that typed_kwargs accepts the argument.

Related to #9807
nirbheek added a commit that referenced this pull request Jan 14, 2022
nirbheek added a commit that referenced this pull request Jan 14, 2022
check: true is needed for an actual regression test, but that requires
a pedantically correct gtk-doc configuration, which I attempted to do
and failed. So let's just put check: false so we get *some* coverage:
just that typed_kwargs accepts the argument.

Related to #9807
Dudemanguy pushed a commit to Dudemanguy/meson that referenced this pull request Jan 21, 2022
Dudemanguy pushed a commit to Dudemanguy/meson that referenced this pull request Jan 21, 2022
check: true is needed for an actual regression test, but that requires
a pedantically correct gtk-doc configuration, which I attempted to do
and failed. So let's just put check: false so we get *some* coverage:
just that typed_kwargs accepts the argument.

Related to mesonbuild#9807
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants