gtest_xml_outfile2_test_.cc 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. // Copyright 2008, Google Inc.
  2. // All rights reserved.
  3. //
  4. // Redistribution and use in source and binary forms, with or without
  5. // modification, are permitted provided that the following conditions are
  6. // met:
  7. //
  8. // * Redistributions of source code must retain the above copyright
  9. // notice, this list of conditions and the following disclaimer.
  10. // * Redistributions in binary form must reproduce the above
  11. // copyright notice, this list of conditions and the following disclaimer
  12. // in the documentation and/or other materials provided with the
  13. // distribution.
  14. // * Neither the name of Google Inc. nor the names of its
  15. // contributors may be used to endorse or promote products derived from
  16. // this software without specific prior written permission.
  17. //
  18. // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  19. // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  20. // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  21. // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  22. // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  23. // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  24. // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  25. // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  26. // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  27. // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  28. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  29. //
  30. // gtest_xml_outfile2_test_ writes some xml via TestProperty used by
  31. // gtest_xml_outfiles_test.py
  32. #include <atomic>
  33. #include "gtest/gtest.h"
  34. class PropertyTwo : public testing::Test {
  35. protected:
  36. void SetUp() override { RecordProperty("SetUpProp", 2); }
  37. void TearDown() override { RecordProperty("TearDownProp", 2); }
  38. };
  39. TEST_F(PropertyTwo, TestInt64ConvertibleProperties) {
  40. float float_prop = 3.25;
  41. RecordProperty("TestFloatProperty", float_prop);
  42. double double_prop = 4.75;
  43. RecordProperty("TestDoubleProperty", double_prop);
  44. // Validate we can write an unsigned size_t as a property
  45. size_t size_t_prop = 5;
  46. RecordProperty("TestSizetProperty", size_t_prop);
  47. bool bool_prop = true;
  48. RecordProperty("TestBoolProperty", bool_prop);
  49. char char_prop = 'A';
  50. RecordProperty("TestCharProperty", char_prop);
  51. int16_t int16_prop = 6;
  52. RecordProperty("TestInt16Property", int16_prop);
  53. int32_t int32_prop = 7;
  54. RecordProperty("TestInt32Property", int32_prop);
  55. int64_t int64_prop = 8;
  56. RecordProperty("TestInt64Property", int64_prop);
  57. enum Foo {
  58. NINE = 9,
  59. };
  60. Foo enum_prop = NINE;
  61. RecordProperty("TestEnumProperty", enum_prop);
  62. std::atomic<int> atomic_int_prop(10);
  63. RecordProperty("TestAtomicIntProperty", atomic_int_prop);
  64. }