tree 41b13474309e1dbb9a53b0e19ae4f78ee44c94a5
parent 6be4f8997b2006938c0dcb55a30bb81d304f9a15
author Scott Graham <scottmg@google.com> 1550099089 -0800
committer CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> 1550279330 +0000

[gn][fvm-host] Suppress warnings in test code

[4118->5748/9923 ~58] CXX host-x64-linux-clang/obj/system/utest/fvm-host/fvm-host-test.main.cpp.o
../system/utest/fvm-host/main.cpp:305:5: warning: comparison of integers of different signs: 'const long' and 'const unsigned long' [-Wsign-compare]
    ASSERT_EQ(emu_write(fd, data.get(), size), size, "Failed to write data to file");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../system/ulib/unittest/include/unittest/unittest.h:601:45: note: expanded from macro 'ASSERT_EQ'
                                 ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../system/ulib/unittest/include/unittest/unittest.h:599:12: note: expanded from macro 'ASSERT_CMP'
    UT_CMP(op, lhs, rhs, lhs_str, rhs_str, RET_FALSE, ##__VA_ARGS__)
    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../system/ulib/unittest/include/unittest/unittest.h:416:24: note: expanded from macro 'UT_CMP'
        if (!(_lhs_val op _rhs_val)) {                                  \
              ~~~~~~~~ ^  ~~~~~~~~
../system/utest/fvm-host/main.cpp:342:5: warning: comparison of integers of different signs: 'const long' and 'const unsigned long' [-Wsign-compare]
    ASSERT_EQ(write(datafd.get(), data.get(), size), size, "Failed to write data to file");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../system/ulib/unittest/include/unittest/unittest.h:601:45: note: expanded from macro 'ASSERT_EQ'
                                 ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../system/ulib/unittest/include/unittest/unittest.h:599:12: note: expanded from macro 'ASSERT_CMP'
    UT_CMP(op, lhs, rhs, lhs_str, rhs_str, RET_FALSE, ##__VA_ARGS__)
    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../system/ulib/unittest/include/unittest/unittest.h:416:24: note: expanded from macro 'UT_CMP'
        if (!(_lhs_val op _rhs_val)) {                                  \
              ~~~~~~~~ ^  ~~~~~~~~
../system/utest/fvm-host/main.cpp:710:11: warning: implicit conversion loses integer precision: 'time_t' (aka 'long') to 'unsigned int' [-Wshorten-64-to-32]
    srand(time(0));
    ~~~~~ ^~~~~~~
3 warnings generated.

ZX-3415 #comment [gn][fvm-host] Suppress warnings in test code

Test: CQ
Change-Id: Ia3014a4cc40fc72ca8bca7dbe55fda244b17029a
