1. 12 Sep, 2016 3 commits
    • Matthew Woehlke's avatar
      Tests: Refactor GenerateExportHeader test code · 612d6f29
      Matthew Woehlke authored
      Refactor the library code used in the GenerateExportHeader test to use
      an improved naming convention that more directly identifies what it
      being tested, making use of namespaces to avoid possible symbol
      collisions. This also eliminates duplicate cases such as `libshared()`
      and `libshared_not_exported()` which had the same decoration, and adds
      consistent pairings of <name>_EXPORT and <name>_DEPRECATED_EXPORT which
      were missing previously. The data tests from the previous commit are
      also added to `libstatic` and `libshared_and_static` for consistency.
      
      Note that there are no exported members of exported classes, as these
      are not allowed on Windows.
      612d6f29
    • Matthew Woehlke's avatar
      Tests: Add data symbols to GenerateExportHeader test · ce76abb4
      Matthew Woehlke authored
      Add static data members and global variables to the GenerateExportHeader
      shared library, testing that export decoration for these works in
      addition to decoration of classes and free functions.
      ce76abb4
    • Matthew Woehlke's avatar
      Tests: Add failure test for GenerateExportHeader · 8f95b93b
      Matthew Woehlke authored
      Modify notation of statements in the GenerateExportHeader test expected
      to result in link errors. Modify script used to build the test to also
      generate a suite of modified sources, each having exactly one of the
      failing lines enabled, and to generate EXCLUDE_FROM_ALL executables for
      the same. Modify RunCMake script used to drive the test to read the list
      of such executables and try to build each of them, verifying that they
      do in fact fail to build.
      
      This will verify that the _NO_EXPORT macros are working as expected, and
      will also catch errors like the one that commit 0cbaaf2d
      (GenerateExportHeader: Fix add_compiler_export_flags regression,
      2016-09-01) fixed.
      
      When setting up the failure tests for GenerateExportHeader, check if the
      compiler actually hides non-exported stuff.  If not, the failure tests
      won't fail, and will cause the overall test to fail.  Since this
      typically is only the case for very old compilers, simply skipping them
      as opposed to trying to do something more fine grained seems reasonably
      safe.
      8f95b93b
  2. 06 Sep, 2016 8 commits
  3. 05 Sep, 2016 10 commits
  4. 04 Sep, 2016 2 commits
  5. 03 Sep, 2016 12 commits
  6. 02 Sep, 2016 5 commits