diff options
author | Marc-Andre Laperle | 2020-08-03 02:49:07 +0000 |
---|---|---|
committer | Marc-André Laperle | 2020-08-03 16:45:52 +0000 |
commit | 1cb1233c3390fe133906a30e1f8d38ade053548e (patch) | |
tree | 1f9c8df51301d93d28ea6bdb5b0bf92402726b10 /build/org.eclipse.cdt.managedbuilder.core/src/org | |
parent | 76497af249cdaa81b4b29b7b4422484d3d97392e (diff) | |
download | org.eclipse.cdt-1cb1233c3390fe133906a30e1f8d38ade053548e.tar.gz org.eclipse.cdt-1cb1233c3390fe133906a30e1f8d38ade053548e.tar.xz org.eclipse.cdt-1cb1233c3390fe133906a30e1f8d38ade053548e.zip |
Fix CompilationDatabaseParserTest wrongly running the parser twice simultaneously
By design, the parser/provider fires when loading the cproject
description but we also call it by hand in the main code of the tests.
This means CompilationDatabaseParser could be running twice
simultaenously along with the same output parser code that it delegates
to. The problem was exposed fully when adding more complex data
structure (hash maps) to the output parsers in another commit, as it
would produce ConcurrentModificationException.
We need to be careful when we choose to call setProjectDescription
because it triggers the provider and then we have to wait for the jobs
to complete (joinLanguageSettingsJobs). By taking this into
consideration, several tests had to be updated. Most notably, the
read-only config test case had to be merged with the time-stamp update
test case because it was the only sensible way to test before/after
changes of language settings with such config.
Change-Id: Ib3a7caefa95b436ad9b699a2614e966a4a8dfca9
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
Diffstat (limited to 'build/org.eclipse.cdt.managedbuilder.core/src/org')
0 files changed, 0 insertions, 0 deletions