aboutsummaryrefslogtreecommitdiff
path: root/DebugUtils
Commit message (Collapse)AuthorAge
* Import Foundation so the header is self standing.Gravatar Thomas Van Lenten2019-02-04
|
* Remove trailing whitespacesGravatar Sergio Campama2017-03-29
|
* First cut at pruning things/updating things.Gravatar dmaclach2016-10-07
| | | | | | | | | | | | | | | Remove a bunch of code that Google stopped using/maintaining rather than trying to update it it. Some would be hard to update, some actually has system provided replacements; others are patterns that just don't seem as common now. Prune out the code related to macOS <= 10.5, start pruning some of the really old iOS support also. Get the projects mostly limping again with modern Xcodes so tests can be run. If someone ends up on this commit via history for something they still find as useful, feel free to do a pull request to bring the snippet of code back to life and update it for current SDKs.
* Fix up GTM_METHOD_CHECK so that it doesn't need the objectivec runtime calls.Gravatar Thomas Van Lenten2016-09-16
|
* Rewrite GTMMethodChecker:Gravatar Thomas Van Lenten2016-08-05
| | | | | | | | | | Simplify logic, add more assertions, and to get rid of call via objc_msg_send. Should be significantly faster too. Some developers had seen crashes under some simulator that seemed to trace back to the checks, but there wasn't a clear pattern to them. This will hopefully resolve those also.
* Improve the casing macrosGravatar Thomas Van Lenten2016-06-14
| | | | | | | | | | | Make GTM_STATIC_CAST(className, object) and GTM_DYNAMIC_CAST(className, object) return objects that are type-casted to className *, instead of id. This enables access to properties on the casted objects, e.g. GTM_STATIC_CAST(NSString, object).length which wouldn't work previously, since accessing .length on an id type (correctly) results in a compiler error.
* Update GTMDebugThreadValidation with general queue support.Gravatar Thomas Van Lenten2016-04-29
|
* Add GTMSynchronizationAsserts.h/m and a unit test file.Gravatar Thomas Van Lenten2016-04-29
| | | | | | These macros allow code to assert being in or not in a @sync-protected section, which is important when calling across methods or calling out to other classes or callbacks.
* Add _CNZombie_ and FigIrisAutoTrimmerMotionSampleExport to the know classesGravatar Thomas Van Lenten2016-01-04
|
* Extract the DL_info check before the loop because it doesn't depend on ↵Gravatar Thomas Van Lenten2015-09-21
| | | | anything in the loop.
* General fixes for GTM.Gravatar gtm.daemon2014-08-01
| | | | | | | | | a) only define GTM_IPHONE_USE_SENTEST if it hasn't been defined on Mac. It's a horrible name, but it does control us using SENTEST instead of XCTest. b) Object is now found in the runtime on both iOS and MacOS c) MethodCheck had a potential memory leak DELTA=47 (18 added, 5 deleted, 24 changed) DELTA_BY_EXTENSION=h=30,m=12
* Fix up GTMMethodCheck to work with ENABLE_STRICT_OBJC_MSGSEND=YES.Gravatar gtm.daemon2014-06-09
| | | | | | Also ignores another class which does not inherit from NSObject. DELTA=4 (3 added, 0 deleted, 1 changed) DELTA_BY_EXTENSION=m=4
* Silence a few more warnings about non-NSObject classes in various SDKs.Gravatar gtm.daemon2013-01-28
| | | DELTA=3 (3 added, 0 deleted, 0 changed)
* Allow GTMMethodCheck to compile under ARC, avoiding the need forGravatar gtm.daemon2013-01-24
| | | | | -fno-objc-arc everywhere it might be used. DELTA=9 (8 added, 0 deleted, 1 changed)
* [Author: mmentovai]Gravatar gtm.daemon2012-08-02
| | | | | | | | | | 10.8 SDK compatibility for GTM. |Object| is gone in Objective-C 2 in the 10.8 SDK, use |NSObject| instead as for iOS. R=dmaclach,thomasvl APPROVED=thomasvl DELTA=5 (2 added, 0 deleted, 3 changed)
* [Author: dmaclach]Gravatar gtm.daemon2012-06-21
| | | | | | | | | Clean up some basic issues in GTM. Also removes GTMUniqueFileObjectPathBasedOn which depended on mktemp which is bad. R=thomasvl DELTA=55 (6 added, 32 deleted, 17 changed)
* [Author: oster]Gravatar gtm.daemon2012-06-20
| | | | | | | | | | fix some type errors. Tested: Compiled and ran a text program R=thomasvl APPROVED=thomasvl DELTA=2 (0 added, 0 deleted, 2 changed)
* [Author: aharper]Gravatar gtm.daemon2012-01-20
| | | | | | Another Apple class that method check should ignore (Lion). R=dmaclach,thomasvl APPROVED=dmaclach
* [Author: agrieve]Gravatar gtm.daemon2011-09-15
| | | | | | | -Delete unmatched and unnecessary extern "C" from GTMTypeCasting.h R=dmaclach APPROVED=dmaclach DELTA=4 (0 added, 4 deleted, 0 changed)
* [Author: dmaclach]Gravatar gtm.daemon2010-06-04
| | | | | | | Turns on the undeclared-selector warning. This may cause builds to fail if they are using our configs. Also cleaned up some whitespace issues. R=thomasvl DELTA=94 (71 added, 22 deleted, 1 changed)
* [Author: dmaclach]Gravatar gtm.daemon2010-06-02
| | | | | | | | | Cleans up builds of GTM on Snow Leopard with gcc 4.2. Cleans up iPhone configs Adds libgcov for Snow Leopard Fixes up some small bugs. R=thomasvl DELTA=2028 (972 added, 990 deleted, 66 changed)
* [Author: dmaclach]Gravatar gtm.daemon2010-02-10
| | | | | | Clean up a pile of API upgrade warnings from clang, and the dead store. R=thomasvl DELTA=13 (0 added, 3 deleted, 10 changed)
* [Author: dmaclach]Gravatar gtm.daemon2010-01-20
| | | | | | Tighten up the type casting code a bit so it looks nicer. R=thomasvl DELTA=8 (0 added, 6 deleted, 2 changed)
* [Author: dmaclach]Gravatar gtm.daemon2010-01-08
| | | | | | | Added some basic casting debugging goodness to GTM. Opinions? added to help catch a bug in QSB. R=thomasvl DELTA=55 (55 added, 0 deleted, 0 changed)
* [Author: dmaclach]Gravatar gtm.daemon2009-08-24
| | | | | | Standardize how we call free. No need to check for NULL. R=thomasvl DELTA=24 (0 added, 13 deleted, 11 changed)
* [Author: dmaclach]Gravatar gtm.daemon2009-05-27
| | | | | | Fix for GTMMethodCheck under SnowLeopard so we don't get "Class __NSGenericDeallocHandler does not conform to @protocol(NSObject), so won't be checked" warnings. DELTA=1 (1 added, 0 deleted, 0 changed) R=thomasvl
* - GTM_INLINE will make sure a function gets inlined, and provides a consistentGravatar thomasvl@gmail.com2008-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | way for all GTM code to do it. - Added GTMDebugThreadValidation to allow you to enforce the fact that your code must run in the main thread in DEBUG builds. - Updated some internals of the iPhone unittesting so it doesn't double print the test descriptions, file names, or lines numbers of a test failure line. Also includes the test names in the error output. - Changed the xcconfigs so that know it's easier to set different settings at the different levels and not accidentally overwrite settings set at lower levels in the "settings collapse". Also tightened up warnings significantly. - Changed how gtm_unitTestExposedBindingsTestValues works. If you have an implementation of gtm_unitTestExposedBindingsTestValues in your own code you will need to update to the new way of calling. See implementations in GTMNSObject+BindingUnitTesting.m for details. - Added support for grabbing the build number for a particular OS in GTMSystemVersion and easily comparing it to known build numbers, and switched some types from in GTMSystemVersion from "int" to SInt32 to make 64 bit work better. - Added support for SnowLeopard (10A96). We build cleanly with the 10.6 SDKs and all radar checks were updated accordingly. Build All script was also updated to build on SnowLeopard if you have the SDK available. - Turned off building ppc64 GTM because the SnowLeopard SDK currently doesn't have ppc64 support, so SenTestCase isn't defined. This makes it impossible to build the ppc64 10.5 config on SnowLeopard. We have left the setting in the xcconfig for those of you who need it, but have disabled it in the GTM project settings. - Turned on stack smashing protection on the debug builds for all Leopard and above. - Added ability to easily do leak checking by defining the GTM_ENABLE_LEAKS environment variable. It isn't on by default because several of Apple's frameworks leak. You can work around these false positives by using the GTM_LEAKS_SYMBOLS_TO_IGNORE environment variable. Also if you turn on leaks make sure to turn off zombies by defining the GTM_DISABLE_ZOMBIES variable, otherwise every memory allocation you do will look like a leak.
* - Added GTMExceptionalInlines for dealing with cases where you getGravatar thomasvl@gmail.com2008-09-10
| | | | | | | | | | | | | | | | warning: variable 'r' might be clobbered by 'longjmp' or 'vfork' when using certain Apple inlined functions in @synchronized/@try blocks. - Updated to Xcode 3.1 so the GTM and iPhone project have the same baseline. The code should work in other version of xcode, but the projects and xcconfig files now use 3.1 features. - Added GTMABAddressBook which is a cocoa wrapper for the 'C' AddressBook APIs on the iPhone. - Added several set environment variable statements to RunIPhoneUnitTest.sh to encourage bugs to come out of the woodwork.
* fix a bug w/ method check support.Gravatar thomasvl@gmail.com2008-07-29
| | | | | mark part of the logger+asl code as not feasible for testing. work around a unittesting marco catch w/ gc and __weak.
* - Removed GTMNSWorkspace+ScreenSaver as it has always been a little dodgy dueGravatar thomasvl@gmail.com2008-07-21
| | | | | | | | | | | | | | | | to it's dependencies on undocumented frameworks, and the ScreenSaver framework doesn't play nicely in GC mode. - Added property methods to GTMHTTPFetcher. These are convenient alternatives to storing an NSDictionary in the userData. - Renamed GTMDevLog.m to GTMDevLogUnitTestingBridge.m and added some more comments where it comes into play to hopefully make it more clear that it isn't needed in most cases. - Fixed a potential GTMHTTPFetcher crash on failed authentication. - Added a obj-c logging package, GTMLogger, for applications that want an application level logging system. See GTMLogger.h, GTMLogger+ASL.h, and GTMLoggerRingBufferWriter.h for what the basic system and two optional additions can do.
* - Added GTMSignalHandler for simple signal handling (via kqueue/runloop).Gravatar thomasvl@gmail.com2008-07-09
| | | | | | | | | | | | | | | | | | | | - Fixed up GTMIPhoneUnitTestDelegate to be pickier about which tests it runs - Added GTMNSString+URLArguments to GTMiPhone - Added GTMHTTPFetcher and GTMHTTPServer to GTMiPhone - Made sure that build would work with iPhone device attached, and that all tests run directly on the phone. - Added GTMValidatingContainers which are a set of mutable container classes that allow you to have a selector on a target that is called to verify that the objects being put into the container are valid. This can be controlled at compile time so that you don't take the performance hit in a release build. - Added GTMPath, which represents an existing absolute path on the file system. It also makes it very easy to contruct new paths in the file system as well as whole directory hierarchies. - Added GTMNSString+Replace for a common replacement need. - Added NSString+FindFolder for two commen helpers for building paths to common locations. - Added GTMLargeTypeWindow for doing display windows similar to Address Book Large Type display for phone numbers.
* Landing a log of AppleScript/AppleEvent support code.Gravatar thomasvl2008-06-13
| | | | | | | Landing GTMHTTPServer as a simple server but mainly for use in unittesting. _GTMCompileAssert for doing compile time assertions to GTMDefines.h Lots of improvments for UnitTesting, Dave's gonna put up a wiki page shortly with the full details of what can be done.
* Flush out suppport for 64bit, GC support.Gravatar thomasvl2008-05-09
| | | | | | | Added some more xcode configs related to the above. Removed some classes that the unittesting doesn't need (and aren't able to support 64bit). add base64, httpfetcher, and progress monitor stream.
* See the ReleaseNotes for the full details, highlights:Gravatar thomasvl2008-04-14
- bug fixes - code coverage support - more complete unittests - full support for unittesting UIs - support for the iphone sdk (include ui unittesting)