Commit Graph

616 Commits

Author SHA1 Message Date
Mario Werner
ded46cc1b6 build test-main library again to improve build time 2016-02-03 12:59:03 +01:00
Mario Werner
c1a4cd0fa7 check if cppformat is the master project or just used as dependency
Based on that information less intrusive option defaults are choosen.
Additionally, packaging support is omitted.
2016-02-03 11:20:19 +01:00
Mario Werner
797d72133e restored smoke test for syntax compatibility with the 98 c++ standard 2016-02-03 10:01:53 +01:00
Mario Werner
e0e8f717a0 FMT_USE_FILE_DESCRIPTORS is apparently only needed for the tests 2016-02-03 09:14:32 +01:00
vitaut
cfb25b0e80 Use typedefs instead of macros 2016-02-02 22:06:54 -08:00
vitaut
e489f879c3 Add locale tests 2016-02-02 17:21:09 -08:00
Mario Werner
c0e926109e use the same warning options like before the PR
Additional notes on how to improve the current state have been added.
2016-02-02 17:14:51 +01:00
Mario Werner
b05a02b91c remove comment which is now superfluous since the code has been moved 2016-02-02 17:04:12 +01:00
Mario Werner
d411aa165e use quotes for including cppformat headers from the tests 2016-02-02 16:58:41 +01:00
Mario Werner
0a4acc9656 use the cmake and ctest to drive the appveyor build 2016-02-01 10:22:47 +01:00
Mario Werner
d3fe82c55b propagate the build type into the find test 2016-01-31 20:17:39 +01:00
Mario Werner
a659d8079e Merge branch 'master' into update-project-layout 2016-01-31 17:00:05 +01:00
Mario Werner
00fda9b25a add a test for the find script on the build directory 2016-01-31 00:02:49 +01:00
Mario Werner
4aeeb49d23 updated compile-test and include a working test
This makes sure that the test does not break due to other reasons.
2016-01-30 23:49:39 +01:00
Mario Werner
fee52f79b8 update the includes in the tests to get rid of the deprecated warnings 2016-01-30 22:33:37 +01:00
vitaut
95c0fb5075 Add a "C" numeric locale 2016-01-29 16:29:46 -08:00
Mario Werner
5e7ab2f4ea major cleanup of the test folders CMakeLists.txt
The new code does not rely on globally defined include directories
anymore. Additionally a lot of conditional code and has been removed
which improves readability a lot.
2016-01-29 16:21:17 +01:00
Mario Werner
b52d0bd9d4 define cppformat cmake targets with proper interface definitions 2016-01-29 13:23:08 +01:00
Mario Werner
0fb474be3a outlined the compiler feature tests to improve script readability 2016-01-29 13:03:47 +01:00
Mario Werner
3019a8c1fd moved code into cppformat subdirectory
Proxy headers have been placed into the project root to emit
deprecation warnings.
2016-01-29 12:49:35 +01:00
vitaut
7ee287d3d9 Sign extend arguments of smaller types passed to %ll? (#265) 2016-01-27 07:03:19 -08:00
vitaut
8474a6232d Don't perform narrowing conversion for integers in printf (#255) 2016-01-24 00:43:42 +01:00
Mario Werner
ef7bbfff87 removed workaround for cmake versions prior to 2.8.10 2016-01-13 09:54:02 +01:00
vitaut
97e9ed11bc Set interface include dir for gmock 2016-01-09 08:07:31 -08:00
vitaut
f55bf55d43 Correct comment 2016-01-09 08:06:59 -08:00
Nicholas Hutchinson
1a5a1708b7 Add fprintf overload that writes to a std::ostream
For completeness, add an overload for printf that takes a std::ostream.
2015-12-23 15:59:13 +13:00
vitaut
1cba0aea27 Simplify CMake config and do minor adjustments
for consistency with used coding conventions.
2015-12-10 07:24:23 -08:00
Maciej Dems
c47318afa8 Declarations for shared library in Windows.
Added __declspec(dllimport) and __declspec(dllexport) declarations
when compiled in Windows.
2015-12-10 13:36:18 +01:00
vitaut
e7f4566dd4 Replace <algorithm> with <memory>
~20% faster compile time on bloat-test
2015-12-04 22:57:36 -08:00
vitaut
0ea73df717 Merge branch 'custom-formatter' 2015-12-04 07:24:09 -08:00
vitaut
aa7bb101ed Undefine fileno if defined in posix-test 2015-12-03 20:17:04 -08:00
vitaut
6ced4230f4 Initial support for custom formatters 2015-12-02 08:41:05 -08:00
vitaut
b8bd80ff28 Fix handling of empty non-null-terminated strings 2015-11-25 09:49:01 -08:00
vitaut
6cff6d8137 Use overloaded operator<< for enums if available (#232) 2015-11-24 08:18:19 -08:00
vitaut
1a2a333a1a Use format specifiers when formatting null pointers & strings 2015-11-23 21:01:28 -08:00
vitaut
8beadace37 Improve detection of isinf, isnan and getsign 2015-11-21 07:20:18 -08:00
vitaut
9c03176e6b Fix util-test 2015-11-13 15:16:10 -08:00
vitaut
2157375d5c Use textual formatting for bool with %s specifier in printf (#224) 2015-11-13 07:18:44 -08:00
vitaut
57ba9436a0 Format null string as (nil) with p specifier 2015-11-12 06:09:08 -08:00
vitaut
b5fda1c90d Format null pointer as (nil) and null string as (null) in printf (#226) 2015-11-11 07:57:19 -08:00
vitaut
d6d019aa12 Don't assume that StringRef::compare returns +/-1 2015-11-11 06:44:57 -08:00
vitaut
aa741bafe6 Don't assume that char_traits::compare returns +/-1 (#225) 2015-11-10 06:40:20 -08:00
vitaut
8b86a74ad5 Allow formatting C strings as pointers (#223) 2015-11-09 07:17:36 -08:00
vitaut
7c24973637 Format (un)signed char as integer by default (#217) 2015-11-05 20:46:22 -05:00
vitaut
2d727e7d0e Suppress bogus coverity warnings 2015-10-28 07:01:28 -07:00
vitaut
ae48a4c6f9 Add missing include 2015-10-22 08:56:52 -07:00
vitaut
f080b62047 Implement StringRef comparison operators
and use lexicographical comparison (#183)
2015-10-22 08:41:42 -07:00
vitaut
fb27723a9f Try fixing bogus coverity warnings, take n 2015-10-22 07:33:01 -07:00
vitaut
b64913b00b Suppress bogus coverity warnings 2015-10-22 05:58:37 -07:00
vitaut
ecbfdb46d3 Fix sanitize 2015-10-21 10:39:58 -07:00
vitaut
23e84472b2 Hook Coverity model file 2015-10-21 08:45:48 -07:00
vitaut
ab25cd2c8b Suppress a bogus coverity warning 2015-10-21 08:30:10 -07:00
vitaut
13e0e38d99 Workaround a bogus coverity warning 2015-10-21 07:17:48 -07:00
vitaut
cd097d334e Workaround bogus coverity warnings 2015-10-21 06:16:55 -07:00
vitaut
c684886dfc Make coverity happy 2015-10-20 08:29:41 -07:00
vitaut
221dd0cb66 Try workaround for a bogus Coverity warning 2015-10-20 07:22:38 -07:00
vitaut
d25d775ae6 Suppress bogus coverity warnings 2015-10-20 06:26:31 -07:00
vitaut
5a648b300f Suppress another bogus warning in Coverity 2015-10-19 08:39:31 -07:00
vitaut
85a93a8078 Suppress another bogus warning in Coverity 2015-10-19 08:25:30 -07:00
vitaut
56d3b9135f Try a workaround for a bogus Coverity warning 2015-10-19 08:17:05 -07:00
vitaut
e81c0aef39 Fix bogus coverity warnings. 2015-10-18 09:16:10 -07:00
vitaut
b2714f83cc FMT_NO_STREAM_LIBRARIES -> FMT_USE_IOSTREAMS
for consistency with similar macros and removed unnecessary
checks.
2015-10-18 08:50:35 -07:00
Richard Maxwell
2cca51c744 Issue 205: Make iostream support optional. 2015-10-16 08:04:53 +13:00
Dean Moldovan
c0813c59f3 Work around UDL macro stringification bug on some versions of GCC
See bug report: https://gcc.gnu.org/ml/gcc-bugs/2015-04/msg02027.html
2015-10-09 11:55:36 +02:00
Dean Moldovan
bc6010cc21 Add _a literal for named arguments 2015-09-27 04:09:37 +02:00
Dean Moldovan
a63a24f2d7 Add _format literal 2015-09-27 04:00:24 +02:00
vitaut
ef710dee6c Add sprintf overload for wide strings
and fix an issue in formatting user-defined objects.
Thanks to @ScottLangham
2015-09-18 16:26:41 -07:00
vitaut
79d8f59906 Implement formatting of objects with (s)printf. 2015-09-08 08:36:20 -07:00
vitaut
b3714625c0 Fix compilation with FMT_PEDANTIC=ON 2015-08-19 08:03:17 -07:00
vitaut
1bba22667e Fix build on CMake 2.6 2015-08-19 07:32:48 -07:00
vitaut
4274f15f0d Move test-specific stuff to test/CMakeLists.txt 2015-08-19 07:27:08 -07:00
vitaut
b247d81046 Fix warnings 2015-08-07 07:39:04 -07:00
vitaut
c3ba615c65 Fix warnings 2015-08-07 07:34:58 -07:00
vitaut
a8a2982b9a Fix test 2015-08-07 07:13:43 -07:00
vitaut
ca7478144d Fix warnings 2015-08-07 07:08:46 -07:00
vitaut
5b8d0a7aa9 Make Coverity happy 2015-08-04 07:22:03 -07:00
vitaut
7e12c5c9df Use scoped_ptr instead of raw pointers in tests 2015-07-31 08:54:54 -07:00
vitaut
d15e0d3e06 Use scoped_ptr instead of raw pointers in tests 2015-07-31 08:23:39 -07:00
vitaut
d02a5031f0 Use scoped_ptr instead of deprecated auto_ptr 2015-07-29 07:03:15 -07:00
vitaut
200037683e Initialize next_arg_index_ in ctor (#187) 2015-07-28 08:10:46 -07:00
vitaut
c4d0bc1ac9 Fix Coverity warnings 2015-07-28 07:18:14 -07:00
vitaut
6cf24c7f92 Fix MSVC warnings 2015-07-08 08:04:32 -07:00
vitaut
f3bef7ac92 Fix open_buffered_file 2015-07-08 07:48:54 -07:00
vitaut
b6c1c9233a Workaround an issue with VC2010 2015-07-08 07:36:36 -07:00
vitaut
c669cbedf8 Rename None to Null because of conflict with an xlib.h macro 2015-07-07 07:05:17 -07:00
vitaut
438bd9b0e6 Add BasicCStringRef to represent a null-termated string (#100)
and use it instead of BasicStringRef in cases that assume that the
string is null-terminated such as POSIX function and format string
parser.
2015-06-26 07:43:54 -07:00
vitaut
88c7c20102 Fix posix-test on FreeBSD (#179) 2015-06-25 07:06:30 -07:00
vitaut
5b9b485f57 Workaround a bug in MinGW 2015-06-24 11:36:28 -07:00
vitaut
0a7e5141c1 Move posix tests from gtest-extra-test to a separate test 2015-06-24 09:16:03 -07:00
vitaut
9769f4b9ed Refactor posix tests 2015-06-24 08:43:30 -07:00
vitaut
e5b16e80cc Include sys/types.h for ssize_t 2015-06-24 07:59:19 -07:00
vitaut
948317b6dd Fix FormatLongDouble test on PowerPC (#180) 2015-06-23 07:39:49 -07:00
vitaut
b88a17ad9e libformat.{a.so} -> libcppformat.{a.so}
as suggested by Eugene V. Lyubimkin to make the name less generic
2015-06-23 06:40:22 -07:00
vitaut
abcc2d96f0 Fix assertion tests 2015-06-22 09:24:54 -07:00
vitaut
8ab665afbc Only use death tests if available 2015-06-22 08:17:23 -07:00
vitaut
8450f5e1d3 FormatIntTest: FormatDec: don't assume signedness of char type
Thanks to Eugene V. Lyubimkin for the patch.
2015-06-22 07:03:26 -07:00
vitaut
e39490500c Replace implicit conversion to std::string with to_string 2015-06-17 07:59:41 -07:00
vitaut
8725d07d8b Place the anonymous namespace within the fmt namespace
for header-only configuration as suggested by Alf Steinbach.
2015-06-12 07:56:58 -07:00
vitaut
24c309fbfa Don't use windows.h if FMT_USE_WINDOWS_H is set to 0 2015-06-12 07:15:57 -07:00
vitaut
9d09214e7a Use textual representation for bool by default (#170) 2015-06-11 09:00:06 -07:00
vitaut
fd5c2e909b Report error when using precision with char 2015-06-11 08:58:31 -07:00
vitaut
b83ab16676 Break long lines 2015-06-11 06:14:42 -07:00
jamboree
3c99ed4498 Fix name parsing 2015-06-11 12:03:22 +08:00
jamboree
7487bde587 Support named arguments 2015-06-10 09:32:59 +08:00
vitaut
ed2dfe5124 Implement writing narrow strings into a wide writer 2015-06-09 08:20:44 -07:00
vitaut
8949a2e941 Fix formatting 2015-06-08 06:53:18 -07:00
jamboree
54a6cb34c7 Support runtime width specification 2015-06-04 13:59:37 +08:00
vitaut
90a12b1bb2 Fix warnings 2015-05-12 08:57:21 -07:00
vitaut
a5757c86df FMT_EXTRA_TESTS -> FMT_PEDANTIC and use it to control extra warnings 2015-05-12 07:35:29 -07:00
vitaut
c8688576f2 Fix MinGW build 2015-05-11 19:10:31 -07:00
vitaut
8035c3eb30 Workaround a bug in the definition of fstat on some versions of MinGW 2015-05-11 08:44:40 -07:00
vitaut
3913f29ad7 Fix posix-test on MinGW 2015-05-11 07:57:08 -07:00
vitaut
2da08f21dd Only run compile-test if FMT_EXTRA_TESTS is set
These tests can be quite time-consuming especially on Windows
2015-05-11 07:34:07 -07:00
vitaut
3e03934d15 If std::swprintf is broken, disable relevant test and warn about it 2015-05-08 07:57:43 -07:00
vitaut
85b985e9f2 Workaround a bug in formatting long double in MinGW, take 3 2015-05-07 08:17:30 -07:00
vitaut
3e379829a0 Workaround a bug in formatting long double in MinGW, take 2 2015-05-07 07:25:39 -07:00
vitaut
673a4525f6 Workaround a bug in formatting long double in MinGW 2015-05-07 07:18:46 -07:00
vitaut
40681e6037 Fix compilation of posix-test on MinGW 2015-05-06 07:29:58 -07:00
vitaut
ca2cadb1c6 Fix compilation when fileno is a macro
This can happen on broken versions of MinGW.
2015-05-06 07:19:42 -07:00
vitaut
87cb2935f8 Test and fix handling of exactly MAX_PACKED_ARGS arguments 2015-05-01 06:55:26 -07:00
vitaut
8d2559bd96 Reduce compiled code size
If the number of arguments is less than MAX_PACKED_ARGS, pass
the arguments as a Value array rather than Arg array.
2015-04-20 10:02:41 -07:00
vitaut
62c483c940 Test EnableIf 2015-04-20 08:08:02 -07:00
vitaut
60405cf693 Use /W4 in format-test and only if FMT_EXTRA_TESTS is set
as (1) we don't want to force /W4 on users of the library and (2) some of
the warnings only show up when the formatting functions are used.
2015-03-28 17:29:12 -07:00
vitaut
3a5573ac6e Revert commit 3c3ae4e319 2015-03-27 07:36:26 -07:00
vitaut
3c3ae4e319 MakeValue -> MakeArg 2015-03-25 07:04:16 -07:00
vitaut
00df5c91f3 Merge Value into Arg 2015-03-25 06:48:21 -07:00
vitaut
cf04d98d06 Pass as many types as possible in a single integer to reduce code bloat 2015-03-24 08:55:40 -07:00
Shauren
a445e727c2 Added support to format more than 16 arguments with printf API when using variadic templates 2015-03-20 21:31:10 +01:00
vitaut
906432161b Make Buffer part of the public API 2015-03-20 06:31:24 -07:00
vitaut
a53ac7ad5c Workaround mingw bugs 2015-03-19 07:39:24 -07:00
vitaut
2adbfa4af7 Test IsConvertibleToInt with a C++11 enum 2015-03-18 11:02:37 -07:00
vitaut
538c2610cb Move FMT_USE_VARIADIC_TEMPLATES definition to macro-test.cc 2015-03-17 07:57:30 -07:00
vitaut
a530052b7e Only include crtdbg.h when compiling with MSVC 2015-03-16 18:05:45 -07:00
vitaut
eccd5e8d15 Fix test 2015-03-16 09:17:18 -07:00
vitaut
93ae73adbc Fix a typo 2015-03-16 09:05:46 -07:00
vitaut
5aecd4947f Use GetFileSize instead of GetFileSizeEx on Windows 2015-03-16 08:52:23 -07:00
vitaut
57f9f06619 More mingw fixes 2015-03-12 08:11:04 -07:00
vitaut
6bca5ca109 Woraround a bug in MinGW 2015-03-12 07:49:01 -07:00
Victor Zverovich
5821aec7b9 Implement printing of values that are convertible to int such as enums 2015-03-10 07:53:46 -07:00
Victor Zverovich
beaf6f7436 Add a fixed-size array writer 2015-03-01 18:08:24 -08:00
Victor Zverovich
2e3423b053 Update compile-test 2015-03-01 17:03:44 -08:00
Victor Zverovich
da6ac7fb26 Fix tests 2015-03-01 16:12:26 -08:00
Victor Zverovich
8a915b9b8d Update compile-test 2015-03-01 14:13:45 -08:00
Victor Zverovich
642b72cd91 Fix StringRef test 2015-02-24 09:52:16 -08:00
Victor Zverovich
53010624a0 Move Windows implementation of print_colored to a separate branch
as it needs further testing.
2015-02-19 07:54:59 -08:00
Victor Zverovich
5b0a9bbe85 Improve StringRef test 2015-02-17 06:45:45 -08:00
Carter Li
3f574c1611 Silence warnings on Windows 2015-02-17 10:11:42 +08:00
Victor Zverovich
bd133382f0 Fix BasicWriter::write without formatting arguments on C++11 (#109) 2015-02-16 14:32:38 -08:00
Carter Li
e2583ab5f3 Use throw() when noexcept is not supported 2015-02-14 09:58:29 +08:00
Victor Zverovich
cfd476bb8b Temporarily disable the test as the fix didn't work. 2015-02-08 20:41:13 -08:00
Ryuuke
5a9dc8f991 windows cli colors revision and test case 2015-02-08 16:08:29 +00:00
Victor Zverovich
0bd32f3f29 Merge branch 'master' of github.com:cppformat/cppformat 2015-01-08 07:56:19 -08:00
Victor Zverovich
43aebf51d6 Allow precision specifier for non-float arguments 2015-01-08 07:56:08 -08:00
Mikolaj Paraniak
7f706171a9 Add format linking to tests 2015-01-06 16:57:07 +01:00
Victor Zverovich
cd828a8691 Add a test for https://github.com/cppformat/cppformat/issues/86 2015-01-05 07:16:26 -08:00
Victor Zverovich
67e196eac4 Make test libraries static 2014-12-19 07:39:13 -08:00
Victor Zverovich
fb12cfd196 Suppress more bogus warnings 2014-12-17 06:53:32 -08:00
Victor Zverovich
c630d1f236 Disable "secure" warnings in posix. 2014-12-16 07:07:09 -08:00
Victor Zverovich
df580969f7 Add a test for header-only configuration 2014-12-09 06:22:55 -08:00
Victor Zverovich
615c1eef6b Fix error handling in fmt::fprintf. 2014-11-14 09:40:01 -08:00
Victor Zverovich
8ea9f068c7 Convert tabs to spaces 2014-11-07 07:58:49 -08:00
Victor Zverovich
ed92af29b3 Add missing ')' 2014-10-30 13:58:16 -07:00
Victor Zverovich
14984acd27 Fix UTF conversion tests 2014-10-30 13:00:44 -07:00
Victor Zverovich
daca48cb15 Fix MSVC build 2014-10-30 12:20:08 -07:00
Victor Zverovich
cabe5bddb4 Fix util-test 2014-10-30 08:07:28 -07:00
Victor Zverovich
10d83aaa52 Test that StringRef size computation 2014-10-30 06:27:44 -07:00
Alexey Morozov
4d3126c567 sign-compare warnings fixes 2014-10-14 03:28:47 +07:00
Victor Zverovich
755ecb0311 Fix warnings 2014-10-13 08:39:38 -07:00
Victor Zverovich
5189274797 Fix warnings 2014-10-13 06:46:07 -07:00
Victor Zverovich
8b76e97062 Support compilation with exceptions disabled 2014-10-06 08:30:55 -07:00
Victor Zverovich
fae3ae67b9 Fix util-test 2014-10-01 09:32:31 -07:00
Victor Zverovich
03f7f99f4c Fix build on pre-C++11 compilers 2014-10-01 08:24:47 -07:00
Victor Zverovich
8b9a6e03f6 Test buffer 2014-10-01 08:12:10 -07:00
Victor Zverovich
74dc571ba0 Support signed char and unsigned char strings 2014-09-30 08:15:56 -07:00
Victor Zverovich
98a25ec7cb Test Buffer 2014-09-30 07:30:27 -07:00
Victor Zverovich
313b259891 Use type_traits to test if copyable/assignable
Replace compile tests that check if types are copy constructible and copy assignable with normal tests that use type_traits (if available).
2014-09-30 07:30:05 -07:00
Victor Zverovich
d00f689c40 Fix type_traits check 2014-09-29 11:03:18 -07:00
Victor Zverovich
b79d06a5da Escape quotes 2014-09-29 10:44:48 -07:00
Victor Zverovich
2846a9eb38 Check if is_copy_assignable is working
is_copy_assignable is broken in MSVC.
2014-09-29 10:42:16 -07:00
Victor Zverovich
810f42c0c7 Fix util-test on Windows, take 2 2014-09-29 09:59:49 -07:00
Victor Zverovich
55a16eaec7 Fix util-test on Windows 2014-09-29 09:37:33 -07:00
Victor Zverovich
a309c4bbed Fix posix-test on Windows 2014-09-29 09:28:44 -07:00
Victor Zverovich
dd90129066 Check if type_traits actually work. 2014-09-29 09:15:41 -07:00
Victor Zverovich
d1ded569ff Separate memory management and formatting
Array is split into an abstract Buffer class and a concrete MemoryBuffer class. BasicWriter now does all memory allocation through a Buffer object. Subclasses of BasicWriter may use different buffer types. The new BasicMemoryBuffer class uses the default MemoryBuffer.
2014-09-29 08:48:16 -07:00
Victor Zverovich
b2bd63d2d9 Test ArgList 2014-09-25 09:11:51 -07:00
Victor Zverovich
c2f02df2f5 Fix warning in clang 2014-09-25 07:38:16 -07:00
Victor Zverovich
75a2ea03a7 Reduce code bloat
Special case C strings because there is no need to handle size for them. Add support for pre-C++11 compilers to make_type.
2014-09-25 07:10:44 -07:00
Victor Zverovich
ae8bc36e57 MakeArg -> MakeValue 2014-09-24 08:07:50 -07:00
Victor Zverovich
ec1aea34e6 Refactor type processing 2014-09-24 07:48:45 -07:00
Victor Zverovich
ab6e759291 pointer_value -> pointer 2014-09-23 08:21:58 -07:00
Victor Zverovich
d2973766ea ArgBase -> Value 2014-09-23 08:11:03 -07:00
Victor Zverovich
beb00edf73 Store types in ArgList instead of Arg 2014-09-23 07:59:43 -07:00
Victor Zverovich
49222dc0c7 Improve allocator test 2014-09-23 07:58:23 -07:00
Victor Zverovich
b9a568b1dd Add support for custom memory allocator to BasicWriter 2014-09-19 07:51:42 -07:00
Victor Zverovich
6a98f42336 Add support for custom allocators 2014-09-18 09:07:40 -07:00
Victor Zverovich
c76b22405d Replace GTest with GMock (includes GTest) 2014-09-17 08:01:42 -07:00
Victor Zverovich
b54d6e7124 Fix posix-test, take 3. 2014-09-12 18:22:45 -07:00
Victor Zverovich
94daf27c9d Fix posix-test, take 2. 2014-09-12 17:41:04 -07:00
Victor Zverovich
434e83a192 Fix posix-test. 2014-09-12 17:16:22 -07:00
Victor Zverovich
ddd95965e1 Fix MaxSize test. 2014-09-12 16:52:15 -07:00