--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javacommons/utils/functionserver/tsrc/src/testfunctionserver.cpp Tue May 11 16:07:20 2010 +0300
@@ -0,0 +1,2186 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Tests for function server
+*
+*/
+
+#include "functionserver.h"
+#include "fs_methodcall.h"
+
+#include "TestHarness.h"
+#include "exceptionbase.h"
+#include "logger.h"
+using namespace java::util;
+
+int sIvokedMethod = -1;
+int sA = -1;
+int sB = -1;
+int sC = -1;
+int sD = -1;
+int sE = -1;
+int sF = -1;
+int sG = -1;
+int sH = -1;
+int sI = -1;
+int sIndex = 0;
+int sServerSideInitCalled = false;
+int sServerSideCleanCalled = false;
+int sStartServerCalled = false;
+
+void localMethod()
+{sIvokedMethod = 1;}
+void localMethod1(int a)
+ {sIvokedMethod = 2; sA = a;}
+void localMethod2(int a, int b)
+ {sIvokedMethod = 3; sA = a; sB = b;}
+void localMethod3(int a, int b, int c)
+ {sIvokedMethod = 4; sA = a; sB = b; sC = c;}
+void localMethod4(int a, int b, int c, int d)
+ {sIvokedMethod = 5; sA = a; sB = b; sC = c; sD = d;}
+void localMethod5(int a, int b, int c, int d, int e)
+ {sIvokedMethod = 6; sA = a; sB = b; sC = c; sD = d; sE = e;}
+void localMethod6(int a, int b, int c, int d, int e, int f)
+ {sIvokedMethod = 7; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;}
+void localMethod7(int a, int b, int c, int d, int e, int f, int g)
+ {sIvokedMethod = 8; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;}
+void localMethod8(int a, int b, int c, int d, int e, int f, int g, int h)
+ {sIvokedMethod = 9; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g; sH = h;}
+void localMethod9(int a, int b, int c, int d, int e, int f, int g, int h, int i)
+ {sIvokedMethod = 10; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g; sH = h; sI = i;}
+
+int localMethodR()
+ {sIvokedMethod = 11;return sIvokedMethod;}
+int localMethodR1(int a)
+ {sIvokedMethod = 12; sA = a;return sIvokedMethod;}
+int localMethodR2(int a, int b)
+ {sIvokedMethod = 13; sA = a; sB = b;return sIvokedMethod;}
+int localMethodR3(int a, int b, int c)
+ {sIvokedMethod = 14; sA = a; sB = b; sC = c;return sIvokedMethod;}
+int localMethodR4(int a, int b, int c, int d)
+ {sIvokedMethod = 15; sA = a; sB = b; sC = c; sD = d;return sIvokedMethod;}
+int localMethodR5(int a, int b, int c, int d, int e)
+ {sIvokedMethod = 16; sA = a; sB = b; sC = c; sD = d; sE = e;return sIvokedMethod;}
+int localMethodR6(int a, int b, int c, int d, int e, int f)
+ {sIvokedMethod = 17; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;return sIvokedMethod;}
+int localMethodR7(int a, int b, int c, int d, int e, int f, int g)
+ {sIvokedMethod = 18; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;return sIvokedMethod;}
+int localMethodR8(int a, int b, int c, int d, int e, int f, int g, int h)
+ {sIvokedMethod = 19; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g; sH = h;return sIvokedMethod;}
+int localMethodR9(int a, int b, int c, int d, int e, int f, int g, int h, int i)
+ {sIvokedMethod = 20; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g; sH = h; sI = i;return sIvokedMethod;}
+
+void localMethodTL()
+ {sIvokedMethod = 21; }
+void localMethodT1L(int a)
+ {sIvokedMethod = 22; sA = a;}
+void localMethodT2L(int a, int b)
+ {sIvokedMethod = 23; sA = a; sB = b;}
+void localMethodT3L(int a, int b, int c)
+ {sIvokedMethod = 24; sA = a; sB = b; sC = c;}
+void localMethodT4L(int a, int b, int c, int d)
+ {sIvokedMethod = 25; sA = a; sB = b; sC = c; sD = d;}
+void localMethodT5L(int a, int b, int c, int d, int e)
+ {sIvokedMethod = 26; sA = a; sB = b; sC = c; sD = d; sE = e;}
+void localMethodT6L(int a, int b, int c, int d, int e, int f)
+ {sIvokedMethod = 27; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;}
+void localMethodT7L(int a, int b, int c, int d, int e, int f, int g)
+ {sIvokedMethod = 28; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;}
+void localMethodT8L(int a, int b, int c, int d, int e, int f, int g, int h)
+ {sIvokedMethod = 29; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g; sH = h;}
+void localMethodT9L(int a, int b, int c, int d, int e, int f, int g, int h, int i)
+ {sIvokedMethod = 30; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g; sH = h; sI = i;}
+
+void localLeavingMethodTL()
+ {sIvokedMethod = 31; User::Leave(-sIvokedMethod);}
+void localLeavingMethodT1L(int a)
+ {sIvokedMethod = 32; sA = a;User::Leave(-sIvokedMethod);}
+void localLeavingMethodT2L(int a, int b)
+ {sIvokedMethod = 33; sA = a; sB = b;User::Leave(-sIvokedMethod);}
+void localLeavingMethodT3L(int a, int b, int c)
+ {sIvokedMethod = 34; sA = a; sB = b; sC = c;User::Leave(-sIvokedMethod);}
+void localLeavingMethodT4L(int a, int b, int c, int d)
+ {sIvokedMethod = 35; sA = a; sB = b; sC = c; sD = d;User::Leave(-sIvokedMethod);}
+void localLeavingMethodT5L(int a, int b, int c, int d, int e)
+ {sIvokedMethod = 36; sA = a; sB = b; sC = c; sD = d; sE = e;User::Leave(-sIvokedMethod);}
+void localLeavingMethodT6L(int a, int b, int c, int d, int e, int f)
+ {sIvokedMethod = 37; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;User::Leave(-sIvokedMethod);}
+void localLeavingMethodT7L(int a, int b, int c, int d, int e, int f, int g)
+ {sIvokedMethod = 38; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;User::Leave(-sIvokedMethod);}
+void localLeavingMethodT8L(int a, int b, int c, int d, int e, int f, int g, int h)
+ {sIvokedMethod = 39; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g; sH = h;User::Leave(-sIvokedMethod);}
+void localLeavingMethodT9L(int a, int b, int c, int d, int e, int f, int g, int h, int i)
+ {sIvokedMethod = 40; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g; sH = h; sI = i;User::Leave(-sIvokedMethod);}
+
+
+class TestClass
+{
+public:
+ void classMethod()
+ {sIvokedMethod = 41;}
+ void classMethod1(int a)
+ {sIvokedMethod = 42; sA = a;}
+ void classMethod2(int a, int b)
+ {sIvokedMethod = 43; sA = a; sB = b;}
+ void classMethod3(int a, int b, int c)
+ {sIvokedMethod = 44; sA = a; sB = b; sC = c;}
+ void classMethod4(int a, int b, int c, int d)
+ {sIvokedMethod = 45; sA = a; sB = b; sC = c; sD = d;}
+ void classMethod5(int a, int b, int c, int d, int e)
+ {sIvokedMethod = 46; sA = a; sB = b; sC = c; sD = d; sE = e;}
+ void classMethod6(int a, int b, int c, int d, int e, int f)
+ {sIvokedMethod = 47; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;}
+ void classMethod7(int a, int b, int c, int d, int e, int f, int g)
+ {sIvokedMethod = 48; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;}
+
+ int classMethodR()
+ {sIvokedMethod = 51;return sIvokedMethod;}
+ int classMethodR1(int a)
+ {sIvokedMethod = 52; sA = a;return sIvokedMethod;}
+ int classMethodR2(int a, int b)
+ {sIvokedMethod = 53; sA = a; sB = b;return sIvokedMethod;}
+ int classMethodR3(int a, int b, int c)
+ {sIvokedMethod = 54; sA = a; sB = b; sC = c;return sIvokedMethod;}
+ int classMethodR4(int a, int b, int c, int d)
+ {sIvokedMethod = 55; sA = a; sB = b; sC = c; sD = d;return sIvokedMethod;}
+ int classMethodR5(int a, int b, int c, int d, int e)
+ {sIvokedMethod = 56; sA = a; sB = b; sC = c; sD = d; sE = e;return sIvokedMethod;}
+ int classMethodR6(int a, int b, int c, int d, int e, int f)
+ {sIvokedMethod = 57; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;return sIvokedMethod;}
+ int classMethodR7(int a, int b, int c, int d, int e, int f, int g)
+ {sIvokedMethod = 58; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;return sIvokedMethod;}
+
+ void classMethodL()
+ {sIvokedMethod = 61;}
+ void classMethodL1(int a)
+ {sIvokedMethod = 62; sA = a;}
+ void classMethodL2(int a, int b)
+ {sIvokedMethod = 63; sA = a; sB = b;}
+ void classMethodL3(int a, int b, int c)
+ {sIvokedMethod = 64; sA = a; sB = b; sC = c;}
+ void classMethodL4(int a, int b, int c, int d)
+ {sIvokedMethod = 65; sA = a; sB = b; sC = c; sD = d;}
+ void classMethodL5(int a, int b, int c, int d, int e)
+ {sIvokedMethod = 66; sA = a; sB = b; sC = c; sD = d; sE = e;}
+ void classMethodL6(int a, int b, int c, int d, int e, int f)
+ {sIvokedMethod = 67; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;}
+ void classMethodL7(int a, int b, int c, int d, int e, int f, int g)
+ {sIvokedMethod = 68; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;}
+
+ void classMethodWithLeaveL()
+ {sIvokedMethod = 71;User::Leave(-sIvokedMethod);}
+ void classMethodWithLeave1L(int a)
+ {sIvokedMethod = 72; sA = a;User::Leave(-sIvokedMethod);}
+ void classMethodWithLeave2L(int a, int b)
+ {sIvokedMethod = 73; sA = a; sB = b;User::Leave(-sIvokedMethod);}
+ void classMethodWithLeave3L(int a, int b, int c)
+ {sIvokedMethod = 74; sA = a; sB = b; sC = c;User::Leave(-sIvokedMethod);}
+ void classMethodWithLeave4L(int a, int b, int c, int d)
+ {sIvokedMethod = 75; sA = a; sB = b; sC = c; sD = d;User::Leave(-sIvokedMethod);}
+ void classMethodWithLeave5L(int a, int b, int c, int d, int e)
+ {sIvokedMethod = 76; sA = a; sB = b; sC = c; sD = d; sE = e;User::Leave(-sIvokedMethod);}
+ void classMethodWithLeave6L(int a, int b, int c, int d, int e, int f)
+ {sIvokedMethod = 77; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;User::Leave(-sIvokedMethod);}
+ void classMethodWithLeave7L(int a, int b, int c, int d, int e, int f, int g)
+ {sIvokedMethod = 78; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;User::Leave(-sIvokedMethod);}
+
+ int classMethodRL()
+ {sIvokedMethod = 81;return sIvokedMethod;}
+ int classMethodR1L(int a)
+ {sIvokedMethod = 82; sA = a;return sIvokedMethod;}
+ int classMethodR2L(int a, int b)
+ {sIvokedMethod = 83; sA = a; sB = b;return sIvokedMethod;}
+ int classMethodR3L(int a, int b, int c)
+ {sIvokedMethod = 84; sA = a; sB = b; sC = c;return sIvokedMethod;}
+ int classMethodR4L(int a, int b, int c, int d)
+ {sIvokedMethod = 85; sA = a; sB = b; sC = c; sD = d;return sIvokedMethod;}
+ int classMethodR5L(int a, int b, int c, int d, int e)
+ {sIvokedMethod = 86; sA = a; sB = b; sC = c; sD = d; sE = e;return sIvokedMethod;}
+ int classMethodR6L(int a, int b, int c, int d, int e, int f)
+ {sIvokedMethod = 87; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;return sIvokedMethod;}
+ int classMethodR7L(int a, int b, int c, int d, int e, int f, int g)
+ {sIvokedMethod = 88; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;return sIvokedMethod;}
+
+ int classMethodWithLeaveRL()
+ {sIvokedMethod = 91;User::Leave(-sIvokedMethod);return 0;}
+ int classMethodWithLeaveR1L(int a)
+ {sIvokedMethod = 92; sA = a;User::Leave(-sIvokedMethod);return 0;}
+ int classMethodWithLeaveR2L(int a, int b)
+ {sIvokedMethod = 93; sA = a; sB = b;User::Leave(-sIvokedMethod);return 0;}
+ int classMethodWithLeaveR3L(int a, int b, int c)
+ {sIvokedMethod = 94; sA = a; sB = b; sC = c;User::Leave(-sIvokedMethod);return 0;}
+ int classMethodWithLeaveR4L(int a, int b, int c, int d)
+ {sIvokedMethod = 95; sA = a; sB = b; sC = c; sD = d;User::Leave(-sIvokedMethod);return 0;}
+ int classMethodWithLeaveR5L(int a, int b, int c, int d, int e)
+ {sIvokedMethod = 96; sA = a; sB = b; sC = c; sD = d; sE = e;User::Leave(-sIvokedMethod);return 0;}
+ int classMethodWithLeaveR6L(int a, int b, int c, int d, int e, int f)
+ {sIvokedMethod = 97; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;User::Leave(-sIvokedMethod);return 0;}
+ int classMethodWithLeaveR7L(int a, int b, int c, int d, int e, int f, int g)
+ {sIvokedMethod = 98; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;User::Leave(-sIvokedMethod);return 0;}
+
+
+
+ void classMethodC() const
+ {sIvokedMethod = 101;}
+ void classMethodC1(int a) const
+ {sIvokedMethod = 102; sA = a;}
+ void classMethodC2(int a, int b) const
+ {sIvokedMethod = 103; sA = a; sB = b;}
+ void classMethodC3(int a, int b, int c) const
+ {sIvokedMethod = 104; sA = a; sB = b; sC = c;}
+ void classMethodC4(int a, int b, int c, int d) const
+ {sIvokedMethod = 105; sA = a; sB = b; sC = c; sD = d;}
+ void classMethodC5(int a, int b, int c, int d, int e) const
+ {sIvokedMethod = 106; sA = a; sB = b; sC = c; sD = d; sE = e;}
+ void classMethodC6(int a, int b, int c, int d, int e, int f) const
+ {sIvokedMethod = 107; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;}
+ void classMethodC7(int a, int b, int c, int d, int e, int f, int g) const
+ {sIvokedMethod = 108; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;}
+
+ int classMethodRC() const
+ {sIvokedMethod = 111;return sIvokedMethod;}
+ int classMethodRC1(int a) const
+ {sIvokedMethod = 112; sA = a;return sIvokedMethod;}
+ int classMethodRC2(int a, int b) const
+ {sIvokedMethod = 113; sA = a; sB = b;return sIvokedMethod;}
+ int classMethodRC3(int a, int b, int c) const
+ {sIvokedMethod = 114; sA = a; sB = b; sC = c;return sIvokedMethod;}
+ int classMethodRC4(int a, int b, int c, int d) const
+ {sIvokedMethod = 115; sA = a; sB = b; sC = c; sD = d;return sIvokedMethod;}
+ int classMethodRC5(int a, int b, int c, int d, int e) const
+ {sIvokedMethod = 116; sA = a; sB = b; sC = c; sD = d; sE = e;return sIvokedMethod;}
+ int classMethodRC6(int a, int b, int c, int d, int e, int f) const
+ {sIvokedMethod = 117; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;return sIvokedMethod;}
+ int classMethodRC7(int a, int b, int c, int d, int e, int f, int g) const
+ {sIvokedMethod = 118; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;return sIvokedMethod;}
+
+ void classMethodCL() const
+ {sIvokedMethod = 121;}
+ void classMethodC1L(int a) const
+ {sIvokedMethod = 122; sA = a;}
+ void classMethodC2L(int a, int b) const
+ {sIvokedMethod = 123; sA = a; sB = b;}
+ void classMethodC3L(int a, int b, int c) const
+ {sIvokedMethod = 124; sA = a; sB = b; sC = c;}
+ void classMethodC4L(int a, int b, int c, int d) const
+ {sIvokedMethod = 125; sA = a; sB = b; sC = c; sD = d;}
+ void classMethodC5L(int a, int b, int c, int d, int e) const
+ {sIvokedMethod = 126; sA = a; sB = b; sC = c; sD = d; sE = e;}
+ void classMethodC6L(int a, int b, int c, int d, int e, int f) const
+ {sIvokedMethod = 127; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;}
+ void classMethodC7L(int a, int b, int c, int d, int e, int f, int g) const
+ {sIvokedMethod = 128; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;}
+
+ void classMethodWithLeaveCL() const
+ {sIvokedMethod = 131;User::Leave(-sIvokedMethod);}
+ void classMethodWithLeaveC1L(int a) const
+ {sIvokedMethod = 132; sA = a;User::Leave(-sIvokedMethod);}
+ void classMethodWithLeaveC2L(int a, int b) const
+ {sIvokedMethod = 133; sA = a; sB = b;User::Leave(-sIvokedMethod);}
+ void classMethodWithLeaveC3L(int a, int b, int c) const
+ {sIvokedMethod = 134; sA = a; sB = b; sC = c;User::Leave(-sIvokedMethod);}
+ void classMethodWithLeaveC4L(int a, int b, int c, int d) const
+ {sIvokedMethod = 135; sA = a; sB = b; sC = c; sD = d;User::Leave(-sIvokedMethod);}
+ void classMethodWithLeaveC5L(int a, int b, int c, int d, int e) const
+ {sIvokedMethod = 136; sA = a; sB = b; sC = c; sD = d; sE = e;User::Leave(-sIvokedMethod);}
+ void classMethodWithLeaveC6L(int a, int b, int c, int d, int e, int f) const
+ {sIvokedMethod = 137; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;User::Leave(-sIvokedMethod);}
+ void classMethodWithLeaveC7L(int a, int b, int c, int d, int e, int f, int g) const
+ {sIvokedMethod = 138; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;User::Leave(-sIvokedMethod);}
+
+ int classMethodRCL() const
+ {sIvokedMethod = 141;return sIvokedMethod;}
+ int classMethodRC1L(int a) const
+ {sIvokedMethod = 142; sA = a;return sIvokedMethod;}
+ int classMethodRC2L(int a, int b) const
+ {sIvokedMethod = 143; sA = a; sB = b;return sIvokedMethod;}
+ int classMethodRC3L(int a, int b, int c) const
+ {sIvokedMethod = 144; sA = a; sB = b; sC = c;return sIvokedMethod;}
+ int classMethodRC4L(int a, int b, int c, int d) const
+ {sIvokedMethod = 145; sA = a; sB = b; sC = c; sD = d;return sIvokedMethod;}
+ int classMethodRC5L(int a, int b, int c, int d, int e) const
+ {sIvokedMethod = 146; sA = a; sB = b; sC = c; sD = d; sE = e;return sIvokedMethod;}
+ int classMethodRC6L(int a, int b, int c, int d, int e, int f) const
+ {sIvokedMethod = 147; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;return sIvokedMethod;}
+ int classMethodRC7L(int a, int b, int c, int d, int e, int f, int g) const
+ {sIvokedMethod = 148; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;return sIvokedMethod;}
+
+ int classMethodWithLeaveRCL() const
+ {sIvokedMethod = 151;User::Leave(-sIvokedMethod); return 0;}
+ int classMethodWithLeaveRC1L(int a) const
+ {sIvokedMethod = 152; sA = a;User::Leave(-sIvokedMethod);return 0;}
+ int classMethodWithLeaveRC2L(int a, int b) const
+ {sIvokedMethod = 153; sA = a; sB = b;User::Leave(-sIvokedMethod);return 0;}
+ int classMethodWithLeaveRC3L(int a, int b, int c) const
+ {sIvokedMethod = 154; sA = a; sB = b; sC = c;User::Leave(-sIvokedMethod);return 0;}
+ int classMethodWithLeaveRC4L(int a, int b, int c, int d) const
+ {sIvokedMethod = 155; sA = a; sB = b; sC = c; sD = d;User::Leave(-sIvokedMethod);return 0;}
+ int classMethodWithLeaveRC5L(int a, int b, int c, int d, int e) const
+ {sIvokedMethod = 156; sA = a; sB = b; sC = c; sD = d; sE = e;User::Leave(-sIvokedMethod);return 0;}
+ int classMethodWithLeaveRC6L(int a, int b, int c, int d, int e, int f) const
+ {sIvokedMethod = 157; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f;User::Leave(-sIvokedMethod);return 0;}
+ int classMethodWithLeaveRC7L(int a, int b, int c, int d, int e, int f, int g) const
+ {sIvokedMethod = 158; sA = a; sB = b; sC = c; sD = d; sE = e; sF = f; sG = g;User::Leave(-sIvokedMethod);return 0;}
+};
+
+
+class MyFunctionServer: public java::util::FunctionServer
+{
+public:
+
+ MyFunctionServer() :
+ java::util::FunctionServer("JavaTestFunctionServer")
+ {
+ }
+
+ virtual void doServerSideInit()
+ {
+ java::util::FunctionServer::doServerSideInit();
+ sServerSideInitCalled = ++sIndex;
+ }
+ virtual void doServerSideClean()
+ {
+ sServerSideCleanCalled = ++sIndex;
+ }
+ virtual void startServer()
+ {
+ sStartServerCalled = ++sIndex;
+ java::util::FunctionServer::startServer();
+ }
+};
+class MyFunctionServer2
+{
+ int a;
+};
+
+TEST_GROUP(TestFuncServerInit)
+{
+ TEST_SETUP()
+ {
+ sIvokedMethod = -1;
+ sA = -1;
+ sB = -1;
+ sC = -1;
+ sD = -1;
+ sE = -1;
+ sF = -1;
+ sG = -1;
+ sH = -1;
+ sI = -1;
+ sServerSideInitCalled = 0;
+ sServerSideCleanCalled = 0;
+ sStartServerCalled = 0;
+ sIndex = 0;
+ }
+
+ TEST_TEARDOWN()
+ {
+ }
+};
+
+
+TEST(TestFuncServerInit, startAndStop)
+{
+ MyFunctionServer* fserver = new MyFunctionServer();
+ try
+ {
+ fserver->createServerToNewThread();
+ fserver->stopServer();
+ delete fserver;
+ fserver = 0;
+ }
+ catch(...)
+ {
+ FAIL("Unexpected exp in startAndStop\n");
+ }
+
+ CHECK(sServerSideInitCalled == 1);
+ CHECK(sStartServerCalled == 2);
+ CHECK(sServerSideCleanCalled == 3);
+}
+
+
+
+
+
+
+
+TEST_GROUP(TestFuncServerNotOpened)
+{
+ MyFunctionServer* fserver;
+ TestClass* clazz;
+ int a;
+ int b;
+ int c;
+ int d;
+ int e;
+ int f;
+ int g;
+ int h;
+ int i;
+
+ TEST_SETUP()
+ {
+ fserver = new MyFunctionServer();
+
+ sServerSideInitCalled = 0;
+ sServerSideCleanCalled = 0;
+ sStartServerCalled = 0;
+ sIndex = 0;
+ sIvokedMethod = -1;
+ sA = -1;
+ sB = -1;
+ sC = -1;
+ sD = -1;
+ sE = -1;
+ sF = -1;
+ sG = -1;
+ sH = -1;
+ sI = -1;
+ a = -1;
+ b = -1;
+ c = -1;
+ d = -1;
+ e = -1;
+ f = -1;
+ g = -1;
+ h = -1;
+ i = -1;
+ }
+
+ TEST_TEARDOWN()
+ {
+ CHECK(sA == a);
+ CHECK(sB == b);
+ CHECK(sC == c);
+ CHECK(sD == d);
+ CHECK(sE == e);
+ CHECK(sF == f);
+ CHECK(sG == g);
+ CHECK(sH == h);
+ CHECK(sI == i);
+ delete fserver;
+ fserver = 0;
+ }
+};
+
+
+TEST(TestFuncServerNotOpened, closeWithoutOpen)
+{
+ try
+ {
+ fserver->stopServer();
+
+ }
+ catch(...)
+ {
+ FAIL("UNexpected exp in closeWithoutOpen\n");
+ }
+ CHECK(sServerSideInitCalled == 0);
+ CHECK(sStartServerCalled == 0);
+ CHECK(sServerSideCleanCalled == 0);
+}
+
+
+TEST(TestFuncServerNotOpened, sendWithoutOpen)
+{
+ try
+ {
+ CallMethod(localMethod, fserver);
+ }
+ catch (ExceptionBase& e)
+ {
+ CHECK(e.toString().find("Trying to execute code in non-existing FS: ") != std::string::npos)
+ CHECK(e.toString().find(" server not created.") != std::string::npos)
+ }
+ catch(...)
+ {
+ FAIL("UNexpected exp in closeWithoutOpen\n");
+ }
+ CHECK(sIvokedMethod == -1);
+ CHECK(sServerSideInitCalled == 0);
+ CHECK(sStartServerCalled == 0);
+ CHECK(sServerSideCleanCalled == 0);
+}
+
+
+TEST(TestFuncServerNotOpened, sendWithoutOpenL)
+{
+ try
+ {
+ TRAPD(err, CallMethodL(localLeavingMethodTL, fserver));
+ CHECK(err == KErrServerTerminated);
+ }
+ catch(...)
+ {
+ FAIL("UNexpected exp in closeWithoutOpen\n");
+ }
+ CHECK(sIvokedMethod == -1);
+ CHECK(sServerSideInitCalled == 0);
+ CHECK(sStartServerCalled == 0);
+ CHECK(sServerSideCleanCalled == 0);
+}
+
+
+TEST(TestFuncServerNotOpened, sendAfterClose)
+{
+ try
+ {
+ fserver->createServerToNewThread();
+ fserver->stopServer();
+ CallMethod(localMethod, fserver);
+ }
+ catch (ExceptionBase& e)
+ {
+ CHECK(e.toString().find("Trying to execute code in non-existing FS: ") != std::string::npos)
+ CHECK(e.toString().find(" server closing.") != std::string::npos)
+ }
+ catch(...)
+ {
+ FAIL("UNexpected exp in closeWithoutOpen\n");
+ }
+ CHECK(sIvokedMethod == -1);
+}
+
+TEST(TestFuncServerNotOpened, sendAfterCloseL)
+{
+ try
+ {
+ fserver->createServerToNewThread();
+ fserver->stopServer();
+ TRAPD(err, CallMethodL(localLeavingMethodTL, fserver));
+ CHECK(err == KErrServerTerminated);
+ }
+ catch(...)
+ {
+ FAIL("UNexpected exp in closeWithoutOpen\n");
+ }
+ CHECK(sIvokedMethod == -1);
+}
+
+
+
+
+
+
+
+
+
+
+
+TEST_GROUP(TestFuncServer)
+{
+ MyFunctionServer* fserver;
+ TestClass* clazz;
+ int a;
+ int b;
+ int c;
+ int d;
+ int e;
+ int f;
+ int g;
+ int h;
+ int i;
+
+ TEST_SETUP()
+ {
+ fserver = new MyFunctionServer();
+ clazz = new TestClass();
+
+ sServerSideInitCalled = 0;
+ sServerSideCleanCalled = 0;
+ sStartServerCalled = 0;
+ sIndex = 0;
+ fserver->createServerToNewThread();
+ sIvokedMethod = -1;
+ sA = -1;
+ sB = -1;
+ sC = -1;
+ sD = -1;
+ sE = -1;
+ sF = -1;
+ sG = -1;
+ sH = -1;
+ sI = -1;
+ a = -1;
+ b = -1;
+ c = -1;
+ d = -1;
+ e = -1;
+ f = -1;
+ g = -1;
+ h = -1;
+ i = -1;
+ }
+
+ TEST_TEARDOWN()
+ {
+ CHECK(sA == a);
+ CHECK(sB == b);
+ CHECK(sC == c);
+ CHECK(sD == d);
+ CHECK(sE == e);
+ CHECK(sF == f);
+ CHECK(sG == g);
+ CHECK(sH == h);
+ CHECK(sI == i);
+ delete clazz;
+ fserver->stopServer();
+ delete fserver;
+ fserver = 0;
+ CHECK(sServerSideInitCalled == 1);
+ CHECK(sStartServerCalled == 2);
+ CHECK(sServerSideCleanCalled == 3);
+ }
+};
+
+// Calling local void methods.
+TEST(TestFuncServer, localVoid0)
+{
+ CallMethod(localMethod, fserver);
+ CHECK(sIvokedMethod == 1);
+}
+
+TEST(TestFuncServer, localVoid1)
+{
+ a = 1;
+ CallMethod(localMethod1, a, fserver);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localVoid2)
+{
+ a = 2;
+ b = a + 1;
+ CallMethod(localMethod2, a, b, fserver);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localVoid3)
+{
+ a = 3;
+ b = a + 1;
+ c = b + 1;
+ CallMethod(localMethod3, a, b, c, fserver);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localVoid4)
+{
+ a = 4;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ CallMethod(localMethod4, a, b, c, d, fserver);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localVoid5)
+{
+ a = 5;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ CallMethod(localMethod5, a, b, c, d, e, fserver);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localVoid6)
+{
+ a = 6;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ CallMethod(localMethod6, a, b, c, d, e, f, fserver);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localVoid7)
+{
+ a = 7;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ CallMethod(localMethod7, a, b, c, d, e, f, g, fserver);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localVoid8)
+{
+ a = 8;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ h = g + 1;
+ CallMethod(localMethod8, a, b, c, d, e, f, g, h, fserver);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localVoid9)
+{
+ a = 9;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ h = g + 1;
+ i = h + 1;
+ CallMethod(localMethod9, a, b, c, d, e, f, g, h, i, fserver);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+
+// Calling methods that returns something.
+
+TEST(TestFuncServer, localReturn)
+{
+ int res = CallMethod(localMethodR, fserver);
+ CHECK(res == 11);
+ CHECK(sIvokedMethod == 11);
+}
+
+TEST(TestFuncServer, localReturn1)
+{
+ a = 11;
+ int res = CallMethod(localMethodR1, a, fserver);
+ CHECK(res == a + 1);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localReturn2)
+{
+ a = 12;
+ b = a + 1;
+ int res = CallMethod(localMethodR2, a, b, fserver);
+ CHECK(res == a + 1);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localReturn3)
+{
+ a = 13;
+ b = a + 1;
+ c = b + 1;
+ int res = CallMethod(localMethodR3, a, b, c, fserver);
+ CHECK(res == a + 1);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localReturn4)
+{
+ a = 14;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ int res = CallMethod(localMethodR4, a, b, c, d, fserver);
+ CHECK(res == a + 1);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localReturn5)
+{
+ a = 15;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ int res = CallMethod(localMethodR5, a, b, c, d, e, fserver);
+ CHECK(res == a + 1);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localReturn6)
+{
+ a = 16;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ int res = CallMethod(localMethodR6, a, b, c, d, e, f, fserver);
+ CHECK(res == a + 1);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localReturn7)
+{
+ a = 17;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ int res = CallMethod(localMethodR7, a, b, c, d, e, f, g, fserver);
+ CHECK(res == a + 1);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localReturn8)
+{
+ a = 18;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ h = g + 1;
+ int res = CallMethod(localMethodR8, a, b, c, d, e, f, g, h, fserver);
+ CHECK(res == a + 1);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localReturn9)
+{
+ a = 19;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ h = g + 1;
+ i = h + 1;
+ int res = CallMethod(localMethodR9, a, b, c, d, e, f, g, h, i, fserver);
+ CHECK(res == a + 1);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+
+// Calling methods through TRAP.
+
+TEST(TestFuncServer, localTrap0)
+{
+ int res = CallMethodTrap(localMethodTL, fserver);
+ CHECK(res == 0);
+ CHECK(sIvokedMethod == 21);
+}
+
+TEST(TestFuncServer, localTrap1)
+{
+ a = 21;
+ int res = CallMethodTrap(localMethodT1L, a, fserver);
+ CHECK(res == 0);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localTrap2)
+{
+ a = 22;
+ b = a + 1;
+ int res = CallMethodTrap(localMethodT2L, a, b, fserver);
+ CHECK(res == 0);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localTrap3)
+{
+ a = 23;
+ b = a + 1;
+ c = b + 1;
+ int res = CallMethodTrap(localMethodT3L, a, b, c, fserver);
+ CHECK(res == 0);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localTrap4)
+{
+ a = 24;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ int res = CallMethodTrap(localMethodT4L, a, b, c, d, fserver);
+ CHECK(res == 0);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localTrap5)
+{
+ a = 25;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ int res = CallMethodTrap(localMethodT5L, a, b, c, d, e, fserver);
+ CHECK(res == 0);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localTrap6)
+{
+ a = 26;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ int res = CallMethodTrap(localMethodT6L, a, b, c, d, e, f, fserver);
+ CHECK(res == 0);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localTrap7)
+{
+ a = 27;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ int res = CallMethodTrap(localMethodT7L, a, b, c, d, e, f, g, fserver);
+ CHECK(res == 0);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localTrap8)
+{
+ a = 28;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ h = g + 1;
+ int res = CallMethodTrap(localMethodT8L, a, b, c, d, e, f, g, h, fserver);
+ CHECK(res == 0);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localTrap9)
+{
+ a = 29;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ h = g + 1;
+ i = h + 1;
+ int res = CallMethodTrap(localMethodT9L, a, b, c, d, e, f, g, h, i, fserver);
+ CHECK(res == 0);
+ CHECK(sIvokedMethod == a + 1);
+}
+
+// Calling methods through TRAP. The method will leave.
+TEST(TestFuncServer, localTrapWithLeave)
+{
+ int res = CallMethodTrap(localLeavingMethodTL, fserver);
+ CHECK(res == -31);
+ CHECK(sIvokedMethod == 31);
+}
+
+TEST(TestFuncServer, localTrapWithLeave1)
+{
+ a = 31;
+ int res = CallMethodTrap(localLeavingMethodT1L, a, fserver);
+ CHECK(res == -(a + 1));
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localTrapWithLeave2)
+{
+ a = 32;
+ b = a + 1;
+ int res = CallMethodTrap(localLeavingMethodT2L, a, b, fserver);
+ CHECK(res == -(a + 1));
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localTrapWithLeave3)
+{
+ a = 33;
+ b = a + 1;
+ c = b + 1;
+ int res = CallMethodTrap(localLeavingMethodT3L, a, b, c, fserver);
+ CHECK(res == -(a + 1));
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localTrapWithLeave4)
+{
+ a = 34;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ int res = CallMethodTrap(localLeavingMethodT4L, a, b, c, d, fserver);
+ CHECK(res == -(a + 1));
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localTrapWithLeave5)
+{
+ a = 35;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ int res = CallMethodTrap(localLeavingMethodT5L, a, b, c, d, e, fserver);
+ CHECK(res == -(a + 1));
+ CHECK(sIvokedMethod == a + 1);
+}
+
+
+TEST(TestFuncServer, localTrapWithLeave6)
+{
+ a = 36;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ int res = CallMethodTrap(localLeavingMethodT6L, a, b, c, d, e, f, fserver);
+ CHECK(res == -(a + 1));
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localTrapWithLeave7)
+{
+ a = 37;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ int res = CallMethodTrap(localLeavingMethodT7L, a, b, c, d, e, f, g, fserver);
+ CHECK(res == -(a + 1));
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localTrapWithLeave8)
+{
+ a = 38;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ h = g + 1;
+ int res = CallMethodTrap(localLeavingMethodT8L, a, b, c, d, e, f, g, h, fserver);
+ CHECK(res == -(a + 1));
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, localTrapWithLeave9)
+{
+ a = 39;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ h = g + 1;
+ i = h + 1;
+ int res = CallMethodTrap(localLeavingMethodT9L, a, b, c, d, e, f, g, h, i, fserver);
+ CHECK(res == -(a + 1));
+ CHECK(sIvokedMethod == a + 1);
+}
+
+
+// Testing non-const void methods from a class.
+
+TEST(TestFuncServer, classVoid0)
+{
+ CallMethod( clazz, TestClass::classMethod, fserver );
+ CHECK(sIvokedMethod == 41);
+}
+
+TEST(TestFuncServer, classVoid1)
+{
+ a = 41;
+ CallMethod( clazz, TestClass::classMethod1, a, fserver );
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, classVoid2)
+{
+ a = 42;
+ b = a + 1;
+ CallMethod( clazz, TestClass::classMethod2, a, b, fserver );
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, classVoid3)
+{
+ a = 43;
+ b = a + 1;
+ c = b + 1;
+ CallMethod( clazz, TestClass::classMethod3, a, b, c, fserver );
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, classVoid4)
+{
+ a = 44;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ CallMethod( clazz, TestClass::classMethod4, a, b, c, d, fserver );
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, classVoid5)
+{
+ a = 45;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ CallMethod( clazz, TestClass::classMethod5, a, b, c, d, e, fserver );
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, classVoid6)
+{
+ a = 46;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ CallMethod( clazz, TestClass::classMethod6, a, b, c, d, e, f, fserver );
+ CHECK(sIvokedMethod == a + 1);
+}
+
+TEST(TestFuncServer, classVoid7)
+{
+ a = 47;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ CallMethod( clazz, TestClass::classMethod7, a, b, c, d, e, f, g, fserver );
+ CHECK(sIvokedMethod == a + 1);
+}
+
+// Testing non-const methods from a class that returns a value.
+
+TEST(TestFuncServer, classReturn0)
+{
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodR, fserver );
+ CHECK(sIvokedMethod == 51);
+ CHECK(res == 51);
+
+}
+TEST(TestFuncServer, classReturn1)
+{
+ a = 51;
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodR1, a, fserver );
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+
+}
+TEST(TestFuncServer, classReturn2)
+{
+ a = 52;
+ b = a + 1;
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodR2, a, b, fserver );
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+
+}
+TEST(TestFuncServer, classReturn3)
+{
+ a = 53;
+ b = a + 1;
+ c = b + 1;
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodR3, a, b, c, fserver );
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+
+}
+TEST(TestFuncServer, classReturn4)
+{
+ a = 54;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodR4, a, b, c, d, fserver );
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+
+}
+TEST(TestFuncServer, classReturn5)
+{
+ a = 55;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodR5, a, b, c, d, e, fserver );
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+
+}
+TEST(TestFuncServer, classReturn6)
+{
+ a = 56;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodR6, a, b, c, d, e, f, fserver );
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+
+}
+TEST(TestFuncServer, classReturn7)
+{
+ a = 57;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodR7, a, b, c, d, e, f, g, fserver );
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+
+}
+
+// Testing non-const void leaving methods from a class. Leave is not happening.
+
+TEST(TestFuncServer, classVoidL0)
+{
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodL, fserver ));
+ CHECK(sIvokedMethod == 61);
+ CHECK(res == 0);
+
+}
+TEST(TestFuncServer, classVoidL1)
+{
+ a = 61;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodL1, a, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == 0);
+
+}
+TEST(TestFuncServer, classVoidL2)
+{
+ a = 62;
+ b = a + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodL2, a, b, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == 0);
+
+}
+TEST(TestFuncServer, classVoidL3)
+{
+ a = 63;
+ b = a + 1;
+ c = b + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodL3, a, b, c, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == 0);
+
+}
+TEST(TestFuncServer, classVoidL4)
+{
+ a = 64;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodL4, a, b, c, d, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == 0);
+
+}
+TEST(TestFuncServer, classVoidL5)
+{
+ a = 65;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodL5, a, b, c, d, e, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == 0);
+
+}
+TEST(TestFuncServer, classVoidL6)
+{
+ a = 66;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodL6, a, b, c, d, e, f, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == 0);
+
+}
+TEST(TestFuncServer, classVoidL7)
+{
+ a = 67;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodL7, a, b, c, d, e, f, g, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == 0);
+
+}
+
+// Testing non-const void leaving methods from a class. Leave is happening.
+TEST(TestFuncServer, classVoidLeavingL0)
+{
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeaveL, fserver ));
+ CHECK(sIvokedMethod == 71);
+ CHECK(res == -71);
+
+}
+TEST(TestFuncServer, classVoidLeavingL1)
+{
+ a = 71;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeave1L, a, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == -(a + 1));
+
+}
+TEST(TestFuncServer, classVoidLeavingL2)
+{
+ a = 72;
+ b = a + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeave2L, a, b, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == -(a + 1));
+
+}
+TEST(TestFuncServer, classVoidLeavingL3)
+{
+ a = 73;
+ b = a + 1;
+ c = b + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeave3L, a, b, c, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == -(a + 1));
+
+}
+TEST(TestFuncServer, classVoidLeavingL4)
+{
+ a = 74;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeave4L, a, b, c, d, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == -(a + 1));
+
+}
+TEST(TestFuncServer, classVoidLeavingL5)
+{
+ a = 75;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeave5L, a, b, c, d, e, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == -(a + 1));
+
+}
+TEST(TestFuncServer, classVoidLeavingL6)
+{
+ a = 76;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeave6L, a, b, c, d, e, f, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == -(a + 1));
+
+}
+TEST(TestFuncServer, classVoidLeavingL7)
+{
+ a = 77;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeave7L, a, b, c, d, e, f, g, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == -(a + 1));
+
+}
+
+// Testing non-const value returning leaving methods from a class. Leave is not happening.
+
+TEST(TestFuncServer, classReturnL0)
+{
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodRL, fserver ));
+ CHECK(sIvokedMethod == 81);
+ CHECK(res == 81);
+ CHECK(leaveRes == 0);
+}
+TEST(TestFuncServer, classReturnL1)
+{
+ a = 81;
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodR1L, a, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+ CHECK(leaveRes == 0);
+}
+TEST(TestFuncServer, classReturnL2)
+{
+ a = 82;
+ b = a + 1;
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodR2L, a, b, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+ CHECK(leaveRes == 0);
+}
+TEST(TestFuncServer, classReturnL3)
+{
+ a = 83;
+ b = a + 1;
+ c = b + 1;
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodR3L, a, b, c, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+ CHECK(leaveRes == 0);
+}
+TEST(TestFuncServer, classReturnL4)
+{
+ a = 84;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodR4L, a, b, c, d, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+ CHECK(leaveRes == 0);
+}
+TEST(TestFuncServer, classReturnL5)
+{
+ a = 85;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodR5L, a, b, c, d, e, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+ CHECK(leaveRes == 0);
+}
+TEST(TestFuncServer, classReturnL6)
+{
+ a = 86;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodR6L, a, b, c, d, e, f, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+ CHECK(leaveRes == 0);
+}
+TEST(TestFuncServer, classReturnL7)
+{
+ a = 87;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodR7L, a, b, c, d, e, f, g, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+ CHECK(leaveRes == 0);
+}
+
+// Testing non-const value returning leaving methods from a class. Leave is happening.
+
+
+TEST(TestFuncServer, classReturnLeaveL0)
+{
+ int res=123;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveRL, fserver ));
+ CHECK(sIvokedMethod == 91);
+ CHECK(leaveRes == -91);
+ CHECK(res == 123);
+}
+TEST(TestFuncServer, classReturnLeaveL1)
+{
+ a = 91;
+ int res=123;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveR1L, a, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(leaveRes == -(a + 1));
+ CHECK(res == 123);
+}
+TEST(TestFuncServer, classReturnLeaveL2)
+{
+ a = 92;
+ b = a + 1;
+ int res=123;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveR2L, a, b, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(leaveRes == -(a + 1));
+ CHECK(res == 123);
+}
+TEST(TestFuncServer, classReturnLeaveL3)
+{
+ a = 93;
+ b = a + 1;
+ c = b + 1;
+ int res=123;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveR3L, a, b, c, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(leaveRes == -(a + 1));
+ CHECK(res == 123);
+}
+TEST(TestFuncServer, classReturnLeaveL4)
+{
+ a = 94;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ int res=123;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveR4L, a, b, c, d, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(leaveRes == -(a + 1));
+ CHECK(res == 123);
+}
+TEST(TestFuncServer, classReturnLeaveL5)
+{
+ a = 95;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ int res=123;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveR5L, a, b, c, d, e, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(leaveRes == -(a + 1));
+ CHECK(res == 123);
+}
+TEST(TestFuncServer, classReturnLeaveL6)
+{
+ a = 96;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ int res=123;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveR6L, a, b, c, d, e, f, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(leaveRes == -(a + 1));
+ CHECK(res == 123);
+}
+TEST(TestFuncServer, classReturnLeaveL7)
+{
+ a = 97;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ int res=123;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveR7L, a, b, c, d, e, f, g, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(leaveRes == -(a + 1));
+ CHECK(res == 123);
+}
+
+// Testing const void methods from a class.
+
+TEST(TestFuncServer, classVoidC0)
+{
+ CallMethod( clazz, TestClass::classMethodC, fserver );
+ CHECK(sIvokedMethod == 101);
+
+}
+TEST(TestFuncServer, classVoidC1)
+{
+ a = 101;
+ CallMethod( clazz, TestClass::classMethodC1, a, fserver );
+ CHECK(sIvokedMethod == a + 1);
+
+}
+TEST(TestFuncServer, classVoidC2)
+{
+ a = 102;
+ b = a + 1;
+ CallMethod( clazz, TestClass::classMethodC2, a, b, fserver );
+ CHECK(sIvokedMethod == a + 1);
+
+}
+TEST(TestFuncServer, classVoidC3)
+{
+ a = 103;
+ b = a + 1;
+ c = b + 1;
+ CallMethod( clazz, TestClass::classMethodC3, a, b, c, fserver );
+ CHECK(sIvokedMethod == a + 1);
+
+}
+TEST(TestFuncServer, classVoidC4)
+{
+ a = 104;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ CallMethod( clazz, TestClass::classMethodC4, a, b, c, d, fserver );
+ CHECK(sIvokedMethod == a + 1);
+
+}
+TEST(TestFuncServer, classVoidC5)
+{
+ a = 105;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ CallMethod( clazz, TestClass::classMethodC5, a, b, c, d, e, fserver );
+ CHECK(sIvokedMethod == a + 1);
+
+}
+TEST(TestFuncServer, classVoidC6)
+{
+ a = 106;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ CallMethod( clazz, TestClass::classMethodC6, a, b, c, d, e, f, fserver );
+ CHECK(sIvokedMethod == a + 1);
+
+}
+TEST(TestFuncServer, classVoidC7)
+{
+ a = 107;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ CallMethod( clazz, TestClass::classMethodC7, a, b, c, d, e, f, g, fserver );
+ CHECK(sIvokedMethod == a + 1);
+
+}
+
+// Testing const methods from a class retruning a value.
+
+TEST(TestFuncServer, classReturnC0)
+{
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodRC, fserver );
+ CHECK(sIvokedMethod == 111);
+ CHECK(res == 111);
+
+}
+TEST(TestFuncServer, classReturnC1)
+{
+ a = 111;
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodRC1, a, fserver );
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+
+}
+TEST(TestFuncServer, classReturnC2)
+{
+ a = 112;
+ b = a + 1;
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodRC2, a, b, fserver );
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+
+}
+TEST(TestFuncServer, classReturnC3)
+{
+ a = 113;
+ b = a + 1;
+ c = b + 1;
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodRC3, a, b, c, fserver );
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+
+}
+TEST(TestFuncServer, classReturnC4)
+{
+ a = 114;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodRC4, a, b, c, d, fserver );
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+
+}
+TEST(TestFuncServer, classReturnC5)
+{
+ a = 115;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodRC5, a, b, c, d, e, fserver );
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+
+}
+TEST(TestFuncServer, classReturnC6)
+{
+ a = 116;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodRC6, a, b, c, d, e, f, fserver );
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+
+}
+TEST(TestFuncServer, classReturnC7)
+{
+ a = 117;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ int res;
+ CallMethod(res, clazz, TestClass::classMethodRC7, a, b, c, d, e, f, g, fserver );
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+
+}
+
+// Testing const leaving void methods from a class. No leave.
+
+
+TEST(TestFuncServer, classVoidCL0)
+{
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodCL, fserver ));
+ CHECK(sIvokedMethod == 121);
+ CHECK(res == 0);
+
+}
+TEST(TestFuncServer, classVoidCL1)
+{
+ a = 121;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodC1L, a, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == 0);
+
+}
+TEST(TestFuncServer, classVoidCL2)
+{
+ a = 122;
+ b = a + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodC2L, a, b, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == 0);
+
+}
+TEST(TestFuncServer, classVoidCL3)
+{
+ a = 123;
+ b = a + 1;
+ c = b + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodC3L, a, b, c, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == 0);
+
+}
+TEST(TestFuncServer, classVoidCL4)
+{
+ a = 124;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodC4L, a, b, c, d, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == 0);
+
+}
+TEST(TestFuncServer, classVoidCL5)
+{
+ a = 125;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodC5L, a, b, c, d, e, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == 0);
+
+}
+TEST(TestFuncServer, classVoidCL6)
+{
+ a = 126;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodC6L, a, b, c, d, e, f, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == 0);
+
+}
+TEST(TestFuncServer, classVoidCL7)
+{
+ a = 127;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodC7L, a, b, c, d, e, f, g, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == 0);
+
+}
+
+
+
+// Testing const leaving void methods from a class. Leaving.
+
+
+TEST(TestFuncServer, classVoidLeavingCL0)
+{
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeaveCL, fserver ));
+ CHECK(sIvokedMethod == 131);
+ CHECK(res == -131);
+
+}
+TEST(TestFuncServer, classVoidLeavingCL1)
+{
+ a = 131;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeaveC1L, a, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == -(a + 1));
+
+}
+TEST(TestFuncServer, classVoidLeavingCL2)
+{
+ a = 132;
+ b = a + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeaveC2L, a, b, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == -(a + 1));
+
+}
+TEST(TestFuncServer, classVoidLeavingCL3)
+{
+ a = 133;
+ b = a + 1;
+ c = b + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeaveC3L, a, b, c, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == -(a + 1));
+
+}
+TEST(TestFuncServer, classVoidLeavingCL4)
+{
+ a = 134;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeaveC4L, a, b, c, d, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == -(a + 1));
+
+}
+TEST(TestFuncServer, classVoidLeavingCL5)
+{
+ a = 135;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeaveC5L, a, b, c, d, e, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == -(a + 1));
+
+}
+TEST(TestFuncServer, classVoidLeavingCL6)
+{
+ a = 136;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeaveC6L, a, b, c, d, e, f, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == -(a + 1));
+
+}
+TEST(TestFuncServer, classVoidLeavingCL7)
+{
+ a = 137;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ TRAPD(res, CallMethodL(clazz, TestClass::classMethodWithLeaveC7L, a, b, c, d, e, f, g, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == -(a + 1));
+
+}
+
+
+
+// Testing const leaving value returning methods from a class. Not leaving.
+TEST(TestFuncServer, classReturnLC0)
+{
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodRCL, fserver ));
+ CHECK(sIvokedMethod == 141);
+ CHECK(res == 141);
+ CHECK(leaveRes == 0);
+}
+TEST(TestFuncServer, classReturnLC1)
+{
+ a = 141;
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodRC1L, a, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+ CHECK(leaveRes == 0);
+}
+TEST(TestFuncServer, classReturnLC2)
+{
+ a = 142;
+ b = a + 1;
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodRC2L, a, b, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+ CHECK(leaveRes == 0);
+}
+TEST(TestFuncServer, classReturnLC3)
+{
+ a = 143;
+ b = a + 1;
+ c = b + 1;
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodRC3L, a, b, c, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+ CHECK(leaveRes == 0);
+}
+TEST(TestFuncServer, classReturnLC4)
+{
+ a = 144;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodRC4L, a, b, c, d, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+ CHECK(leaveRes == 0);
+}
+TEST(TestFuncServer, classReturnLC5)
+{
+ a = 145;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodRC5L, a, b, c, d, e, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+ CHECK(leaveRes == 0);
+}
+TEST(TestFuncServer, classReturnLC6)
+{
+ a = 146;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodRC6L, a, b, c, d, e, f, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+ CHECK(leaveRes == 0);
+}
+TEST(TestFuncServer, classReturnLC7)
+{
+ a = 147;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ int res;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodRC7L, a, b, c, d, e, f, g, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(res == a + 1);
+ CHECK(leaveRes == 0);
+}
+
+// Testing const leaving value returning methods from a class. Leaving.
+
+TEST(TestFuncServer, classReturnLeaveCL0)
+{
+ int res=456;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveRCL, fserver ));
+ CHECK(sIvokedMethod == 151);
+ CHECK(leaveRes == -151);
+ CHECK(res == 456);
+}
+TEST(TestFuncServer, classReturnLeaveCL1)
+{
+ a = 151;
+ int res=456;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveRC1L, a, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(leaveRes == -(a + 1));
+ CHECK(res == 456);
+}
+TEST(TestFuncServer, classReturnLeaveCL2)
+{
+ a = 152;
+ b = a + 1;
+ int res=456;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveRC2L, a, b, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(leaveRes == -(a + 1));
+ CHECK(res == 456);
+}
+TEST(TestFuncServer, classReturnLeaveCL3)
+{
+ a = 153;
+ b = a + 1;
+ c = b + 1;
+ int res=456;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveRC3L, a, b, c, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(leaveRes == -(a + 1));
+ CHECK(res == 456);
+}
+TEST(TestFuncServer, classReturnLeaveCL4)
+{
+ a = 154;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ int res=456;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveRC4L, a, b, c, d, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(leaveRes == -(a + 1));
+ CHECK(res == 456);
+}
+TEST(TestFuncServer, classReturnLeaveCL5)
+{
+ a = 155;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ int res=456;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveRC5L, a, b, c, d, e, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(leaveRes == -(a + 1));
+ CHECK(res == 456);
+}
+TEST(TestFuncServer, classReturnLeaveCL6)
+{
+ a = 156;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ int res=456;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveRC6L, a, b, c, d, e, f, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(leaveRes == -(a + 1));
+ CHECK(res == 456);
+}
+TEST(TestFuncServer, classReturnLeaveCL7)
+{
+ a = 157;
+ b = a + 1;
+ c = b + 1;
+ d = c + 1;
+ e = d + 1;
+ f = e + 1;
+ g = f + 1;
+ int res=456;
+ TRAPD(leaveRes, CallMethodL(res, clazz, TestClass::classMethodWithLeaveRC7L, a, b, c, d, e, f, g, fserver ));
+ CHECK(sIvokedMethod == a + 1);
+ CHECK(leaveRes == -(a + 1));
+ CHECK(res == 456);
+}
+