summaryrefslogtreecommitdiffstats
path: root/base/stringprintf_unittest.cc
diff options
context:
space:
mode:
authoryusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-02 23:06:26 +0000
committeryusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-02 23:06:26 +0000
commit34d58a296e3b0d3f81f4692a48bc54ec3128c850 (patch)
treefb059cdc70f298603e3a05fc037008571be2e776 /base/stringprintf_unittest.cc
parent256513322f97e767c51012f3fb69321e2169b885 (diff)
downloadchromium_src-34d58a296e3b0d3f81f4692a48bc54ec3128c850.zip
chromium_src-34d58a296e3b0d3f81f4692a48bc54ec3128c850.tar.gz
chromium_src-34d58a296e3b0d3f81f4692a48bc54ec3128c850.tar.bz2
Stop overwriting errno in base::StringPrintf, StringAppendV, and StringToDouble.
BUG=None TEST=new tests added Review URL: https://chromiumcodereview.appspot.com/14749003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198001 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/stringprintf_unittest.cc')
-rw-r--r--base/stringprintf_unittest.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/base/stringprintf_unittest.cc b/base/stringprintf_unittest.cc
index 305d24a..c04b17e 100644
--- a/base/stringprintf_unittest.cc
+++ b/base/stringprintf_unittest.cc
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include <errno.h>
+
#include "base/basictypes.h"
#include "base/stringprintf.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -172,4 +174,14 @@ TEST(StringPrintfTest, PositionalParameters) {
#endif
}
+// Test that StringPrintf and StringAppendV do not change errno.
+TEST(StringPrintfTest, StringPrintfErrno) {
+ errno = 1;
+ EXPECT_EQ("", StringPrintf("%s", ""));
+ EXPECT_EQ(1, errno);
+ std::string out;
+ StringAppendVTestHelper(&out, "%d foo %s", 1, "bar");
+ EXPECT_EQ(1, errno);
+}
+
} // namespace base