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