Skip to content
  • Mike Fleetwood's avatar
    Use /dev/disk/by-id/ to get device symlink in test_BlockSpecial · 7fe41480
    Mike Fleetwood authored and Curtis Gedak's avatar Curtis Gedak committed
    Found that older but still supported distributions Debian 8 and
    Ubuntu 14.04 LTS don't have directory /dev/disk/by-path/.  This is used
    by the BlockSpecial unit test as a source of a symbolic link to a block
    special device.
    
    This causes the unit test to fail like this:
    
        $ cd tests
        $ ./test_BlockSpecial
        ...
        [ RUN      ] BlockSpecialTest.NamedBlockSpecialObjectBySymlinkMatches
        test_BlockSpecial.cc:137: Failure
        Failed
        get_link_name(): Failed to open directory '/dev/disk/by-path'
        test_BlockSpecial.cc:168: Failure
        Failed
        follow_link_name(): Failed to resolve symbolic link ''
        test_BlockSpecial.cc:255: Failure
        Expected: (lnk.m_name.c_str()) != (bs.m_name.c_str()), actual: "" vs ""
        [  FAILED  ] BlockSpecialTest.NamedBlockSpecialObjectBySymlinkMatches (0 ms)
        ...
        [  FAILED  ] 1 test, listed below:
        [  FAILED  ] BlockSpecialTest.NamedBlockSpecialObjectBySymlinkMatches
    
         1 FAILED TEST
    
    Which in turn causes make check and make distcheck to fail.
    
    Use directory /dev/disk/by-id/ instead as it always exists.
    7fe41480