aboutsummaryrefslogtreecommitdiff
path: root/Foundation
Commit message (Collapse)AuthorAge
* Add a missing `void *`-to-`char *` castmasterGravatar Benjamin Barenblat2020-12-15
| | | | | `NSData-bytes` returns a `const void *`. Cast it to a `const char *` before trying to use with a `%s` format specifier.
* Fix issue found via asanGravatar Thomas Van Lenten2020-10-02
| | | | Don't try to use more bytes then there are in the string.
* userdata structures need to exist for lifetime of hooks.Gravatar Thomas Van Lenten2020-06-12
| | | | | | | Apparently earlier compilers took our `const structs` and put them into const data for us so their lifetime was effectively equivalent to `static`. Some change/optimization in 11.4.1 has moved to that not being the case. Explicitly make the data structures `static`.
* Add some more assert context.Gravatar Thomas Van Lenten2020-06-11
|
* Create interface for initializing DB with SQLite flagsGravatar Nicholas Tsoi-A-Sue2020-06-10
|
* fix typoGravatar Thomas Van Lenten2020-06-09
|
* Remove obsoleted nonsense symbols for suppressing libtool warningsGravatar Dave MacLachlan2019-11-25
|
* GTMStringEncoding: Mark deprecated methods to fix parameters in Swift.Gravatar Stefan Miller2019-10-11
| | | | | | | | | | | | Fixes the auto-generated interface methods for the desired methods. The deprecated methods were causing conflicts in the generated interface of the newer methods that would add a zero-length tuple parameter. Example of fix for encode:error: Interface Before: open func encode(_ data: Data!, error: ()) throws -> String Interface After: open func encode(_ data: Data!) throws -> String
* Add import so source builds is compiling with modules.Gravatar Thomas Van Lenten2019-02-04
|
* Add GTMTimeUtils (#229)Gravatar dmaclach2019-01-03
| | | Utilities for relatively common desire to know the launch time of an app, or the boot time of a device.
* Drop the thread name test.Gravatar Thomas Van Lenten2018-11-20
| | | | | | The helpers not mess with names, so this was actually testing Apple's API, which does seem to have bugs/race conditions, so stop paying attention to it.
* Fix up GTMNSThread+block test. (#214)Gravatar dmaclach2018-11-19
| | | | | | | | Made an assumption about how runloops worked in all versions of iOS. Appears it was wrong in 32 bit versions on single processor. Runloop executes all input from an input source in a single burst which caused a test to fail. (iOS 8.4 on iPhone4s simulator)
* Fix up race between NSThread setName and pthread_getname on the thread. (#213)Gravatar dmaclach2018-11-19
|
* Reorder testing of selectors.Gravatar Thomas Van Lenten2018-11-15
| | | | | | | | | | | | | | Pick off the selector natively handled first. NSProxy's base (on my current OS atleast) will attempt to forward things, and the fact that the LightWeight proxy then eats the forward where there is no target objc seems to confuse things. This all makes the unittests fail when run in release mode, so it just generally seems safer to reorder this. The footnote, is NSProxy really defines a class method for this, but since LightweightProxy doesn't have a fixed class to check with, it can't really provide that method.
* Fix up race in testPThreadName. (#211)Gravatar dmaclach2018-11-15
| | | The block must execute before the test completes.
* Project modernization.Gravatar Thomas Van Lenten2018-11-15
| | | | | | | | | - Create shared scheme to use. - Let Xcode (9.4.1) update the project files and add some warnings. - Remove -finalize (GC days are gone) - Add some more pragmas to compile cleanly. - The iOS targets had a mix of 7.0 and 8.0 min versions, so make them all 8.
* Add deprecation markings on GTMServiceManagement. (#207)Gravatar dmaclach2018-11-14
| | | Apple has deprecated ServiceManagment as of macOS 10.10 and iOS 8.0.
* Deprecate GTMFileSystemKqueue. (#204)Gravatar dmaclach2018-11-13
| | | You should use libdispatch with a DISPATCH_SOURCE_TYPE_VNODE source.
* Fix up timeout for test. (#205)Gravatar dmaclach2018-11-13
| | | | | The changes here had a test looping 5 times with a 1 second wait trying to finish in a 5 second window. That's a little too close for flakiness. Increased time out to 10 seconds.
* Added missing deprecated attribute to NSData+zlib. (#206)Gravatar dmaclach2018-11-13
|
* Add Deprecation Notices to GTMSystemVersion (#202)Gravatar dmaclach2018-11-13
| | | Move to NSProcessInfo where appropriate.
* Remove GTMPath (#200)Gravatar dmaclach2018-11-13
| | | It has been obsolete since 10.5.
* Deprecate GTMNSScanner+JSON (#199)Gravatar dmaclach2018-11-13
| | | Use NSJSONSerialization instead.
* Add deprecation warnings on URLArgument categories. (#198)Gravatar dmaclach2018-11-13
| | | The URLArgument categories should be replaced with usages of NSURLComponents and NSURLItems.
* Remove Unused (and deprecated) GTMNSFileManager+Carbon (#197)Gravatar dmaclach2018-11-13
| | | These were functions that dealt with Aliases.
* Remove flaky "clean environment" check. (#193)Gravatar dmaclach2018-11-13
| | | This check is very flaky from OS version to OS version and whether or not you are running under the debugger.
* Fixed up GTMSignalHandler and deprecated it. (#192)Gravatar dmaclach2018-11-13
| | | | | | | This gets GTMSignalHandler working with libdispatch, and also marks it as deprecated because it is probably easier just to write your own version to call a block instead of the method invocation here. This also makes the tests run again which hasn't been happening for a long time AFAICT.
* Fixes up a race condition in GTMNSThread+Blocks (#181)Gravatar dmaclach2018-11-12
| | | | | There was a race between the thread being finished and isFinished/isExecuting reporting correctly. There may have also been a locking issue on older single processor phones.
* Remove ancient GTMNSString+Replace (#185)Gravatar dmaclach2018-11-11
|
* Remove unused GTMNSArray+Merge (#182)Gravatar dmaclach2018-11-11
|
* Deprecate GTMRegex. Use NSRegularExpression instead. (#184)Gravatar dmaclach2018-11-11
|
* Remove unused GTMObjectSingleton.h (#183)Gravatar dmaclach2018-11-11
|
* Revert "Fix up a race condition in GTMSimpleWorkerThread"Gravatar Thomas Van Lenten2018-11-08
| | | | This reverts commit 585330a68d00c4d76927ff7bf4829471944358ab.
* Fix up a race condition in GTMSimpleWorkerThreadGravatar Dave MacLachlan2018-11-08
| | | | | | | Basically a complete rewrite of GTMSimpleWorkerThread that should get rid of a race condition when stopping tests and testing for "isExecuting/isFinished". It does change the observed behaviour of GTMSimpleWorkerThread a little in that "start" no longer blocks until the thread is starting, and we removed the unused "stop" method.
* Fix up some broken tests.Gravatar Dave MacLachlan2018-11-08
| | | | | - Set up stack trace test just so we make sure we don't recurse. Right now it is too tight and breaks on every system release. - SQLite's behavior is actually undefined in the case of sqlite3_errcode, so don't depend on it in a test.
* Fix Undefined Behavior, left shift of negative value, signed integer overflow.Gravatar Eugene Hermann2018-07-25
| | | | | | | ubsan output: .../google_toolbox_for_mac/Foundation/GTMStringEncoding.m:204:16: runtime error: left shift of 10368305 by 8 places cannot be represented in type 'int' .../google_toolbox_for_mac/Foundation/GTMStringEncoding.m:312:16: runtime error: left shift of 42406098 by 6 places cannot be represented in type 'int' TESTED=Earth iOS --featires=ubsan
* fix gate to deal with GTM_MACOS_SDK being defined to zeroGravatar Thomas Van Lenten2018-05-21
|
* Allow for building GTMSystemVersion under deployment target of 10.8 and above.Gravatar Boris Vidolov2018-05-21
| | | | | | | - Keep Gestalt APIs till 10.8. - On 10.8 and 10.9 use sysctl and infer the OS version from there. - On 10.10+ use NSProcessInfo. - Added unit test to cover it.
* HTML unescape using unichar array instead of bytesGravatar Ray Chiang2017-11-14
|
* Add support to unescape 👍Gravatar Ray Chiang2017-11-14
|
* Update GTMStackTraceTest limits as newer Xcodes have longer stack tracesGravatar Sergio Campama2017-10-30
|
* Fixing block types to support -Wstrict-prototypes.Gravatar Thomas Van Lenten2017-10-06
|
* Fix up env check for changes to XCTest runningGravatar Thomas Van Lenten2017-10-06
|
* Fix error in __Require_noErr_Action namingGravatar Thomas Van Lenten2017-10-06
|
* Cast NSInteger to long for formatting as %ldGravatar Mark Mentovai2017-07-24
| | | | | | | | | | | | | | In https://crbug.com/747643, a new version of Clang produces warnings when attempting to format NSInteger as %zd (which is normally used for ssize_t). Acquiesce by casting NSInteger to long and formatting using %ld. In the process, I audited all occurrences of %zd in GTM and found that the remainder were being used to format size_t, which ought to use %zu, so I’ve corrected those. I also audited the existing uses of %zu and found them all to be correct.
* 10.13 SDK (and iOS 11 equivalent) compatibility for GTMGravatar Mark Mentovai2017-07-10
| | | | | | | | | | | | | | | Starting in the 10.6 SDK, the non-underscored and all-lowercase macro names in <AssertMacros.h> were deprecated. In the 10.13 SDK shipping in Xcode 9 beta 3 (but not previous betas of Xcode 9), Apple has made good on its promise to eventually disable these names. Update GTM to use the new underscored mixed-case names. Provided that nobody needs to target anything older than the 10.5 SDK anymore, this should be a safe change. Aside from GTMCarbonEvent.m, which is used by Chrome, this change is untested, and was made by mechanically replacing uses of the various check, require, and verify macros found in GTM.
* Avoid error from reserved macro name for GTMRegex.hGravatar Sergio Campama2017-06-16
|
* 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.
* Make GTMLogLevelFilter use KVO on GTMVerboseLogging in sharedUserDefaultsGravatar Thomas Van Lenten2016-08-05
| | | | | | | | | This avoids checking if verbose logging is enabled on every user defaults change, and only does so when the verbose logging key changes. In sampling a few apps, this showed up as a hit when the app changes default (directly or via the System frameworks storing things). By using KVO for it it basically disappears from the samples.