mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
iOS owner pattern changed to use WeakRef in order to prevent memory leaks.
Optimized list-view-tests. Added time per test.
This commit is contained in:
@@ -29,12 +29,23 @@ export interface TestInfoEntry {
|
||||
testTimeout: number;
|
||||
}
|
||||
|
||||
export function time(): number {
|
||||
if (global.android) {
|
||||
return java.lang.System.nanoTime() / 1000000; // 1 ms = 1000000 ns
|
||||
}
|
||||
else {
|
||||
return CACurrentMediaTime() * 1000;
|
||||
}
|
||||
}
|
||||
|
||||
export var write = function write(message: string, type?: number) {
|
||||
//console.log(message);
|
||||
trace.write(message, trace.categories.Test, type);
|
||||
}
|
||||
|
||||
var runTest = function (testInfo: TestInfoEntry) {
|
||||
let start = time();
|
||||
let duration;
|
||||
try {
|
||||
if (testInfo.instance) {
|
||||
testInfo.testFunc.apply(testInfo.instance);
|
||||
@@ -44,13 +55,15 @@ var runTest = function (testInfo: TestInfoEntry) {
|
||||
}
|
||||
|
||||
if (testInfo.isTest) {
|
||||
write("--- [" + testInfo.testName + "] OK", trace.messageType.info);
|
||||
duration = time() - start;
|
||||
write("--- [" + testInfo.testName + "] OK, duration: " + duration, trace.messageType.info);
|
||||
testInfo.isPassed = true;
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
if (testInfo.isTest) {
|
||||
write("--- [" + testInfo.testName + "] FAILED: " + e.message, trace.messageType.error);
|
||||
duration = time() - start;
|
||||
write("--- [" + testInfo.testName + "] FAILED: " + e.message + ", duration: " + duration, trace.messageType.error);
|
||||
testInfo.isPassed = false;
|
||||
testInfo.errorMessage = e.message;
|
||||
}
|
||||
@@ -78,7 +91,7 @@ function runAsync(testInfo: TestInfoEntry, recursiveIndex: number, testTimeout?:
|
||||
var error;
|
||||
var isDone = false;
|
||||
var handle;
|
||||
var testStartTime = new Date().getTime();
|
||||
var testStartTime = time();
|
||||
//write("--- [" + testInfo.testName + "] Started at: " + testStartTime, trace.messageType.info);
|
||||
var doneCallback = function (e: Error) {
|
||||
if (e) {
|
||||
@@ -93,23 +106,25 @@ function runAsync(testInfo: TestInfoEntry, recursiveIndex: number, testTimeout?:
|
||||
testTimeout = defaultTimeout;
|
||||
}
|
||||
|
||||
let duration;
|
||||
var checkFinished = function () {
|
||||
duration = time() - testStartTime;
|
||||
if (isDone) {
|
||||
write("--- [" + testInfo.testName + "] OK", trace.messageType.info);
|
||||
write("--- [" + testInfo.testName + "] OK, duration: " + duration, trace.messageType.info);
|
||||
//write("--- [" + testInfo.testName + "] took: " + (new Date().getTime() - testStartTime), trace.messageType.info);
|
||||
testInfo.isPassed = true;
|
||||
runTests(testsQueue, recursiveIndex + 1);
|
||||
}
|
||||
else if (error) {
|
||||
write("--- [" + testInfo.testName + "] FAILED: " + error.message, trace.messageType.error);
|
||||
write("--- [" + testInfo.testName + "] FAILED: " + error.message + ", duration: " + duration, trace.messageType.error);
|
||||
//write("--- [" + testInfo.testName + "] took: " + (new Date().getTime() - testStartTime), trace.messageType.info);
|
||||
testInfo.errorMessage = error.message;
|
||||
runTests(testsQueue, recursiveIndex + 1);
|
||||
}
|
||||
else {
|
||||
var testEndTime = new Date().getTime();
|
||||
var testEndTime = time();
|
||||
if (testEndTime - testStartTime > testTimeout) {
|
||||
write("--- [" + testInfo.testName + "] TIMEOUT", trace.messageType.error);
|
||||
write("--- [" + testInfo.testName + "] TIMEOUT, duration: " + duration, trace.messageType.error);
|
||||
//write("--- [" + testInfo.testName + "] took: " + (testEndTime - testStartTime), trace.messageType.info);
|
||||
testInfo.errorMessage = "Test timeout.";
|
||||
runTests(testsQueue, recursiveIndex + 1);
|
||||
|
||||
Reference in New Issue
Block a user