[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:43:32 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=712c983
The following commit has been merged in the master branch:
commit 712c98301f820fcb2a8ae7221c27f52d23f0df8f
Author: Robin Mills <robin at clanmills.com>
Date: Wed Nov 14 07:16:18 2012 +0000
Test: initial version build-test.py to analyse output from exiv2 -v -V
---
src/version.cpp | 62 +++++++++++++++++++++++++++++++++---------------------
src/version.hpp | 7 ++++--
test/build-test.py | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 101 insertions(+), 26 deletions(-)
diff --git a/src/version.cpp b/src/version.cpp
index feee41c..1fefa35 100644
--- a/src/version.cpp
+++ b/src/version.cpp
@@ -53,6 +53,14 @@ namespace Exiv2 {
return EXIV2_MAKE_VERSION(EXIV2_MAJOR_VERSION, EXIV2_MINOR_VERSION, EXIV2_PATCH_VERSION);
}
+ std::string versionString()
+ {
+ std::ostringstream os;
+ os << EXIV2_MAJOR_VERSION << '.' << EXIV2_MINOR_VERSION << '.' << EXIV2_PATCH_VERSION;
+ return os.str();
+
+ }
+
std::string versionNumberHexString()
{
std::ostringstream os;
@@ -120,45 +128,45 @@ typedef string_v::iterator string_i;
EXIV2API void dumpLibraryInfo(std::ostream& os)
{
- string_v libs; // libs[0] == executable
- char builder[200];
+ string_v libs; // libs[0] == executable
- int bits = sizeof(void*);
-#if defined(_DEBUG) || defined(DEBUG)
- int debug=1;
+ int bits = sizeof(void*);
+#if defined(_DEBUG) || defined(DEBUG)
+ int debug=1;
#else
- int debug=0;
+ int debug=0;
#endif
-#if defined(EXV_HAVE_DLL)
- int dll=1;
+#if defined(EXV_HAVE_DLL)
+ int dll=1;
#else
- int dll=0;
+ int dll=0;
#endif
+ const char* compiler =
#if defined(_MSC_VER)
- sprintf(builder,"MSVC=%d,DEBUG=%d,DLL=%d,Bits=%d" ,((_MSC_VER-600)/100),debug,dll,bits);
+ "MSVC" ; // ((_MSC_VER-600)/100),debug,dll,bits);
#elif defined(__clang__)
- sprintf(builder,"Clang=%s,DEBUG=%d,DLL=%d,Bits=%d" ,__clang_version__,debug,dll,bits);
+ "Clang" ; // =%s,DEBUG=%d,DLL=%d,Bits=%d" ,__clang_version__,debug,dll,bits);
#elif defined(__GNUG__)
- sprintf(builder,"G++=%s,DEBUG=%d,DLL=%d,Bits=%d" ,__VERSION__,debug,dll,bits);
+ "G++" ; // =%s,DEBUG=%d,DLL=%d,Bits=%d" ,__VERSION__,debug,dll,bits);
#elif defined(__GNUC__)
- sprintf(builder,"GCC=%s,DEBUG=%d,DLL=%d,Bits=%d" ,__VERSION__,debug,dll,bits);
+ "GCC" ; // =%s,DEBUG=%d,DLL=%d,Bits=%d" ,__VERSION__,debug,dll,bits);
#else
- sprintf(builder,"unknown=%s,DEBUG=%d,DLL=%d,Bits=%d",__VERSION__,debug,dll,bits);
+ "unknown" ; // =%s,DEBUG=%d,DLL=%d,Bits=%d",__VERSION__,debug,dll,bits);
#endif
- const char* platform =
+ const char* platform =
#if defined(__CYGWIN__)
- "cygwin";
+ "cygwin";
#elif defined(_MSC_VER)
- "windows";
+ "windows";
#elif defined(__APPLE__)
- "apple";
+ "apple";
#elif defined(__linux__)
- "linux";
+ "linux";
#else
- "unknown";
+ "unknown";
#endif
#if defined(WIN32) || defined(__CYGWIN__)
@@ -206,10 +214,16 @@ EXIV2API void dumpLibraryInfo(std::ostream& os)
}
#endif
- os << "platform=" << platform << endl;
- os << "builder=" << builder << endl;
- os << "date=" << __DATE__ << endl;
- os << "time=" << __TIME__ << endl;
+ os << "exiv2=" << Exiv2::versionString() << endl;
+ os << "platform=" << platform << endl;
+ os << "compiler=" << compiler << endl;
+ os << "bits=" << bits << endl;
+ os << "dll=" << dll << endl;
+ os << "debug=" << debug << endl;
+ os << "version=" << __VERSION__ << endl;
+ os << "date=" << __DATE__ << endl;
+ os << "time=" << __TIME__ << endl;
+
if ( libs.begin() != libs.end() ) {
os << "executable=" << *libs.begin() << endl;
for ( string_i lib = libs.begin()+1 ; lib != libs.end() ; lib++ )
diff --git a/src/version.hpp b/src/version.hpp
index 6a09389..37f168b 100644
--- a/src/version.hpp
+++ b/src/version.hpp
@@ -122,6 +122,10 @@ namespace Exiv2 {
*/
EXIV2API int versionNumber();
/*!
+ @brief Return the version string Example: "0.23.0" (major.minor.patch)
+ */
+ EXIV2API std::string versionString();
+ /*!
@brief Return the version of %Exiv2 as hex string of fixed length 6.
*/
EXIV2API std::string versionNumberHexString();
@@ -175,8 +179,7 @@ namespace Exiv2 {
} // namespace Exiv2
// dumpLibraryInfo is general purpose and not in the Exiv2 namespace
-// dumpLibraryInfo reports on Windows/Linux/Mac, other platforms report nothing
-// dumpLibraryInfo used by exiv2 test suite to inspect loaded libraries at run-time
+// used by exiv2 test suite to inspect libraries loaded at run-time
EXIV2API void dumpLibraryInfo(std::ostream& os);
diff --git a/test/build-test.py b/test/build-test.py
new file mode 100755
index 0000000..42d759e
--- /dev/null
+++ b/test/build-test.py
@@ -0,0 +1,58 @@
+#!/usr/bin/python
+
+import os
+import sys
+import subprocess
+
+##
+# process the version information dictionary
+def platform(dict):
+ for k in sorted(dict.keys()):
+ v=dict[k]
+ if type(v)==type([]):
+ v='['+str(len(v))+']'
+ print "%-20s -> %s" % (k,v)
+##
+def apple(dict):
+ platform(dict)
+##
+def linux(dict):
+ platform(dict)
+##
+def windows(dict):
+ platform(dict)
+##
+def cygwin(dict):
+ platform(dict)
+##
+def mingw(dict):
+ platform(dict)
+##
+def unknown(dict):
+ platform(dict)
+
+##
+# collect the version dictionary from exiv2
+dict={}
+output = subprocess.check_output( [ '../bin/exiv2', '-v', '-V' ])
+lines = output.split('
')
+for l in lines:
+ kv=l.split('=')
+ if len(kv)==2:
+ k=kv[0]
+ v=kv[1]
+ if not dict.has_key(k):
+ dict[k]=[]
+ dict[k].append(v)
+
+# flatten value arrays of length 1
+for k in dict.keys():
+ if len(dict[k])==1:
+ dict[k]=dict[k][0]
+
+##
+# analyse the version dictionary
+eval(dict['platform']+"(dict)")
+
+# That's all Folks!
+##
\ No newline at end of file
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list