mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-09-11 06:55:23 +00:00
* Update the dangerfile * Make a trivial change to test new dangerfile * Try out the new value with another trivial change * Add a configuration API to make a unified place for pulling config from clients safely * Specify properties for delegate * Finish removing text experiment global enable * Generate the config file * Clean up configuration to fix tests * Work on making it serializable * Finish it up * Fix example code * Update sample project * Clean up a few things * Align with new project order * Make it faster and update license header * Add an option to specify your config at compile time * Update another license header * Add a version field, and bring interface state coalescing into configuration * Update CA queue code * Update CATransactionQueue tests * Turn transaction queue on by default (for now, see comment) * Update the tests * Update the tests AGAIN * Remove unused ordered set
49 lines
1.6 KiB
Objective-C
49 lines
1.6 KiB
Objective-C
//
|
|
// ASPerformanceTestContext.h
|
|
// Texture
|
|
//
|
|
// Copyright (c) 2018-present, Pinterest, Inc. All rights reserved.
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import <XCTest/XCTestAssertionsImpl.h>
|
|
#import <AsyncDisplayKit/ASBaseDefines.h>
|
|
|
|
#define ASXCTAssertRelativePerformanceInRange(test, caseName, min, max) \
|
|
_XCTPrimitiveAssertLessThanOrEqual(self, test.results[caseName].relativePerformance, @#caseName, max, @#max);\
|
|
_XCTPrimitiveAssertGreaterThanOrEqual(self, test.results[caseName].relativePerformance, @#caseName, min, @#min)
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
typedef void (^ASTestPerformanceCaseBlock)(NSUInteger i, dispatch_block_t startMeasuring, dispatch_block_t stopMeasuring);
|
|
|
|
@interface ASPerformanceTestResult : NSObject
|
|
@property (nonatomic, readonly) NSTimeInterval timePer1000;
|
|
@property (nonatomic, readonly) NSString *caseName;
|
|
|
|
@property (nonatomic, readonly, getter=isReferenceCase) BOOL referenceCase;
|
|
@property (nonatomic, readonly) float relativePerformance;
|
|
|
|
@property (nonatomic, readonly) NSMutableDictionary *userInfo;
|
|
@end
|
|
|
|
@interface ASPerformanceTestContext : NSObject
|
|
|
|
/**
|
|
* The first case you add here will be considered the reference case.
|
|
*/
|
|
- (void)addCaseWithName:(NSString *)caseName block:(AS_NOESCAPE ASTestPerformanceCaseBlock)block;
|
|
|
|
@property (nonatomic, copy, readonly) NSDictionary<NSString *, ASPerformanceTestResult *> *results;
|
|
|
|
- (BOOL)areAllUserInfosEqual;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|