[==========] Running 172 tests from 27 test suites.
[----------] Global test environment set-up.
[----------] 3 tests from Directory
[ RUN ] Directory.CreateDirectory
[ OK ] Directory.CreateDirectory (17 ms)
[ RUN ] Directory.CreateDirectoryAt
[ OK ] Directory.CreateDirectoryAt (8 ms)
[ RUN ] Directory.ReadDirContents
[ OK ] Directory.ReadDirContents (9 ms)
[----------] 3 tests from Directory (34 ms total)
[----------] 1 test from FileDescriptor
[ RUN ] FileDescriptor.WriteAndRead
[ OK ] FileDescriptor.WriteAndRead (3 ms)
[----------] 1 test from FileDescriptor (4 ms total)
[----------] 5 tests from File
[ RUN ] File.WriteFileInTwoPhases
[ OK ] File.WriteFileInTwoPhases (6 ms)
[ RUN ] File.ReadWriteFileAt
[ OK ] File.ReadWriteFileAt (4 ms)
[ RUN ] File.IsFileAt
[ OK ] File.IsFileAt (3 ms)
[ RUN ] File.GetFileSize
[ OK ] File.GetFileSize (4 ms)
[ RUN ] File.GetFileSizeAt
[ OK ] File.GetFileSizeAt (4 ms)
[----------] 5 tests from File (21 ms total)
[----------] 9 tests from TestGlob
[ RUN ] TestGlob.Empty
[ OK ] TestGlob.Empty (13 ms)
[ RUN ] TestGlob.EmptyDir
[ OK ] TestGlob.EmptyDir (14 ms)
[ RUN ] TestGlob.AllFiles
[ OK ] TestGlob.AllFiles (13 ms)
[ RUN ] TestGlob.FilePrefix
[ OK ] TestGlob.FilePrefix (14 ms)
[ RUN ] TestGlob.Subdirectory
[ OK ] TestGlob.Subdirectory (12 ms)
[ RUN ] TestGlob.MultiplePaths
[ OK ] TestGlob.MultiplePaths (14 ms)
[ RUN ] TestGlob.MarkOption
[ OK ] TestGlob.MarkOption (12 ms)
[ RUN ] TestGlob.NoSortOption
[ OK ] TestGlob.NoSortOption (12 ms)
[ RUN ] TestGlob.Iterator
[ OK ] TestGlob.Iterator (11 ms)
[----------] 9 tests from TestGlob (115 ms total)
[----------] 9 tests from Path
[ RUN ] Path.SimplifyPath
[ OK ] Path.SimplifyPath (0 ms)
[ RUN ] Path.AbsolutePath
[ OK ] Path.AbsolutePath (1 ms)
[ RUN ] Path.GetDirectoryName
[ OK ] Path.GetDirectoryName (0 ms)
[ RUN ] Path.GetBaseName
[ OK ] Path.GetBaseName (0 ms)
[ RUN ] Path.DeletePath
[ OK ] Path.DeletePath (2 ms)
[ RUN ] Path.DeletePathAt
[ OK ] Path.DeletePathAt (5 ms)
[ RUN ] Path.DeletePathRecursively
[ OK ] Path.DeletePathRecursively (11 ms)
[ RUN ] Path.DeletePathRecursivelyAt
[ OK ] Path.DeletePathRecursivelyAt (10 ms)
[ RUN ] Path.JoinPath
[ OK ] Path.JoinPath (0 ms)
[----------] 9 tests from Path (29 ms total)
[----------] 4 tests from ScopedTempDir
[ RUN ] ScopedTempDir.Creation
[ OK ] ScopedTempDir.Creation (3 ms)
[ RUN ] ScopedTempDir.Deletion
[ OK ] ScopedTempDir.Deletion (2 ms)
[ RUN ] ScopedTempDir.NewTempFile
[ OK ] ScopedTempDir.NewTempFile (2 ms)
[ RUN ] ScopedTempDir.CustomParent
[ OK ] ScopedTempDir.CustomParent (8 ms)
[----------] 4 tests from ScopedTempDir (16 ms total)
[----------] 4 tests from ScopedTempDirAt
[ RUN ] ScopedTempDirAt.Creation
[ OK ] ScopedTempDirAt.Creation (4 ms)
[ RUN ] ScopedTempDirAt.Deletion
[ OK ] ScopedTempDirAt.Deletion (4 ms)
[ RUN ] ScopedTempDirAt.NewTempFile
[ OK ] ScopedTempDirAt.NewTempFile (4 ms)
[ RUN ] ScopedTempDirAt.CustomParent
[ OK ] ScopedTempDirAt.CustomParent (13 ms)
[----------] 4 tests from ScopedTempDirAt (25 ms total)
[----------] 1 test from ArraySize
[ RUN ] ArraySize.Control
[ OK ] ArraySize.Control (0 ms)
[----------] 1 test from ArraySize (0 ms total)
[----------] 12 tests from CommandLineTest
[ RUN ] CommandLineTest.Basic
[ OK ] CommandLineTest.Basic (0 ms)
[ RUN ] CommandLineTest.DefaultConstructor
[ OK ] CommandLineTest.DefaultConstructor (0 ms)
[ RUN ] CommandLineTest.ComponentConstructor
[ OK ] CommandLineTest.ComponentConstructor (0 ms)
[ RUN ] CommandLineTest.CommandLineFromIteratorsFindFirstPositionalArg
[ OK ] CommandLineTest.CommandLineFromIteratorsFindFirstPositionalArg (0 ms)
[ RUN ] CommandLineTest.CommandLineFromIterators
[ OK ] CommandLineTest.CommandLineFromIterators (0 ms)
[ RUN ] CommandLineTest.CommandLineFromArgcArgv
[ OK ] CommandLineTest.CommandLineFromArgcArgv (0 ms)
[ RUN ] CommandLineTest.CommandLineFromInitializerList
[ OK ] CommandLineTest.CommandLineFromInitializerList (0 ms)
[ RUN ] CommandLineTest.OddArguments
[ OK ] CommandLineTest.OddArguments (0 ms)
[ RUN ] CommandLineTest.MultipleOccurrencesOfOption
[ OK ] CommandLineTest.MultipleOccurrencesOfOption (0 ms)
[ RUN ] CommandLineTest.ComparisonOperators
[ OK ] CommandLineTest.ComparisonOperators (1 ms)
[ RUN ] CommandLineTest.MoveAndCopy
[ OK ] CommandLineTest.MoveAndCopy (0 ms)
[ RUN ] CommandLineTest.CommandLineToArgv
[ OK ] CommandLineTest.CommandLineToArgv (0 ms)
[----------] 12 tests from CommandLineTest (1 ms total)
[----------] 3 tests from Apply
[ RUN ] Apply.SimpleCall
[ OK ] Apply.SimpleCall (0 ms)
[ RUN ] Apply.NoReturnValue
[ OK ] Apply.NoReturnValue (0 ms)
[ RUN ] Apply.Moveable
[ OK ] Apply.Moveable (0 ms)
[----------] 3 tests from Apply (0 ms total)
[----------] 6 tests from CancelableCallbackTest
[ RUN ] CancelableCallbackTest.Cancel
[ OK ] CancelableCallbackTest.Cancel (0 ms)
[ RUN ] CancelableCallbackTest.MultipleCancel
[ OK ] CancelableCallbackTest.MultipleCancel (0 ms)
[ RUN ] CancelableCallbackTest.CancelOnDestruction
[ OK ] CancelableCallbackTest.CancelOnDestruction (0 ms)
[ RUN ] CancelableCallbackTest.IsCanceled
[ OK ] CancelableCallbackTest.IsCanceled (0 ms)
[ RUN ] CancelableCallbackTest.Reset
[ OK ] CancelableCallbackTest.Reset (0 ms)
[ RUN ] CancelableCallbackTest.VaryingSignatures
[ OK ] CancelableCallbackTest.VaryingSignatures (0 ms)
[----------] 6 tests from CancelableCallbackTest (0 ms total)
[----------] 3 tests from LogSettings
[ RUN ] LogSettings.DefaultOptions
[ OK ] LogSettings.DefaultOptions (0 ms)
[ RUN ] LogSettings.ParseValidOptions
[ OK ] LogSettings.ParseValidOptions (0 ms)
[ RUN ] LogSettings.ParseInvalidOptions
[ERROR:src/lib/fxl/log_settings_command_line.cc(24)] Error parsing --verbose option.
[ERROR:src/lib/fxl/log_settings_command_line.cc(24)] Error parsing --verbose option.
[ERROR:src/lib/fxl/log_settings_command_line.cc(36)] Error parsing --quiet option.
[ERROR:src/lib/fxl/log_settings_command_line.cc(36)] Error parsing --quiet option.
[ OK ] LogSettings.ParseInvalidOptions (0 ms)
[----------] 3 tests from LogSettings (0 ms total)
[----------] 6 tests from LogSettingsFixture
[ RUN ] LogSettingsFixture.SetAndGet
[ OK ] LogSettingsFixture.SetAndGet (0 ms)
[ RUN ] LogSettingsFixture.SetValidOptions
[ OK ] LogSettingsFixture.SetValidOptions (0 ms)
[ RUN ] LogSettingsFixture.SetInvalidOptions
[ERROR:src/lib/fxl/log_settings_command_line.cc(24)] Error parsing --verbose option.
[ OK ] LogSettingsFixture.SetInvalidOptions (0 ms)
[ RUN ] LogSettingsFixture.SetValidLogFile
[ OK ] LogSettingsFixture.SetValidLogFile (11 ms)
[ RUN ] LogSettingsFixture.SetInvalidLogFile
Could not open log file: \\//invalid-path (No such file or directory)
[ OK ] LogSettingsFixture.SetInvalidLogFile (0 ms)
[ RUN ] LogSettingsFixture.ToArgv
[ OK ] LogSettingsFixture.ToArgv (0 ms)
[----------] 6 tests from LogSettingsFixture (11 ms total)
[----------] 12 tests from RefCountedTest
[ RUN ] RefCountedTest.Constructors
[ OK ] RefCountedTest.Constructors (0 ms)
[ RUN ] RefCountedTest.NullAssignmentToNull
[ OK ] RefCountedTest.NullAssignmentToNull (0 ms)
[ RUN ] RefCountedTest.NonNullAssignmentToNull
[ OK ] RefCountedTest.NonNullAssignmentToNull (0 ms)
[ RUN ] RefCountedTest.NullAssignmentToNonNull
[ OK ] RefCountedTest.NullAssignmentToNonNull (0 ms)
[ RUN ] RefCountedTest.NonNullAssignmentToNonNull
[ OK ] RefCountedTest.NonNullAssignmentToNonNull (0 ms)
[ RUN ] RefCountedTest.SelfAssignment
[ OK ] RefCountedTest.SelfAssignment (0 ms)
[ RUN ] RefCountedTest.Swap
[ OK ] RefCountedTest.Swap (0 ms)
[ RUN ] RefCountedTest.GetAndDereferenceOperators
[ OK ] RefCountedTest.GetAndDereferenceOperators (0 ms)
[ RUN ] RefCountedTest.AddRefRelease
[ OK ] RefCountedTest.AddRefRelease (0 ms)
[ RUN ] RefCountedTest.Mix
[ OK ] RefCountedTest.Mix (0 ms)
[ RUN ] RefCountedTest.PublicCtorAndDtor
[ OK ] RefCountedTest.PublicCtorAndDtor (0 ms)
[ RUN ] RefCountedTest.RefPtrRelease
[ OK ] RefCountedTest.RefPtrRelease (0 ms)
[----------] 12 tests from RefCountedTest (0 ms total)
[----------] 16 tests from WeakPtrTest
[ RUN ] WeakPtrTest.Basic
[ OK ] WeakPtrTest.Basic (0 ms)
[ RUN ] WeakPtrTest.CopyConstruction
[ OK ] WeakPtrTest.CopyConstruction (0 ms)
[ RUN ] WeakPtrTest.MoveConstruction
[ OK ] WeakPtrTest.MoveConstruction (0 ms)
[ RUN ] WeakPtrTest.CopyAssignment
[ OK ] WeakPtrTest.CopyAssignment (0 ms)
[ RUN ] WeakPtrTest.MoveAssignment
[ OK ] WeakPtrTest.MoveAssignment (0 ms)
[ RUN ] WeakPtrTest.Testable
[ OK ] WeakPtrTest.Testable (0 ms)
[ RUN ] WeakPtrTest.OutOfScope
[ OK ] WeakPtrTest.OutOfScope (0 ms)
[ RUN ] WeakPtrTest.Multiple
[ OK ] WeakPtrTest.Multiple (0 ms)
[ RUN ] WeakPtrTest.MultipleStaged
[ OK ] WeakPtrTest.MultipleStaged (0 ms)
[ RUN ] WeakPtrTest.Dereference
[ OK ] WeakPtrTest.Dereference (0 ms)
[ RUN ] WeakPtrTest.UpcastCopyConstruction
[ OK ] WeakPtrTest.UpcastCopyConstruction (0 ms)
[ RUN ] WeakPtrTest.UpcastMoveConstruction
[ OK ] WeakPtrTest.UpcastMoveConstruction (0 ms)
[ RUN ] WeakPtrTest.UpcastCopyAssignment
[ OK ] WeakPtrTest.UpcastCopyAssignment (0 ms)
[ RUN ] WeakPtrTest.UpcastMoveAssignment
[ OK ] WeakPtrTest.UpcastMoveAssignment (0 ms)
[ RUN ] WeakPtrTest.InvalidateWeakPtrs
[ OK ] WeakPtrTest.InvalidateWeakPtrs (0 ms)
[ RUN ] WeakPtrTest.HasWeakPtrs
[ OK ] WeakPtrTest.HasWeakPtrs (0 ms)
[----------] 16 tests from WeakPtrTest (0 ms total)
[----------] 19 tests from ObserverListTest
[ RUN ] ObserverListTest.BasicTest
[ OK ] ObserverListTest.BasicTest (0 ms)
[ RUN ] ObserverListTest.DisruptSelf
[ OK ] ObserverListTest.DisruptSelf (0 ms)
[ RUN ] ObserverListTest.DisruptBefore
[ OK ] ObserverListTest.DisruptBefore (0 ms)
[ RUN ] ObserverListTest.Existing
[ OK ] ObserverListTest.Existing (0 ms)
[ RUN ] ObserverListTest.ClearNotifyAll
[ OK ] ObserverListTest.ClearNotifyAll (0 ms)
[ RUN ] ObserverListTest.ClearNotifyExistingOnly
[ OK ] ObserverListTest.ClearNotifyExistingOnly (0 ms)
[ RUN ] ObserverListTest.IteratorOutlivesList
[ OK ] ObserverListTest.IteratorOutlivesList (0 ms)
[ RUN ] ObserverListTest.BasicStdIterator
[ OK ] ObserverListTest.BasicStdIterator (0 ms)
[ RUN ] ObserverListTest.StdIteratorRemoveItself
[ OK ] ObserverListTest.StdIteratorRemoveItself (0 ms)
[ RUN ] ObserverListTest.StdIteratorRemoveBefore
[ OK ] ObserverListTest.StdIteratorRemoveBefore (0 ms)
[ RUN ] ObserverListTest.StdIteratorRemoveAfter
[ OK ] ObserverListTest.StdIteratorRemoveAfter (0 ms)
[ RUN ] ObserverListTest.StdIteratorRemoveAfterFront
[ OK ] ObserverListTest.StdIteratorRemoveAfterFront (0 ms)
[ RUN ] ObserverListTest.StdIteratorRemoveBeforeBack
[ OK ] ObserverListTest.StdIteratorRemoveBeforeBack (0 ms)
[ RUN ] ObserverListTest.StdIteratorRemoveFront
[ OK ] ObserverListTest.StdIteratorRemoveFront (0 ms)
[ RUN ] ObserverListTest.StdIteratorRemoveBack
[ OK ] ObserverListTest.StdIteratorRemoveBack (0 ms)
[ RUN ] ObserverListTest.NestedLoop
[ OK ] ObserverListTest.NestedLoop (0 ms)
[ RUN ] ObserverListTest.NonCompactList
[ OK ] ObserverListTest.NonCompactList (0 ms)
[ RUN ] ObserverListTest.BecomesEmptyThanNonEmpty
[ OK ] ObserverListTest.BecomesEmptyThanNonEmpty (0 ms)
[ RUN ] ObserverListTest.AddObserverInTheLastObserve
[ OK ] ObserverListTest.AddObserverInTheLastObserve (0 ms)
[----------] 19 tests from ObserverListTest (0 ms total)
[----------] 7 tests from StringUtil
[ RUN ] StringUtil.ToLowerASCII
[ OK ] StringUtil.ToLowerASCII (0 ms)
[ RUN ] StringUtil.ToUpperASCII
[ OK ] StringUtil.ToUpperASCII (0 ms)
[ RUN ] StringUtil.EqualsCaseInsensitiveASCII
[ OK ] StringUtil.EqualsCaseInsensitiveASCII (0 ms)
[ RUN ] StringUtil.Concatenate
[ OK ] StringUtil.Concatenate (0 ms)
[ RUN ] StringUtil.JoinStrings
[ OK ] StringUtil.JoinStrings (0 ms)
[ RUN ] StringUtil.SplitString
[ OK ] StringUtil.SplitString (0 ms)
[ RUN ] StringUtil.TrimString
[ OK ] StringUtil.TrimString (0 ms)
[----------] 7 tests from StringUtil (0 ms total)
[----------] 9 tests from StringNumberConversionsTest
[ RUN ] StringNumberConversionsTest.NumberToString_Basic
[ OK ] StringNumberConversionsTest.NumberToString_Basic (0 ms)
[ RUN ] StringNumberConversionsTest.NumberToString_Basic_Base16
[ OK ] StringNumberConversionsTest.NumberToString_Basic_Base16 (0 ms)
[ RUN ] StringNumberConversionsTest.NumberToString_StdintTypes
[ OK ] StringNumberConversionsTest.NumberToString_StdintTypes (0 ms)
[ RUN ] StringNumberConversionsTest.StringToNumberWithError_Basic
[ OK ] StringNumberConversionsTest.StringToNumberWithError_Basic (0 ms)
[ RUN ] StringNumberConversionsTest.StringToNumberWithError_Errors
[ OK ] StringNumberConversionsTest.StringToNumberWithError_Errors (0 ms)
[ RUN ] StringNumberConversionsTest.StringToNumberWithError_LeadingZeros
[ OK ] StringNumberConversionsTest.StringToNumberWithError_LeadingZeros (0 ms)
[ RUN ] StringNumberConversionsTest.StringToNumberWithError_StdintTypes
[ OK ] StringNumberConversionsTest.StringToNumberWithError_StdintTypes (0 ms)
[ RUN ] StringNumberConversionsTest.StringToNumber_Basic
[ OK ] StringNumberConversionsTest.StringToNumber_Basic (0 ms)
[ RUN ] StringNumberConversionsTest.StringToNumber_Errors
[ OK ] StringNumberConversionsTest.StringToNumber_Errors (0 ms)
[----------] 9 tests from StringNumberConversionsTest (0 ms total)
[----------] 6 tests from StringPrintfTest
[ RUN ] StringPrintfTest.StringPrintf_Basic
[ OK ] StringPrintfTest.StringPrintf_Basic (0 ms)
[ RUN ] StringPrintfTest.StringVPrintf_Basic
[ OK ] StringPrintfTest.StringVPrintf_Basic (0 ms)
[ RUN ] StringPrintfTest.StringAppendf_Basic
[ OK ] StringPrintfTest.StringAppendf_Basic (0 ms)
[ RUN ] StringPrintfTest.StringVAppendf_Basic
[ OK ] StringPrintfTest.StringVAppendf_Basic (0 ms)
[ RUN ] StringPrintfTest.StringPrintf_Boundary
[ OK ] StringPrintfTest.StringPrintf_Boundary (1 ms)
[ RUN ] StringPrintfTest.StringPrintf_VeryBig
[ OK ] StringPrintfTest.StringPrintf_VeryBig (125 ms)
[----------] 6 tests from StringPrintfTest (127 ms total)
[----------] 19 tests from StringView
[ RUN ] StringView.Constructors
[ OK ] StringView.Constructors (0 ms)
[ RUN ] StringView.ConstExprConstructors
[ OK ] StringView.ConstExprConstructors (0 ms)
[ RUN ] StringView.CopyOperator
[ OK ] StringView.CopyOperator (0 ms)
[ RUN ] StringView.CapacityMethods
[ OK ] StringView.CapacityMethods (0 ms)
[ RUN ] StringView.AccessMethods
[ OK ] StringView.AccessMethods (0 ms)
[ RUN ] StringView.Iterators
[ OK ] StringView.Iterators (0 ms)
[ RUN ] StringView.Modifiers
[ OK ] StringView.Modifiers (0 ms)
[ RUN ] StringView.SubString
[ OK ] StringView.SubString (0 ms)
[ RUN ] StringView.Compare
[ OK ] StringView.Compare (0 ms)
[ RUN ] StringView.ComparaisonFunctions
[ OK ] StringView.ComparaisonFunctions (0 ms)
[ RUN ] StringView.Stream
[ OK ] StringView.Stream (0 ms)
[ RUN ] StringView.find_String
[ OK ] StringView.find_String (0 ms)
[ RUN ] StringView.find_Chars
[ OK ] StringView.find_Chars (0 ms)
[ RUN ] StringView.rfind_String
[ OK ] StringView.rfind_String (0 ms)
[ RUN ] StringView.rfind_Char
[ OK ] StringView.rfind_Char (0 ms)
[ RUN ] StringView.find_first_of
[ OK ] StringView.find_first_of (8 ms)
[ RUN ] StringView.find_last_of
[ OK ] StringView.find_last_of (7 ms)
[ RUN ] StringView.find_first_not_of
[ OK ] StringView.find_first_not_of (8 ms)
[ RUN ] StringView.find_last_not_of
[ OK ] StringView.find_last_not_of (7 ms)
[----------] 19 tests from StringView (30 ms total)
[----------] 7 tests from Substitute
[ RUN ] Substitute.Args
[ OK ] Substitute.Args (0 ms)
[ RUN ] Substitute.ReusePlaceholder
[ OK ] Substitute.ReusePlaceholder (0 ms)
[ RUN ] Substitute.Numbers
[ OK ] Substitute.Numbers (0 ms)
[ RUN ] Substitute.SingleDigitsOnly
[ OK ] Substitute.SingleDigitsOnly (0 ms)
[ RUN ] Substitute.Packed
[ OK ] Substitute.Packed (0 ms)
[ RUN ] Substitute.Dollar
[ OK ] Substitute.Dollar (0 ms)
[ RUN ] Substitute.Error
[ERROR:src/lib/fxl/strings/substitute.cc(120)] fxl::Substitute missing argument for $1: "Hello $0$1"
[ERROR:src/lib/fxl/strings/substitute.cc(120)] fxl::Substitute missing argument for $2: "$0 world$1$2"
[ERROR:src/lib/fxl/strings/substitute.cc(128)] fxl::Substitute encountered trailing '$': "$0 world$"
[ OK ] Substitute.Error (0 ms)
[----------] 7 tests from Substitute (0 ms total)
[----------] 2 tests from ThreadAnnotationsTest
[ RUN ] ThreadAnnotationsTest.GuardedBy
[ OK ] ThreadAnnotationsTest.GuardedBy (0 ms)
[ RUN ] ThreadAnnotationsTest.AcquiredBefore
[ OK ] ThreadAnnotationsTest.AcquiredBefore (0 ms)
[----------] 2 tests from ThreadAnnotationsTest (0 ms total)
[----------] 2 tests from ThreadCheckerTest
[ RUN ] ThreadCheckerTest.SameThread
[ OK ] ThreadCheckerTest.SameThread (0 ms)
[ RUN ] ThreadCheckerTest.DifferentThreads
[ OK ] ThreadCheckerTest.DifferentThreads (1 ms)
[----------] 2 tests from ThreadCheckerTest (1 ms total)
[----------] 1 test from Stopwatch
[ RUN ] Stopwatch.Control
[ OK ] Stopwatch.Control (0 ms)
[----------] 1 test from Stopwatch (0 ms total)
[----------] 1 test from TimeDelta
[ RUN ] TimeDelta.Control
[ OK ] TimeDelta.Control (0 ms)
[----------] 1 test from TimeDelta (0 ms total)
[----------] 1 test from TimePoint
[ RUN ] TimePoint.Control
[ OK ] TimePoint.Control (0 ms)
[----------] 1 test from TimePoint (0 ms total)
[----------] 4 tests from Time
[ RUN ] Time.Now
[ OK ] Time.Now (0 ms)
[ RUN ] Time.IntConversions
[ OK ] Time.IntConversions (0 ms)
[ RUN ] Time.FloatConversions
[ OK ] Time.FloatConversions (0 ms)
[ RUN ] Time.TimespecConversions
[ OK ] Time.TimespecConversions (0 ms)
[----------] 4 tests from Time (0 ms total)
[----------] Global test environment tear-down
[==========] 172 tests from 27 test suites ran. (414 ms total)
[ PASSED ] 172 tests.