Skip to content
  • Mike Fleetwood's avatar
    Move duplicated test code into shared modules (#220) · 8ec302e1
    Mike Fleetwood authored and Curtis Gedak's avatar Curtis Gedak committed
    Move common testing code which doesn't need linking with GParted objects
    into the common module.  Move the remaining common code used to print
    GParted objects using the insertion operator (operator<<) into the
    insertion_operators module.  Split the common code like this so that the
    operator<<(std::ostream&, const OperationDetail&) function is not
    included in test_PipeCapture and it is not forced to link with all the
    non-UI related GParted objects.
    
    The Automake manual provides guidance that when a header belongs to a
    single program it is recommended to be listed in the program's _SOURCES
    variable and for a directory only containing header files listing them
    in the noinst_HEADERS variable is the right variable to use [1].
    However the guidance doesn't cover this case for common.h and
    insertion_operators.h; header files in a directory with other files and
    used by multiple programs.  So just because we have gparted_core_OBJECTS
    (normal Makefile, not Automake special variable) listing objects to link
    with, choose to use noinst_HEADERS Automake variable to list needed
    headers.
    
    [1] GNU Automake manual, 9.2 Header files
        https://www.gnu.org/software/automake/manual/html_node/Headers.html
            "Usually, only header files that accompany installed libraries
            need to be installed.  Headers used by programs or convenience
            libraries are not installed.  The noinst_HEADERS variable can be
            used for such headers.  However, when the header belongs to a
            single convenience library or program, we recommend listing it
            in the program's or library's _SOURCES variable (see Defining
            program sources) instead of in noinst_HEADERS.  This is clearer
            for the Makefile.am reader.  noinst_HEADERS would be the right
            variable to use in a directory containing only headers and no
            associated library or program.
    
            All header files must be listed somewhere; in a _SOURCES
            variable or in a _HEADERS variable.  Missing ones will not
            appear in the distribution.
            "
    
    Closes #220 - Format to Cleared not clearing "pdc" ataraid signature
    8ec302e1