summaryrefslogtreecommitdiffstats
path: root/Source/kwsys/testSystemTools.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'upstream-kwsys' into update-kwsysBrad King2014-05-131-4/+4
|
* Merge branch 'upstream-kwsys' into update-kwsysBrad King2013-02-011-13/+13
|
* KWSys: Fix SystemTools environment memory handling (#13156)Brad King2012-04-271-0/+54
| | | | | | | | | | | | | | | | | | | | | | | The SystemTools::PutEnv function tries to provide the "putenv" API without leaking memory. However, the kwsysDeletingCharVector singleton frees memory that may still be referenced by the environment table, having been placed there by putenv. If any static destruction or processing by an external tool happens after the singleton is destroyed and accesses the environment it will read invalid memory. Replace use of putenv with setenv/unsetenv when available. The latter manage internal copies of the values passed instead of referencing the original memory. When setenv/unsetenv are not available use putenv with a singleton that removes its values from the environment before freeing their memory. This requires an "unputenv" implementation. On at least some platforms it must be written in terms of "putenv" because other APIs are not available and direct modification of the "environ" global is not safe (e.g. on Windows there is interaction with "wenviron"). Fortunately either putenv("A=") or putenv("A") will remove "A" from the environment on these platforms. On other platforms fall back to direct manipulation of "environ". Also add UnPutEnv to the API and add a test for the behavior of both.
* KWSys: Do not mangle UNC paths in ConvertToUnixOutputPath (#10206)Brad King2010-12-141-1/+1
| | | | | | | | | | | | This method replaces '//' with '/' to make the paths look nicer. Originally it correctly skipped a leading '//' in a UNC path as the comment says. However, commit "Removed extra variable initializations" (2005-04-15) accidentally removed the "pos=1" initializer. It was then incorrectly restored by commit "Added missing variable initialization" (2005-04-15) as just "pos=0". Restore the proper initializer. The test for this added by commit "better coverage" (2006-07-31) included incorrect output for a sample UNC-like path. Fix it.
* Convert KWSys to OSI-approved BSD LicenseBrad King2009-09-281-11/+9
| | | | | | | This converts the KWSys license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the KWSys copyright to cover the full development time range.
* BUG: Use angle-brackets to include testSystemTools.h to avoid problems with ↵Brad King2007-03-071-1/+3
| | | | in-source builds.
* ENH: Cleaned up KWSys tests to use test drivers.Brad King2007-03-031-1/+1
|
* COMP: Added missing headers. This partially addresses bug#3556.Brad King2006-08-011-0/+2
|
* ENH: better coverageKen Martin2006-07-311-2/+40
|
* BUG: fix some bad code and add a couple more testsKen Martin2006-07-281-6/+30
|
* COMP: fix compile issueKen Martin2006-07-251-1/+1
|
* BUG: some bug fixes, better docs, and more coverageKen Martin2006-07-251-0/+147
|
* STYLE: Minor styleMathieu Malaterre2006-03-091-18/+18
|
* ENH: CMake kills me (so does Cygwin)Sebastien Barre2005-10-061-2/+2
|
* ENH: avoid the use of GET_TARGET_PROPERTY by testing the CMake executable ↵Sebastien Barre2005-10-051-4/+4
| | | | instead of the test executable
* ENH: add kwsys test for DetectFileTypeSebastien Barre2005-10-041-0/+30
|
* ENH: fix test, it has to return a true/false value otherwise it just passes ↵Sebastien Barre2005-06-201-5/+46
| | | | the test, and add test for EscapeChars
* COMP: Disable MSVC debug symbol truncation warning.Brad King2005-04-141-0/+5
|
* COMP: Adding work-around for CMake dependency scanning limitation. Any ↵Brad King2005-04-131-0/+7
| | | | configured header included by KWSYS_HEADER() in a .c or .cxx file in kwsys itself must use this hack to get dependencies.
* BUG: Only do ~ test if HOME variable is defined.Brad King2005-04-131-2/+4
|
* ENH: Do kwsys testing as part of cmake testing, command line arguments are ↵Andy Cedilnik2005-04-131-0/+64
not experimental and add simple test for systemtools