<feed xmlns='http://www.w3.org/2005/Atom'>
<title>android-x86-mesa.git/src/glsl/glcpp/tests, branch android-x86-2.2</title>
<subtitle>Androïd/x86 port of Mesa drivers
</subtitle>
<id>https://git.hiegel.fr/cgit/android-x86-mesa.git/atom?h=android-x86-2.2</id>
<link rel='self' href='https://git.hiegel.fr/cgit/android-x86-mesa.git/atom?h=android-x86-2.2'/>
<link rel='alternate' type='text/html' href='https://git.hiegel.fr/cgit/android-x86-mesa.git/'/>
<updated>2010-08-23T17:48:10Z</updated>
<entry>
<title>glcpp: Fix test suite to avoid flagging failed tests as valgrind errors.</title>
<updated>2010-08-23T17:48:10Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-08-23T17:41:30Z</published>
<link rel='alternate' type='text/html' href='https://git.hiegel.fr/cgit/android-x86-mesa.git/commit/?id=21560c40e8aa98624a225752b98babc7ae2938d5'/>
<id>urn:sha1:21560c40e8aa98624a225752b98babc7ae2938d5</id>
<content type='text'>
We recently added several tests that intentionally trigger
preprocessor errors. During valgrind-based testing, our test script
was noticing the non-zero return value from the preprocessor and
incorrectly flagging the valgrind-based test as failing.

To fix this, we make valgrind return an error code that is otherwise
unused by the preprocessor.
</content>
</entry>
<entry>
<title>glcpp: Add new test for #line directive.</title>
<updated>2010-08-23T17:48:10Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-08-23T16:26:44Z</published>
<link rel='alternate' type='text/html' href='https://git.hiegel.fr/cgit/android-x86-mesa.git/commit/?id=2a9e791fdeb45080a98042d41c153ea19c17caae'/>
<id>urn:sha1:2a9e791fdeb45080a98042d41c153ea19c17caae</id>
<content type='text'>
This test exposes two current bugs:

	1. The source number is not being correctly emitted in error
	   messages (instead, it's always 0).

	2. A directive of "#line 0" is resulting in the following
	   parse error:

		preprocessor error: Invalid tokens after #
</content>
</entry>
<entry>
<title>glcpp: Add test for the #error directive.</title>
<updated>2010-08-23T17:48:10Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-08-23T15:54:06Z</published>
<link rel='alternate' type='text/html' href='https://git.hiegel.fr/cgit/android-x86-mesa.git/commit/?id=0acd68c4050fea82797f80ad90212926df4cf001'/>
<id>urn:sha1:0acd68c4050fea82797f80ad90212926df4cf001</id>
<content type='text'>
This directive is already implemented nicely, but wasn't previously tested.
It will be convenient to use this directive in further tests that rely
on error messages, (such as ensuring that #line correctly sets the line
number in the error message).
</content>
</entry>
<entry>
<title>glcpp: Add two new tests for testing redefined macros.</title>
<updated>2010-08-18T06:41:53Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-08-18T06:19:01Z</published>
<link rel='alternate' type='text/html' href='https://git.hiegel.fr/cgit/android-x86-mesa.git/commit/?id=105e2137d67b98c24251be3586985fb61aeaf28a'/>
<id>urn:sha1:105e2137d67b98c24251be3586985fb61aeaf28a</id>
<content type='text'>
The specification says that redefining a macro is an error, unless the
new definitions is identical to the old one, (identical replacement
lists but ignoring differing amounts of whitespace).
</content>
</entry>
<entry>
<title>glcpp: Fix 064-version.c expected result to track recent change.</title>
<updated>2010-08-18T05:23:43Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-08-18T05:23:43Z</published>
<link rel='alternate' type='text/html' href='https://git.hiegel.fr/cgit/android-x86-mesa.git/commit/?id=ce5d0a296c984a9b746f0b248f4cb10ed78bc647'/>
<id>urn:sha1:ce5d0a296c984a9b746f0b248f4cb10ed78bc647</id>
<content type='text'>
In commit 6be3a8b70af4ba4fa4d037d54ecf6d5f055edbc9, the #version directive
was fixed to stop generating a spurious newline. Here we simply update
the expected result for the single test which includes a #version directive.
</content>
</entry>
<entry>
<title>glcpp: Add testcase for #if handling bug that breaks Savage2.</title>
<updated>2010-08-18T00:51:10Z</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2010-08-18T00:50:05Z</published>
<link rel='alternate' type='text/html' href='https://git.hiegel.fr/cgit/android-x86-mesa.git/commit/?id=ede67e307142000a408e40b637132700a4dc2808'/>
<id>urn:sha1:ede67e307142000a408e40b637132700a4dc2808</id>
<content type='text'>
</content>
</entry>
<entry>
<title>glcpp: Fix "unterminated if" diagnostic.</title>
<updated>2010-08-11T21:38:04Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-08-11T21:09:11Z</published>
<link rel='alternate' type='text/html' href='https://git.hiegel.fr/cgit/android-x86-mesa.git/commit/?id=da6b10a7eb26c8a13056cbae9015d5b84f134142'/>
<id>urn:sha1:da6b10a7eb26c8a13056cbae9015d5b84f134142</id>
<content type='text'>
This was previously being appended to the output string *after* a copy
of the supposedly final string was made and handed to the caller. So
the diagnostic was never actually visible to the user.

We fix this by moving the check for an unterminated #if from
glcpp_parser_destroy to the calling function, preprocess.

This fixes the test case 083-unterminated-if.c.
</content>
</entry>
<entry>
<title>glcpp: Add an explicit diagnostic for #if with no expression.</title>
<updated>2010-08-11T21:38:04Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-08-11T20:59:22Z</published>
<link rel='alternate' type='text/html' href='https://git.hiegel.fr/cgit/android-x86-mesa.git/commit/?id=253cad3f424f71f6984431e5edbde1694ccfae3f'/>
<id>urn:sha1:253cad3f424f71f6984431e5edbde1694ccfae3f</id>
<content type='text'>
This is more clear than the previously-generated diagnostic which was
something confusing like "enexpected newline".

This change makse test 080-if-witout-expression.c now pass.
</content>
</entry>
<entry>
<title>glcpp: Reword diagnostic for #elif with no expression</title>
<updated>2010-08-11T21:38:03Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-08-11T20:50:51Z</published>
<link rel='alternate' type='text/html' href='https://git.hiegel.fr/cgit/android-x86-mesa.git/commit/?id=624dd585c72103e5bffbc600cdf7bdfba5305a15'/>
<id>urn:sha1:624dd585c72103e5bffbc600cdf7bdfba5305a15</id>
<content type='text'>
Rather than telling the user what to fix, the standard convention is to
describe what the detected problem is. With this change, test
081-elif-without-expression now passes.
</content>
</entry>
<entry>
<title>glcpp: Add several tests for diagnostics.</title>
<updated>2010-08-11T21:38:03Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-08-11T20:48:13Z</published>
<link rel='alternate' type='text/html' href='https://git.hiegel.fr/cgit/android-x86-mesa.git/commit/?id=cb5ea0c79bd74ea6263d54302ed19c243ceb05de'/>
<id>urn:sha1:cb5ea0c79bd74ea6263d54302ed19c243ceb05de</id>
<content type='text'>
Which are proving to be useful since some of these tests are not yet
acting as desired, (in particular, the unterminated if test is not
generating any diagnostic).
</content>
</entry>
</feed>
