• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 # Copyright Nicolas Lelong,  2010. Distributed under the Boost
2 # Software License, Version 1.0 (See accompanying
3 # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
4 """
5 >>> from calling_conventions_mf_ext import *
6 >>> x = X__cdecl()
7 >>> x.f0()
8 >>> x.g0()
9 >>> x.f1(1)
10 >>> x.g1(1)
11 >>> x.f2(1, 2)
12 >>> x.g2(1, 2)
13 >>> x.f3(1, 2, 3)
14 >>> x.g3(1, 2, 3)
15 >>> x.f4(1, 2, 3, 4)
16 >>> x.g4(1, 2, 3, 4)
17 >>> x.f5(1, 2, 3, 4, 5)
18 >>> x.g5(1, 2, 3, 4, 5)
19 >>> x.f6(1, 2, 3, 4, 5, 6)
20 >>> x.g6(1, 2, 3, 4, 5, 6)
21 >>> x.f7(1, 2, 3, 4, 5, 6, 7)
22 >>> x.g7(1, 2, 3, 4, 5, 6, 7)
23 >>> x.f8(1, 2, 3, 4, 5, 6, 7, 8)
24 >>> x.g8(1, 2, 3, 4, 5, 6, 7, 8)
25 >>> x.hash
26 2155
27 >>> x = X__stdcall()
28 >>> x.f0()
29 >>> x.g0()
30 >>> x.f1(1)
31 >>> x.g1(1)
32 >>> x.f2(1, 2)
33 >>> x.g2(1, 2)
34 >>> x.f3(1, 2, 3)
35 >>> x.g3(1, 2, 3)
36 >>> x.f4(1, 2, 3, 4)
37 >>> x.g4(1, 2, 3, 4)
38 >>> x.f5(1, 2, 3, 4, 5)
39 >>> x.g5(1, 2, 3, 4, 5)
40 >>> x.f6(1, 2, 3, 4, 5, 6)
41 >>> x.g6(1, 2, 3, 4, 5, 6)
42 >>> x.f7(1, 2, 3, 4, 5, 6, 7)
43 >>> x.g7(1, 2, 3, 4, 5, 6, 7)
44 >>> x.f8(1, 2, 3, 4, 5, 6, 7, 8)
45 >>> x.g8(1, 2, 3, 4, 5, 6, 7, 8)
46 >>> x.hash
47 2155
48 >>> x = X__fastcall()
49 >>> x.f0()
50 >>> x.g0()
51 >>> x.f1(1)
52 >>> x.g1(1)
53 >>> x.f2(1, 2)
54 >>> x.g2(1, 2)
55 >>> x.f3(1, 2, 3)
56 >>> x.g3(1, 2, 3)
57 >>> x.f4(1, 2, 3, 4)
58 >>> x.g4(1, 2, 3, 4)
59 >>> x.f5(1, 2, 3, 4, 5)
60 >>> x.g5(1, 2, 3, 4, 5)
61 >>> x.f6(1, 2, 3, 4, 5, 6)
62 >>> x.g6(1, 2, 3, 4, 5, 6)
63 >>> x.f7(1, 2, 3, 4, 5, 6, 7)
64 >>> x.g7(1, 2, 3, 4, 5, 6, 7)
65 >>> x.f8(1, 2, 3, 4, 5, 6, 7, 8)
66 >>> x.g8(1, 2, 3, 4, 5, 6, 7, 8)
67 >>> x.hash
68 2155
69 """
70 
71 def run(args = None):
72     import sys
73     import doctest
74 
75     if args is not None:
76         sys.argv = args
77     return doctest.testmod(sys.modules.get(__name__))
78 
79 if __name__ == '__main__':
80     print("running...")
81     import sys
82     status = run()[0]
83     if (status == 0): print("Done.")
84     sys.exit(status)
85