The unified diff between revisions [e852dd74..] and [1239b292..] is displayed below. It can also be downloaded as a raw diff.
#
#
# delete "COPYING"
#
# delete "Makefile.common"
#
# delete "compilers/Makefile.am"
#
# delete "compilers/Makefile.common"
#
# delete "compilers/ciao/Makefile.am"
#
# delete "compilers/gnatprfh/Makefile.am"
#
# delete "compilers/iac/Makefile.am"
#
# delete "compilers/idlac/Makefile.am"
#
# delete "compilers/idlac/testsuite/Makefile.am"
#
# delete "cos/Makefile.am"
#
# delete "cos/Makefile.common"
#
# delete "cos/event/Makefile.am"
#
# delete "cos/ir/Makefile.am"
#
# delete "cos/naming/Makefile.am"
#
# delete "cos/notification/Makefile.am"
#
# delete "cos/time/Makefile.am"
#
# delete "examples/Makefile.am"
#
# delete "examples/Makefile.common"
#
# delete "examples/aws/Makefile.am"
#
# delete "examples/bbs/Makefile.am"
#
# delete "examples/corba/Makefile.am"
#
# delete "examples/corba/all_functions/Makefile.am"
#
# delete "examples/corba/all_types/Makefile.am"
#
# delete "examples/corba/echo/Makefile.am"
#
# delete "examples/corba/random/Makefile.am"
#
# delete "examples/corba/rtcorba/Makefile.am"
#
# delete "examples/corba/rtcorba/client_propagated/Makefile.am"
#
# delete "examples/corba/rtcorba/dhb/Makefile.am"
#
# delete "examples/corba/rtcorba/rtcosscheduling/Makefile.am"
#
# delete "examples/corba/rtcorba/server_declared/Makefile.am"
#
# delete "examples/corba/secure_echo/Makefile.am"
#
# delete "examples/corba/send/Makefile.am"
#
# delete "examples/dsa/Makefile.am"
#
# delete "examples/moma/Makefile.am"
#
# delete "examples/polyorb/Makefile.am"
#
# delete "idls/CORBA_IDL/Makefile.am"
#
# delete "idls/CORBA_PIDL/Makefile.am"
#
# delete "idls/Interop/Makefile.am"
#
# delete "idls/Makefile.am"
#
# delete "idls/Makefile.common"
#
# delete "idls/Misc/Makefile.am"
#
# delete "idls/RTCORBA/Makefile.am"
#
# delete "idls/cos/Makefile.am"
#
# delete "idls/cos/event/Makefile.am"
#
# delete "idls/cos/naming/Makefile.am"
#
# delete "idls/cos/notification/Makefile.am"
#
# delete "idls/cos/time/Makefile.am"
#
# delete "src/Makefile.am"
#
# delete "src/Makefile.common"
#
# delete "src/aws/Makefile.am"
#
# delete "src/corba/Makefile.am"
#
# delete "src/corba/Makefile.genfiles"
#
# delete "src/corba/dynamicany/Makefile.am"
#
# delete "src/corba/iop/Makefile.am"
#
# delete "src/corba/messaging"
#
# delete "src/corba/messaging/Makefile.am"
#
# delete "src/corba/portableinterceptor/Makefile.am"
#
# delete "src/corba/rtcorba/Makefile.am"
#
# delete "src/corba/security/Makefile.am"
#
# delete "src/corba/security/gssup"
#
# delete "src/corba/security/gssup/Makefile.am"
#
# delete "src/dsa/Makefile.am"
#
# delete "src/giop/Makefile.am"
#
# delete "src/giop/diop/Makefile.am"
#
# delete "src/giop/iiop/Makefile.am"
#
# delete "src/giop/iiop/security/Makefile.am"
#
# delete "src/giop/iiop/security/tls/Makefile.am"
#
# delete "src/giop/iiop/ssliop/Makefile.am"
#
# delete "src/giop/miop/Makefile.am"
#
# delete "src/moma/Makefile.am"
#
# delete "src/security/Makefile.am"
#
# delete "src/security/gssup/Makefile.am"
#
# delete "src/security/tls/Makefile.am"
#
# delete "src/security/x509/Makefile.am"
#
# delete "src/setup/Makefile.am"
#
# delete "src/setup/security/Makefile.am"
#
# delete "src/soap/Makefile.am"
#
# delete "src/srp/Makefile.am"
#
# delete "src/ssl/Makefile.am"
#
# delete "src/web_common/Makefile.am"
#
# delete "testsuite/Makefile.am"
#
# delete "testsuite/Makefile.common"
#
# delete "testsuite/acats/CXE1001/Makefile.am"
#
# delete "testsuite/acats/CXE2001/Makefile.am"
#
# delete "testsuite/acats/CXE4001/Makefile.am"
#
# delete "testsuite/acats/CXE4002/Makefile.am"
#
# delete "testsuite/acats/CXE4005/Makefile.am"
#
# delete "testsuite/acats/CXE4006/Makefile.am"
#
# delete "testsuite/acats/Makefile.am"
#
# delete "testsuite/corba/Makefile.am"
#
# delete "testsuite/corba/all_exceptions/Makefile.am"
#
# delete "testsuite/corba/benchs/Makefile.am"
#
# delete "testsuite/corba/benchs/test000/Makefile.am"
#
# delete "testsuite/corba/code_sets/Makefile.am"
#
# delete "testsuite/corba/code_sets/test000/Makefile.am"
#
# delete "testsuite/corba/cos/Makefile.am"
#
# delete "testsuite/corba/cos/event/Makefile.am"
#
# delete "testsuite/corba/cos/ir/Makefile.am"
#
# delete "testsuite/corba/cos/naming/Makefile.am"
#
# delete "testsuite/corba/cos/notification/Makefile.am"
#
# delete "testsuite/corba/cos/time/Makefile.am"
#
# delete "testsuite/corba/domainmanager/Makefile.am"
#
# delete "testsuite/corba/domainmanager/test000/Makefile.am"
#
# delete "testsuite/corba/harness/Makefile.am"
#
# delete "testsuite/corba/local/Makefile.am"
#
# delete "testsuite/corba/location_forwarding/Makefile.am"
#
# delete "testsuite/corba/location_forwarding/test000/Makefile.am"
#
# delete "testsuite/corba/location_forwarding/test001/Makefile.am"
#
# delete "testsuite/corba/object/Makefile.am"
#
# delete "testsuite/corba/object/test000/Makefile.am"
#
# delete "testsuite/corba/orb_init/Makefile.am"
#
# delete "testsuite/corba/portableinterceptor/Makefile.am"
#
# delete "testsuite/corba/portableinterceptor/test000/Makefile.am"
#
# delete "testsuite/corba/portableinterceptor/test001/Makefile.am"
#
# delete "testsuite/corba/portableinterceptor/test002/Makefile.am"
#
# delete "testsuite/corba/portableinterceptor/test003/Makefile.am"
#
# delete "testsuite/corba/portableinterceptor/test004/Makefile.am"
#
# delete "testsuite/corba/portableserver/Makefile.am"
#
# delete "testsuite/corba/rtcorba/Makefile.am"
#
# delete "testsuite/corba/rtcorba/rtcurrent/Makefile.am"
#
# delete "testsuite/corba/rtcorba/rtorb/Makefile.am"
#
# delete "testsuite/corba/rtcorba/rtpoa/Makefile.am"
#
# delete "testsuite/corba/shutdown/Makefile.am"
#
# delete "testsuite/core/Makefile.am"
#
# delete "testsuite/core/any/Makefile.am"
#
# delete "testsuite/core/chained_lists/Makefile.am"
#
# delete "testsuite/core/dynamic_dict/Makefile.am"
#
# delete "testsuite/core/fixed_point/Makefile.am"
#
# delete "testsuite/core/initialization/Makefile.am"
#
# delete "testsuite/core/naming/Makefile.am"
#
# delete "testsuite/core/obj_adapters/Makefile.am"
#
# delete "testsuite/core/poa/Makefile.am"
#
# delete "testsuite/core/random/Makefile.am"
#
# delete "testsuite/core/sync_policies/Makefile.am"
#
# delete "testsuite/core/tasking/Makefile.am"
#
# delete "testsuite/core/uri_encoding/Makefile.am"
#
# delete "testsuite/utils/Makefile.am"
#
# delete "tools/Makefile.am"
#
# delete "tools/Makefile.common"
#
# delete "tools/po_catref/Makefile.am"
#
# delete "tools/po_cos_naming/Makefile.am"
#
# delete "tools/po_createref/Makefile.am"
#
# delete "tools/po_dumpir/Makefile.am"
#
# delete "tools/po_ir/Makefile.am"
#
# delete "tools/po_names/Makefile.am"
#
# add_dir "doc"
#
# add_dir "doc/memoires"
#
# add_dir "doc/memoires/kaddour"
#
# add_dir "testsuite/tests"
#
# add_file "doc/memoires/kaddour/rapport.aux"
# content [2f35b8e320a7644f09af8170ce986707495a68ca]
#
# add_file "examples/corba/all_functions/README"
# content [d0e7942416eba74d2490866987ee01a8e24e0bf4]
#
# add_file "examples/corba/all_functions/run_tests.adb"
# content [fdcee2943f7ac509684bb420ff9add1e2a409865]
#
# add_file "features-26"
# content [5e90266bc20d4c6bcdc0235f37465302fe1b007a]
#
# add_file "projects/src_aws.gpr"
# content [cad81ea1fc4e81c25e2f53627bde013ce2b2ce71]
#
# add_file "testsuite/tests/convert_scenario.py"
# content [6518df378e84c64956b8f1dfe59679254718d1b1]
#
# add_file "testsuite/tests/test_utils.py"
# content [28fe94df0a8b98bf54d9b486f7b33440ede09eae]
#
# add_file "testsuite/tests/testsuite.py"
# content [81e774ffbe91f071668e7e9b881681db892e6d39]
#
# patch "MANIFEST"
# from [a3a377ab5803a22b8c551440fc0099d15e25d400]
# to [beaa6ff2ced91a674fbd62d84038eecee7ce4c8d]
#
# patch "Makefile.common.project.in"
# from [4738780018c95021dad16427b13b8127cebbc70e]
# to [dde27076cdb9901656cd8e30d3e36d235c2d8bef]
#
# patch "Makefile.in"
# from [e1c37fdf3e6f99a38f578f5905494c8ac2d64ee0]
# to [8df666ef7d6d0515da40559d747136ce77d9ff7c]
#
# patch "NEWS"
# from [bd2d299dbfbe05abf3c9a3a3ce6e51f66c637397]
# to [6fc0fceeb50a100852553933104e5652218c6cba]
#
# patch "compilers/gnatdist/xe_back-polyorb.adb"
# from [28ed8faf105a2f76b079afdcb6c760eeeeb179df]
# to [81f191f0ef2a4fbf491be8be55bdd9d2328b36bd]
#
# patch "compilers/gnatdist/xe_back.adb"
# from [54c1aa0e7f14c90365024d0daa2220f59b4b1a57]
# to [a4bff0627c887d0f1a1170a3be80ca49235a375c]
#
# patch "compilers/gnatdist/xe_main.adb"
# from [8649c0dd90b9ba697b6e3304eca4acae51205b56]
# to [98a6d62cc9dc99e21bfad88c15d4112f1ed31d11]
#
# patch "compilers/gnatdist/xe_sem.adb"
# from [578876a4bdbdcfd4efecad688e068f8e64e33279]
# to [d19fd0a8dfd7f5114830f15f8eb4d23e47badfaa]
#
# patch "configure.ac"
# from [3a320ac7fc8235be957a26ed01f31c47c2522d6d]
# to [6b898edb0ce723094ea72b5f5e2027497f2f56d8]
#
# patch "docs/polyorb_ug.texi"
# from [0ff4d19914d1b17d183404a01a1f3bad942bef30]
# to [69d0a7e50d0317cb3493de265250b0ab446e006d]
#
# patch "examples/corba/all_functions/all_functions-impl.adb"
# from [108820c0c8668158652543b58ebbf97aa2dfb599]
# to [c8f989d694c6997a5beeafbaa66aa619a18ab236]
#
# patch "examples/corba/all_functions/all_functions-impl.ads"
# from [4f51d43d02e60648b1661773621961d62759579c]
# to [db771adf800f9c28c5ac4055f231a93bf10e51c6]
#
# patch "examples/corba/all_functions/all_functions.idl"
# from [7ded2c4d1497b78126524606b0dd6d815e83638c]
# to [0561247f9f1bf3300f1dc894dc8a603fdceeea6e]
#
# patch "examples/corba/all_functions/client.adb"
# from [3c78071eaa1d16b97a1a5ff4ad1f5e2637a70680]
# to [5f09eb04003b8a3b3edbf3963956a357cfe67092]
#
# patch "examples/corba/all_functions/server.adb"
# from [9c3a85db40e20a2a182143475ee18aa0331466c5]
# to [c490c096c8b4d66be3b9152f3e34a9b7d5f54e3c]
#
# patch "projects/src_corba_messaging.gpr"
# from [adfca3622791dded2380104447230c3e6c83365a]
# to [74a443a8db0f0c3909c5e3f81ce30e059cbe7cf9]
#
# patch "projects/src_corba_security_gssup.gpr"
# from [3775ef8415c97edf50784471bb4b1c0af807983d]
# to [2fd927e162b78cb374120fc5dcb12f9d63e15142]
#
# patch "src/aws/aws-client.adb"
# from [838f3a067b3875435fb5bb55e524695c8fccfe1b]
# to [150620fed148ad818edecc25df56b2bb50a66236]
#
# patch "src/aws/aws-response.adb"
# from [040d2a77dc3bdd5d6c031b2dc66989afdaf79f24]
# to [6da2fe31047bdd8c53f1f92ddaea0fdce403d7e2]
#
# patch "src/aws/aws-server-get_status.adb"
# from [d8c9d8a329c84be4d6d0573108331028cd6ef639]
# to [91b67eeb8d5a8ae55df18491baa24ea1e6185f4d]
#
# patch "src/aws/aws-server-servants.adb"
# from [72e723e3770c532deacc6225987ed3c43f11db51]
# to [9c05b84d32454f1e40e25a23ac391435d5dcee6d]
#
# patch "src/aws/aws-server-servants.ads"
# from [013f8761fc321fad59453bd10d107dadb536fa6d]
# to [eda501536731939e6e9631d016f30ee07380663d]
#
# patch "src/aws/aws-server.adb"
# from [b609500400a285ff38399d201dc8b8d09bcbbb75]
# to [cf9383f1e6badb5d5ba1cd09de64170208d63da7]
#
# patch "src/aws/soap-client.adb"
# from [d4c6261e2cdb7c2b5ccd976cdcdaa3abe980e321]
# to [579b769eee9acaf5ccdea53a5cdfd2717cd1754b]
#
# patch "src/aws/soap-parameters.adb"
# from [68ce4a373a9936776216cb24b473c92ff1fefc70]
# to [a0f72e54c592de410fe4f645710df9ca7d5db6b5]
#
# patch "src/aws/soap-types.adb"
# from [8fdd08efd85bea80d4cb09102e7fc581c24cfa13]
# to [6357a1fe6db014842e5fb40183540316c27b2a33]
#
# patch "src/corba/portableserver.adb"
# from [9e19d246711ffac86ebc80ba5b20832ffb974956]
# to [d4a8dd7c9278a39b665b62ab5f09c9cd7de4616d]
#
# patch "src/dsa/polyorb-termination_manager-bootstrap.adb"
# from [9db60215236e9cc8a3e9b205fd5bc10f04bfd6d6]
# to [359c9bc7bb5d26415c2e12e9ec422973aaccdcbb]
#
# patch "src/dsa/polyorb-termination_manager.adb"
# from [e6561bc54d9d8be42d767a90fa216405dff7ab00]
# to [3829a151ef4a7e13a919d0979b77865e9ff53389]
#
# patch "src/dsa/s-parint.adb"
# from [f7d9aa230b9d405eabaef038bce2fa5b94f2ed2f]
# to [d513233ce0727c06c687742df487e374fbb16886]
#
# patch "src/dsa/s-parint.ads"
# from [c4537630cb3914fb9c7205d8668cef3eb0da14db]
# to [9890673a72e8d30ca1710f2ec86617802d5d28cb]
#
# patch "src/giop/gen_codeset.adb"
# from [8f9316008a2ce5f81ee1d9855bc67762393aa0c8]
# to [5d2d57b422427a3c8599bfd97f4f2f67ced8cbfa]
#
# patch "src/giop/polyorb-giop_p-code_sets-converters-unicode.adb"
# from [9aa280787f528d8f1c8273b66502b6a571849454]
# to [91a38560818af4822b1a4a6274c59373862c586c]
#
# patch "src/giop/polyorb-giop_p-code_sets-converters-unicode.ads"
# from [dba2ef81faa90d4ddbf9f6448caf21587ad9eac9]
# to [f10a9aff6182d3d3799b6b6771960b74147f5113]
#
# patch "src/giop/polyorb-giop_p-code_sets-converters.adb"
# from [193184b28507d543d14199313f904615a21ac0ce]
# to [f3ed428a929080947334dc346075cd5dd2b183dd]
#
# patch "src/giop/polyorb-giop_p-code_sets-converters.ads"
# from [0c3526dff0da91ce3ed544bbdcd1c546ef62ca8c]
# to [8e2671a6d99fe2a59a3dc016815618a068c918c4]
#
# patch "src/giop/polyorb-giop_p-code_sets.ads"
# from [4c2c2df8ba5e97072fabb30277c28bde89abef1c]
# to [61f63c442ab3b9944f1a6a6c4af8403919f55bc9]
#
# patch "src/polyorb-any.adb"
# from [09c5147667ba43863432c92e9b8302165f6e72f9]
# to [db5acf259c2ec53c0e84942354f5243c94fb0daa]
#
# patch "src/polyorb-binding_data-neighbour.adb"
# from [2ac8637ba1441461c892ea280dad41cd6c48afba]
# to [81d3e49f802c88c567bc0f34e6c5e3c3cb05eee3]
#
# patch "src/polyorb-obj_adapters-group_object_adapter.adb"
# from [9db1d1e5f760004292db0680d58f4eee022bbd00]
# to [d85a08db2b531b4b905c21717a53b1fbc1b9b77e]
#
# patch "src/polyorb-objects.adb"
# from [959c555b6f967f6ba4dd3ab2fa018bbe35075426]
# to [0ed9db0bfad54edbb55611fe9426480cf62488e9]
#
# patch "src/polyorb-orb_controller.adb"
# from [2ef8d027899ad1efc62a72945728cf17cab4bdfe]
# to [4d467d6908387a168e5d70ead74b691ad2b5d134]
#
# patch "src/polyorb-orb_controller.ads"
# from [5a604e35aa437be46a33df7d98f5ea8329ddc542]
# to [4134370f90a9884f5b41f5b1b788baaf1d0436d9]
#
# patch "src/polyorb-requests.adb"
# from [60d26595e6e760c2a9605b8aba9bfd37feff484d]
# to [4cb95ba9c1bbf4af82a2e4382efc0bc10e3c629f]
#
# patch "src/polyorb-smart_pointers.adb"
# from [2b75da4b1dcd5ddc1a5741eb43ac626108ca0078]
# to [3708a49832a6b36abcebe143d72dc127b80bfc15]
#
# patch "src/polyorb-tasking-profiles-full_tasking-threads.adb"
# from [cb1cfa33d9a7abd96b22bd02c6fd7181797e5028]
# to [7af57c9f78c1d1810a290d444f436d7222cd4e8d]
#
# patch "src/polyorb-utils-buffers.adb"
# from [a44b2814f571c3d8fd0f91fa41cd04962f805683]
# to [8e4f6bde700d063df06afa6a6787084cee31e3bc]
#
# patch "src/polyorb-utils-buffers.ads"
# from [635fb1b582ab3c700ce12756e9062cc0f9109d4e]
# to [b6d97a5c47d26f4402779fca18486d336149d8e6]
#
# patch "src/polyorb-utils-random.ads"
# from [18219a4e932a758806daff7a3b51c74f43107162]
# to [fdf971db65f33ce314a93e87dcdc7f70993fa0de]
#
# patch "src/soap/polyorb-soap_p-message-response-error.adb"
# from [fc7111f4db4fea97f3ee9d0ec5424dc86aa444b3]
# to [c327f08291f27a7993dae78a94bc874896450b5a]
#
# patch "src/soap/polyorb-soap_p-types.adb"
# from [bf80357e8d0ec2988adea57f2c5a703afe40de08]
# to [91998a249b91f4e25bad0322350887c0ffa0e519]
#
# patch "src/soap/polyorb-soap_p-types.ads"
# from [d318b243b7b1ddce9d5d0c3fe381ba9c466456bb]
# to [07c22d5430d6af4370caee621991b89352aed779]
#
# patch "support/missing"
# from [3830cf89148a136f4cdb1bc0c32f0a235b1b24bc]
# to [9f7c375af6106a150446e5faf344d62e406b1944]
#
# patch "testsuite/README"
# from [e98167efe6becaf566a3859634c2dc007391e131]
# to [efb2237475fc745194b6089c65e40c771c848570]
#
# patch "testsuite/corba/performance/bench_utils.adb"
# from [2c557f53688c211dfe7bc6dd3444693e6ae7f871]
# to [81aac62163fab7ec3b519ec23db2190171075e4a]
#
# patch "testsuite/scenarios/corba-interop.conf"
# from [3ec2d8a34c96362bfdf78eacc7298977ba5c1d42]
# to [118dcdc564b7b33b68da29ef7d4aec83aada472e]
#
# patch "testsuite/scenarios/corba-performance.conf"
# from [03cdcc26d31c514cb03339f50868eea230b3f743]
# to [497b3d366f9bb662370a77fc8790ae1a31454ade]
#
# patch "testsuite/scenarios/corba-shutdown.conf"
# from [1e0310f2447d1db46a8b97b28a50228d65bf1e68]
# to [ba9df3a7919356f41c4b6522a13ca72871bcf414]
#
# patch "testsuite/scenarios/examples-corba-all_types.conf"
# from [b683b55b306cc905b1a513c9483249c603ec4453]
# to [69863de552f0137e5cbaf5cb299595de8b71892c]
#
# patch "testsuite/scenarios/examples-corba-rtcorba-dhb.conf"
# from [a964946c514e8c0a53bb8090950d6d45d6a0b92a]
# to [2516ebd0e1dc7f2a9306e322d8d63cd155f4299d]
#
# patch "testsuite/scenarios/examples-corba-rtcorba-rtcosscheduling.conf"
# from [32ff9ffd40b9d91791590c89e636f9a6d3daea06]
# to [9e76d7280cc2bc74a8a9ead27af0707de3a5a8fc]
#
# patch "testsuite/scenarios/examples-corba-secure_echo.conf"
# from [d7124b1012b1e09e8d9adb42df4d8ba12588cb67]
# to [1b30925c105f7240d4aafe5b813c9abaa4b0314c]
#
# patch "testsuite/scenarios/examples-moma.conf"
# from [bc940d9175a93a3f19d14ee09c72f3865c075480]
# to [bbb27f6fe37dbd7c7dfb922d58940526013126a9]
#
# patch "testsuite/utils/test_driver.adb"
# from [c7b9cf68c39c8949437468d38ebe7c726a73846d]
# to [f790194f6c3fce028d09d2deb0386a8db7b02605]
#
# patch "testsuite/utils/test_suite-scenarios.adb"
# from [6034dc4ba01f9e8daf65fc2be7a283e68f101f22]
# to [d9d360f014fdd8f0b03202b5d4b30f01703d495d]
#
# patch "testsuite/utils/test_suite-scenarios.ads"
# from [f901d29d36ad8094c70c1947f5c13de9f9eed036]
# to [1e01ddf58df833d83e1b35645fdae83864d8b8cf]
#
# patch "testsuite/utils/test_suite-test_case-parser.adb"
# from [2284894848c94070afd83290fa03c91006d4304c]
# to [8bc82cba9c1f921b3cfe0d3088c4d9a80e05e4c3]
#
# set "testsuite/tests/convert_scenario.py"
# attr "mtn:execute"
# value "true"
#
# set "testsuite/tests/testsuite.py"
# attr "mtn:execute"
# value "true"
#
============================================================
--- doc/memoires/kaddour/rapport.aux 2f35b8e320a7644f09af8170ce986707495a68ca
+++ doc/memoires/kaddour/rapport.aux 2f35b8e320a7644f09af8170ce986707495a68ca
@@ -0,0 +1,148 @@
+\relax
+\@writefile{toc}{\contentsline {chapter}{\numberline {1}Etat de l'art des Middlewares}{7}}
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\newlabel{chap:art}{{1}{7}}
+\@writefile{toc}{\contentsline {section}{\numberline {1.1}Jonathan}{7}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.1}Introduction}{7}}
+\@writefile{lof}{\contentsline {figure}{\numberline {1.1}{\ignorespaces une liaison point \`a point}}{8}}
+\newlabel{fig:Jonathan}{{1.1}{8}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.2}La s\'emantique des liaisons et des objets dans \\ Jonathan}{8}}
+\@writefile{toc}{\contentsline {subsubsection}{Les Objets liaison et les fabriques de liaisons}{8}}
+\@writefile{toc}{\contentsline {subsubsection}{Types et r\'ef\'erences}{8}}
+\@writefile{toc}{\contentsline {paragraph}{Les subrog\'es\nobreakspace {}:}{9}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.3}Construction d'un ORB CORBA au-dessus du \\ noyau de Jonathan}{9}}
+\citation{Spring}
+\@writefile{toc}{\contentsline {subsubsection}{La personnalit\'e CORBA}{10}}
+\@writefile{toc}{\contentsline {subsubsection}{Une fabrique CORBA de liaisons de type flux}{10}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.4}Conclusion}{10}}
+\@writefile{toc}{\contentsline {section}{\numberline {1.2}Quaterware\nobreakspace {}:\nobreakspace {}l'approche composant}{10}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.1}Les composants de Quaterware}{11}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.2}Composition d'un middleware}{11}}
+\@writefile{toc}{\contentsline {subsubsection}{Composition de CORBA}{12}}
+\@writefile{toc}{\contentsline {subsubsection}{Composition de RMI}{12}}
+\@writefile{toc}{\contentsline {subsubsection}{Composition de MPI}{12}}
+\citation{Reflexive}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.3}Conclusion}{13}}
+\@writefile{toc}{\contentsline {section}{\numberline {1.3}Middleware r\'eflexif}{13}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.1}Principes g\'en\'eraux}{13}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.2}L'architecture}{14}}
+\@writefile{lof}{\contentsline {figure}{\numberline {1.2}{\ignorespaces Structure globale du meta espace}}{15}}
+\newlabel{fig:reflexive}{{1.2}{15}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.3}La biblioth\`eque de composants}{15}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.4}Conclusion}{15}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {2}Le protocole GIOP de CORBA}{17}}
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\@writefile{toc}{\contentsline {section}{\numberline {2.1}Introduction}{17}}
+\citation{Norme_Corba}
+\@writefile{toc}{\contentsline {section}{\numberline {2.2}Repr\'esentation commune de donn\'ees CDR}{18}}
+\newlabel{sec:CDR}{{2.2}{18}}
+\@writefile{toc}{\contentsline {section}{\numberline {2.3}Transfert de Messages GIOP}{19}}
+\@writefile{toc}{\contentsline {section}{\numberline {2.4}Formats de messages GIOP}{20}}
+\newlabel{sec:GIOP_messages}{{2.4}{20}}
+\@writefile{toc}{\contentsline {section}{\numberline {2.5}Le protocole IIOP (Internet Inter\discretionary {-}{}{}ORB Protocol)}{22}}
+\newlabel{sec:profil}{{2.5}{22}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {3}Le Protocole SOAP}{25}}
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\@writefile{toc}{\contentsline {section}{\numberline {3.1}Introduction}{25}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.2}Enveloppe de SOAP}{26}}
+\@writefile{toc}{\contentsline {paragraph}{Remarque}{26}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.3}Corps du message SOAP Body}{26}}
+\@writefile{toc}{\contentsline {paragraph}{L'\'el\'ement Fault\nobreakspace {}:}{26}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.4}Exemples de messages SOAP}{27}}
+\@writefile{toc}{\contentsline {paragraph}{Le message SOAP encapsul\'e dans une requ\^ete HTTP}{27}}
+\citation{XML}
+\@writefile{toc}{\contentsline {paragraph}{Le message SOAP encapsul\'e dans une r\'eponse HTTP}{28}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.5}L'encodage}{28}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.1}Types simples}{29}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.2}Types compos\'es}{29}}
+\@writefile{toc}{\contentsline {paragraph}{Exemples\nobreakspace {}:}{29}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.6}Conclusion}{30}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {4}Le Middleware DROOPI}{31}}
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\@writefile{toc}{\contentsline {section}{\numberline {4.1}DROOPI : un middleware de plus?}{31}}
+\citation{TAO}
+\@writefile{toc}{\contentsline {section}{\numberline {4.2}Objectifs de DROOPI}{32}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.3}Architecture g\'en\'erale}{32}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Architecture de DROOPI}}{33}}
+\newlabel{fig:droopi-arch}{{4.1}{33}}
+\citation{POA}
+\@writefile{toc}{\contentsline {paragraph}{L'objet Request\nobreakspace {}:}{34}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.4}Couche applicative}{34}}
+\citation{Design}
+\citation{Design}
+\@writefile{toc}{\contentsline {section}{\numberline {4.5}Quelques principes du Design appliqu\'es \`a DROOPI}{35}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.5.1}Le motif Annotation}{35}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.5.2}Le motif Composant ou chaine de responsabilit\'e}{35}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces Le motif \IeC {<<}Annotation\IeC {>>}}}{36}}
+\newlabel{fig:annotation}{{4.2}{36}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces Le motif \IeC {<<}\nobreakspace {}Component ou cha\IeC {\^\i }ne de responsabilit\'es\nobreakspace {}\IeC {>>}}}{37}}
+\newlabel{fig:components}{{4.3}{37}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {5}Int\'egration de GIOP et SOAP dans DROOPI}{39}}
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\@writefile{toc}{\contentsline {section}{\numberline {5.1}Couche protocolaire g\'en\'erique}{39}}
+\newlabel{sec:couche-protocolaire}{{5.1}{39}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces La fonction transport.}}{40}}
+\newlabel{fig:fct_transport}{{5.1}{40}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces La fonction repr\'esentation.}}{40}}
+\newlabel{fig:fct_representation}{{5.2}{40}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.3}{\ignorespaces Fonction protocole.}}{41}}
+\newlabel{fig:fct_protocole}{{5.3}{41}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.4}{\ignorespaces Fonction Addressage.}}{42}}
+\newlabel{fig:fct_addressing}{{5.4}{42}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.2}Description des classes}{42}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}Asynchronous Evenement Source (AES)}{42}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}Transport Access Point (TAP)}{42}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}Transport Endpoint (TE)}{43}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.5}{\ignorespaces Framework de la couche protocolaire.}}{44}}
+\newlabel{fig:couche_protocolaire}{{5.5}{44}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.4}Filter}{45}}
+\newlabel{sec:filter}{{5.2.4}{45}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.5}Repr\'esentation}{45}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.6}Protocole et Session}{45}}
+\newlabel{sub:protocole}{{5.2.6}{45}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.3}Impl\'ementation de GIOP}{47}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}Sc\'enario d'invocation}{47}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}Les structures de donn\'ees}{48}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}Initialisation de la pile}{48}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.6}{\ignorespaces Instanciation de la pile GIOP.}}{49}}
+\newlabel{fig:Pile_GIOP}{{5.6}{49}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.4}Exemple d'impl\'ementation\nobreakspace {}:\nobreakspace {}le motif annotation}{50}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.5}Conclusion}{50}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.4}Impl\'ementation de SOAP}{51}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}Sc\'enario d'invocation}{51}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}Repr\'esentation des donn\'ees}{52}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}Structures de donn\'ees}{52}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.4}Initialisation de la pile}{53}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.5}Conclusion}{53}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.7}{\ignorespaces Instanciation de la pile SOAP.}}{54}}
+\newlabel{fig:Pile_SOAP}{{5.7}{54}}
+\citation{GIOP}
+\citation{POA}
+\citation{Tasking}
+\@writefile{toc}{\contentsline {chapter}{Bibliographie}{57}}
+\bibcite{Reflexive}{1}
+\bibcite{XML}{2}
+\bibcite{GIOP}{3}
+\bibcite{Jonathan}{4}
+\bibcite{Roadmap}{5}
+\bibcite{HTTP}{6}
+\bibcite{POA}{7}
+\bibcite{Design}{8}
+\bibcite{Tutoriel_Corba}{9}
+\bibcite{Spring}{10}
+\bibcite{x-kernel}{11}
+\bibcite{DC_SOAP}{12}
+\bibcite{Norme_Corba}{13}
+\bibcite{Architecture_Droopi}{14}
+\bibcite{Droopi_Introduction}{15}
+\bibcite{Droopi_Introduction_2}{16}
+\bibcite{TAO}{17}
+\bibcite{Tasking}{18}
+\bibcite{Quaterware}{19}
+\bibcite{SOAP_aaron}{20}
+\bibcite{SOAP_Norme}{21}
============================================================
--- examples/corba/all_functions/README d0e7942416eba74d2490866987ee01a8e24e0bf4
+++ examples/corba/all_functions/README d0e7942416eba74d2490866987ee01a8e24e0bf4
@@ -0,0 +1,33 @@
+README for the PolyORB all_types example
+----------------------------------------
+
+$Id: README 132810 2008-11-27 14:08:19Z quinot $
+
+This demo tests the processing for various argument passing modes, both
+in the case where network communication is involved and in the case of
+local calls.
+
+Three executables are provided
+- server : a CORBA server application, provides various functions that
+ receive and return values.
+
+- client : a CORBA client application, built to interact with 'server',
+ test various combinations of argument modes
+
+- dynclient : same, using the DII
+
+* To run these tests :
+
+1) client/server test :
+
+- launch server
+- launch client using the IOR string output by server as an argument
+
+The client will interact with the server, doing several tests. The different
+results are displayed on the client side.
+
+2) local test :
+
+- launch 'server local'
+- the server runs the tests within the same partition
+
============================================================
--- examples/corba/all_functions/run_tests.adb fdcee2943f7ac509684bb420ff9add1e2a409865
+++ examples/corba/all_functions/run_tests.adb fdcee2943f7ac509684bb420ff9add1e2a409865
@@ -0,0 +1,254 @@
+------------------------------------------------------------------------------
+-- --
+-- POLYORB COMPONENTS --
+-- --
+-- R U N _ T E S T S --
+-- --
+-- B o d y --
+-- --
+-- Copyright (C) 2002-2008, Free Software Foundation, Inc. --
+-- --
+-- PolyORB is free software; you can redistribute it and/or modify it --
+-- under terms of the GNU General Public License as published by the Free --
+-- Software Foundation; either version 2, or (at your option) any later --
+-- version. PolyORB is distributed in the hope that it will be useful, --
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- --
+-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public --
+-- License for more details. You should have received a copy of the GNU --
+-- General Public License distributed with PolyORB; see file COPYING. If --
+-- not, write to the Free Software Foundation, 51 Franklin Street, Fifth --
+-- Floor, Boston, MA 02111-1301, USA. --
+-- --
+-- PolyORB is maintained by AdaCore --
+-- (email: sales@adacore.com) --
+-- --
+------------------------------------------------------------------------------
+
+with CORBA; use CORBA;
+with all_functions; use all_functions;
+with PolyORB.Utils.Report;
+
+procedure Run_Tests (MyObj : all_functions.Ref) is
+ use PolyORB.Utils.Report;
+ I, J, K, L, M : CORBA.Short;
+ Ok : Boolean;
+begin
+ New_Test ("Different invocation modes");
+
+ Output ("test not nil reference", not Is_Nil (MyObj));
+
+-- Set_The_Attribute (MyObj, 24);
+-- Output ("test attribute", Get_The_Attribute (MyObj) = 24);
+
+-- Output ("test readonly attribute",
+-- Get_The_Readonly_Attribute (MyObj) = 18);
+
+ begin
+ Ok := True;
+ void_proc (MyObj);
+ exception when others =>
+ Ok := False;
+ end;
+ Output ("test void procedure", Ok);
+
+ begin
+ in_proc (MyObj, 1, 2, 3);
+ Ok := True;
+ exception when others =>
+ Ok := False;
+ end;
+ Output ("test in param procedure", Ok);
+
+ begin
+ Ok := False;
+ out_proc (MyObj, I, J, K);
+ Ok := (I = 10) and then (J = 11) and then (K = 12);
+ exception when others =>
+ null;
+ end;
+ Output ("test out param procedure", Ok);
+
+ begin
+ Ok := False;
+ out_in_proc (MyObj, I, 41);
+ Ok := I = 42;
+ exception when others =>
+ null;
+ end;
+ Output ("test out in param procedure", Ok);
+
+ begin
+ Ok := False;
+ I := 2;
+ J := 3;
+ inout_proc (MyObj, I, J);
+ Ok := (I = 3 and then J = 4);
+ exception when others =>
+ null;
+ end;
+ Output ("test in out param procedure", Ok);
+
+ begin
+ Ok := False;
+ I := 1;
+ J := 2;
+ in_out_proc (MyObj, 1, 2, I, J);
+ Ok := (I = 3 and then J = 4);
+ exception when others =>
+ null;
+ end;
+ Output ("test in and out param procedure", Ok);
+
+ begin
+ Ok := False;
+ I := -4;
+ J := -5;
+ in_inout_proc (MyObj, 1, I, 3, J);
+ Ok := (I = 36) and then (J = 40);
+ exception when others =>
+ null;
+ end;
+ Output ("test in and inout param procedure", Ok);
+
+ begin
+ I := -11;
+ J := 123;
+ K := 456;
+ L := -41;
+ out_inout_proc (MyObj, I, J, K, L);
+ Ok := (I = 111) and then (J = 457) and then (K = 124) and then (L = 999);
+ exception when others =>
+ null;
+ end;
+ Output ("test inout and out param procedure", Ok);
+
+ begin
+ Ok := False;
+ I := 78;
+ J := 79;
+ in_out_inout_proc (MyObj, 1, I, J);
+ Ok := (I = -54) and then (J = 80);
+ exception when others =>
+ null;
+ end;
+ Output ("test in and out and inout param procedure", Ok);
+
+ Output ("test void function", void_fun (MyObj) = 3);
+ Output ("test in param function", in_fun (MyObj, 1, 2, 3) = 7);
+
+ begin
+ Ok := False;
+ I := 1;
+ J := 2;
+ K := 3;
+ L := 4;
+ out_fun (MyObj, I, J, K, L);
+ Ok := (I = 5) and then (J = 6) and then (K = 7) and then (L = 10);
+ exception when others =>
+ null;
+ end;
+ Output ("test out param function", Ok);
+
+ begin
+ Ok := False;
+ I := 1;
+ J := 2;
+ K := 3;
+ inout_fun (MyObj, I, J, L);
+ Ok := (I = 2) and then (J = 3) and then (L = 5);
+ exception when others =>
+ null;
+ end;
+ Output ("test inout param function", Ok);
+
+ begin
+ Ok := False;
+ I := 10;
+ J := 11;
+ in_out_fun (MyObj, 1, 2, I, J, K);
+ Ok := (I = 2) and then (J = 1) and then (K = 3);
+ exception when others =>
+ null;
+ end;
+ Output ("test in and out param function", Ok);
+
+ begin
+ Ok := False;
+ I := -1;
+ J := -2;
+ K := -3;
+ in_inout_fun (MyObj, -1, I, -2, J, K);
+ Ok := (I = -2) and then (J = -4) and then (K = -6);
+ exception when others =>
+ null;
+ end;
+ Output ("test in and inout param function", Ok);
+
+ begin
+ Ok := False;
+ I := -1;
+ J := -2;
+ K := -3;
+ L := -4;
+ M := -5;
+ out_inout_fun (MyObj, I, J, K, L, M);
+ Ok := (I = -2) and then (J = -1) and then (K = -2)
+ and then (L = -3) and then (M = -7);
+ exception when others =>
+ null;
+ end;
+ Output ("test out and inout param function", Ok);
+
+ begin
+ Ok := False;
+ I := -1;
+ J := -2;
+ K := -3;
+ in_out_inout_fun (MyObj, 85, I, J, K);
+ Ok := (I = 86) and then (J = 83) and then (K = -1);
+ exception when others =>
+ null;
+ end;
+ Output ("test in and out and inout param function", Ok);
+
+ begin
+ oneway_void_proc (MyObj);
+ delay 0.5;
+ Ok := oneway_checker (MyObj) = 1;
+ if Ok then
+ delay 1.0;
+ Ok := oneway_checker (MyObj) = 2;
+ end if;
+ exception when others =>
+ Ok := False;
+ end;
+ Output ("test void one way procedure", Ok);
+
+ declare
+ S : Short;
+ begin
+ oneway_in_proc (MyObj, 10, 20);
+ delay 0.5;
+ S := oneway_checker (MyObj);
+ Ok := S = 10;
+ if Ok then
+ delay 1.0;
+ S := oneway_checker (MyObj);
+ Ok := S = 20;
+ end if;
+ exception when others =>
+ Ok := False;
+ end;
+ Output ("test in param one way procedure", Ok);
+
+ begin
+ StopServer (MyObj);
+ Ok := True;
+ exception when others =>
+ Ok := False;
+ raise;
+ end;
+
+ Output ("shut down server", Ok);
+ End_Report;
+end Run_Tests;
============================================================
--- features-26 5e90266bc20d4c6bcdc0235f37465302fe1b007a
+++ features-26 5e90266bc20d4c6bcdc0235f37465302fe1b007a
@@ -0,0 +1,21 @@
+========================================================
+PolyORB 2.6 NEW FEATURES LIST Current as of Feb 12, 2009
+========================================================
+
+Copyright (c) 2008, AdaCore
+
+This file contains a complete list of new features in version 2.5 of PolyORB.
+See also file NEWS for various information about this release.
+
+An ISO date (YYYY-MM-DD) appears in parentheses after the description line.
+This date shows the implementation date of the feature. Any 2.6w wavefront
+subsequent to this date will contain the indicated feature, as will any
+subsequent releases.
+
+NF-26-H731-006 Improved handling of unbounded string arguments (2009-02-12)
+
+ When using the Ada DSA applicative personality, remote calls involving
+ arguments of type Ada.Strings.Unbounded.Unbounded_String now use the
+ native PolyORB string type, providing better performance. Note that the
+ PCS API has been updated, and this requries a corresponding compiler
+ update.
============================================================
--- projects/src_aws.gpr cad81ea1fc4e81c25e2f53627bde013ce2b2ce71
+++ projects/src_aws.gpr cad81ea1fc4e81c25e2f53627bde013ce2b2ce71
@@ -0,0 +1,50 @@
+------------------------------------------------------------------------------
+-- --
+-- POLYORB COMPONENTS --
+-- --
+-- S R C _ A W S --
+-- --
+-- P r o j --
+-- --
+-- Copyright (C) 2009, Free Software Foundation, Inc. --
+-- --
+-- PolyORB is free software; you can redistribute it and/or modify it --
+-- under terms of the GNU General Public License as published by the Free --
+-- Software Foundation; either version 2, or (at your option) any later --
+-- version. PolyORB is distributed in the hope that it will be useful, --
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- --
+-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public --
+-- License for more details. You should have received a copy of the GNU --
+-- General Public License distributed with PolyORB; see file COPYING. If --
+-- not, write to the Free Software Foundation, 51 Franklin Street, Fifth --
+-- Floor, Boston, MA 02111-1301, USA. --
+-- --
+-- PolyORB is maintained by AdaCore --
+-- (email: sales@adacore.com) --
+-- --
+------------------------------------------------------------------------------
+
+with "common", "src", "src_web_common", "xmlada";
+-- Note that the ADA_PROJECT_PATH environment variable must be set so we can
+-- find xmlada.gpr.
+
+project src_aws is
+
+ Dir := "src/aws";
+ Obj_Dir := Common.Build_Dir & Dir;
+ for Object_Dir use Obj_Dir;
+ for Source_Dirs use (Obj_Dir, Common.Source_Dir & Dir, Common.Source_Dir & "src/aws_orig");
+
+ for Library_Name use "polyorb-aws";
+ for Library_Dir use Common.Build_Dir & "lib";
+ for Library_ALI_Dir use Common.Build_Dir & "ali/src_aws";
+ for Library_Kind use "static";
+
+ package Compiler is
+
+ for Default_Switches ("Ada")
+ use Src.Compiler'Default_Switches ("Ada");
+
+ end Compiler;
+
+end src_aws;
============================================================
--- testsuite/tests/convert_scenario.py 6518df378e84c64956b8f1dfe59679254718d1b1
+++ testsuite/tests/convert_scenario.py 6518df378e84c64956b8f1dfe59679254718d1b1
@@ -0,0 +1,106 @@
+#!/usr/bin/env gnatpython
+
+import os
+import re
+import sys
+
+from gnatpython.fileutils import mkdir, cd
+
+CLIENT_SERVER_TEMPLATE = """
+from test_utils import *
+import sys
+
+if not client_server(r'%(client_cmd)s',
+ r'%(server_cmd)s'):
+ sys.exit(1)
+
+"""
+
+LOCAL_TEMPLATE = """
+from test_utils import *
+import sys
+
+if not local(r'%(command)s'):
+ sys.exit(1)
+
+"""
+
+SCENARIO_SECTION = 'scenario'
+TEST_SECTION = 'test'
+CLIENT_SECTION = 'client'
+SERVER_SECTION = 'server'
+
+def parse_scenario(filename):
+ """Parse a scenario file and create the corresponding test directories"""
+ scenario = open(filename)
+
+ test_dict = {}
+ current_section = SCENARIO_SECTION
+ current_test = ""
+
+ for line in scenario:
+ if line.startswith('['):
+ test_name = re.match(r'\[(.*) (.*)\]', line)
+ if test_name:
+ current_section = test_name.group(1)
+ current_test = test_name.group(2)
+ if current_section == TEST_SECTION:
+ test_dict[current_test] = {}
+
+ elif current_section != SCENARIO_SECTION:
+ # Do not parse scenario section.
+ line_def = re.match(r'(.*)=(.*)', line)
+ if line_def:
+ left = line_def.group(1)
+ right = line_def.group(2)
+ if not current_section in test_dict[current_test]:
+ test_dict[current_test][current_section] = {}
+ test_dict[current_test][current_section][left] = right
+
+ scenario.close()
+ full_name = os.path.basename(filename)
+ sep = full_name.find('-')
+
+ parent_dir = full_name[:sep]
+ mkdir(parent_dir)
+
+ scenario_dir = full_name[sep + 1:-5]
+ mkdir(os.path.join(parent_dir, scenario_dir))
+ cd(os.path.join(parent_dir, scenario_dir))
+
+ for test_name in test_dict:
+ test_type = test_dict[test_name][TEST_SECTION]['type']
+ if test_type == 'client_server':
+ mkdir(test_name)
+ f = open(os.path.join(test_name, 'test.py'), 'w')
+ f.write(CLIENT_SERVER_TEMPLATE %
+ {'client_cmd' :
+ test_dict[test_name][CLIENT_SECTION]['command'],
+ 'server_cmd' :
+ test_dict[test_name][SERVER_SECTION]['command'],
+ })
+ f.close()
+
+ if 'expected_failure' in test_dict[test_name][TEST_SECTION]:
+ f = open(os.path.join(test_name, 'test.opt'), 'w')
+ f.write('ALL XFAIL\n')
+ f.close()
+
+ elif test_type == 'local':
+ mkdir(test_name)
+ f = open(os.path.join(test_name, 'test.py'), 'w')
+ f.write(LOCAL_TEMPLATE %
+ {'command' :
+ test_dict[test_name][TEST_SECTION]['command']
+ })
+ f.close()
+
+ if 'expected_failure' in test_dict[test_name][TEST_SECTION]:
+ f = open(os.path.join(test_name, 'test.opt'), 'w')
+ f.write('ALL XFAIL\n')
+ f.close()
+ else:
+ print 'unknown type for test: ' + test_name
+
+if __name__ == "__main__":
+ parse_scenario(sys.argv[1])
============================================================
--- testsuite/tests/test_utils.py 28fe94df0a8b98bf54d9b486f7b33440ede09eae
+++ testsuite/tests/test_utils.py 28fe94df0a8b98bf54d9b486f7b33440ede09eae
@@ -0,0 +1,92 @@
+#!/usr/bin/env gnatpython
+
+"""test utils
+
+This module is imported by all testcase. It parse the command lines options
+and provide some usefull functions.
+
+You should never call this module directly. To run a single testcase, use
+ ./testsuite.py NAME_OF_TESTCASE
+"""
+
+from gnatpython.ex import Run, PIPE, STDOUT
+from gnatpython.main import Main
+
+import expect # this is in gnatpython only
+import os
+import re
+
+PWD = os.getcwd()
+BASE_DIR = os.path.join(PWD, os.pardir)
+
+def client_server(client_cmd, server_cmd):
+ """Run a client server testcase
+
+ Run server_cmd and extract the IOR string.
+ Run client_cmd with the server IOR string
+ Check for "END TESTS................ PASSED"
+ if found return True
+ """
+ client = os.path.join(BASE_DIR, client_cmd)
+ server = os.path.join(BASE_DIR, server_cmd)
+
+ # Run the server command and retrieve the IOR string
+ server_pid = expect.non_blocking_spawn(server, [])
+ if not server_pid:
+ print "Error when running " + server
+ return False
+
+ result = expect.expect (server_pid, [r"IOR:([a-z0-9]+)['|\n]"], 2.0)
+ if result != 0:
+ print "Expect error"
+ expect.close(server_pid)
+ return False
+
+ IOR_str = expect.expect_out (server_pid, 2)
+
+ # Run the client with the IOR argument
+ p = Run([client, IOR_str], output=PIPE, error=STDOUT,
+ timeout=options.timeout)
+
+ # Kill the server process
+ expect.close(server_pid)
+
+ if re.search(r"END TESTS.*PASSED", p.out):
+ print p.out
+ return True
+ else:
+ print p.out
+ return False
+
+def local(cmd):
+ """Run a local test
+
+ Execute the give command.
+ Check for "END TESTS................ PASSED"
+ if found return True
+ """
+ command = os.path.join(BASE_DIR, cmd)
+ p = Run([command], output=PIPE, error=STDOUT,
+ timeout=options.timeout)
+
+ if re.search(r"END TESTS.*PASSED", p.out):
+ print p.out
+ return True
+ else:
+ print p.out
+ return False
+
+def parse_cmd_line():
+ """Parse command line
+
+ Returns options object
+ """
+ main = Main(require_docstring=False)
+ main.add_option('--timeout', dest='timeout', type=int,
+ default=None)
+ main.parse_args()
+ return main.options
+
+# Parse command lines options
+options = parse_cmd_line()
+
============================================================
--- testsuite/tests/testsuite.py 81e774ffbe91f071668e7e9b881681db892e6d39
+++ testsuite/tests/testsuite.py 81e774ffbe91f071668e7e9b881681db892e6d39
@@ -0,0 +1,203 @@
+#!/usr/bin/env gnatpython
+
+"""./testsuite.py [OPTIONS] [TEST_PATH]
+
+Run the PolyORB testsuite
+
+To run only core tests:
+ ./testsuite.py core/
+To run a single example:
+ ./testsuite.py examples/corba-all_functions/ALL_FUNCTIONS_4/test.py
+
+See ./testsuite.py -h for more help.
+"""
+
+from gnatpython.arch import Arch
+from gnatpython.env import Env
+from gnatpython.ex import Run, PIPE, STDOUT
+from gnatpython.main import Main
+from gnatpython.mainloop import MainLoop
+from gnatpython.optfileparser import OptFileParse
+from gnatpython.report import Report, GenerateRep
+
+from glob import glob
+
+import logging
+import os
+import sys
+
+DEFAULT_TIMEOUT = 60
+
+def main():
+ """Run the testsuite and generate reports"""
+ # Parse the command lines options
+ m, target = __parse_options()
+
+ # Generate the discs list for test.opt parsing
+ # Always add 'ALL'
+ common_discs = ['ALL', target.platform]
+
+ # Compute the test list
+ non_dead_list, dead_list = generate_testcase_list(
+ filter_list('./*/*/*/test.py',
+ m.options.run_test),
+ common_discs)
+
+ # Add current directory in PYTHONPATH (to find test_utils.py)
+ env = Env()
+ env.add_search_path('PYTHONPATH', os.getcwd())
+
+ # Main loop :
+ # - run all the tests
+ # - collect the test results
+ # - generate the res file
+ report = Report('res_polyorb')
+
+ # First report all dead tests
+ for test in dead_list:
+ report.add(test.filename, 'DEAD')
+
+ # Then run all non dead tests
+ MainLoop(non_dead_list, run_testcase,
+ gen_collect_result(report, m.options.diffs),
+ m.options.jobs)
+ report.write()
+
+ # Human readable report (rep file)
+ rep = GenerateRep('res_polyorb')
+ report_file = open('rep_polyorb', 'w')
+ report_file.write(rep.get_subject())
+ report_file.write(rep.get_report())
+ report_file.close()
+
+def filter_list(pattern, run_test=""):
+ """Compute the list of test matching pattern
+
+ If run_test is not null, run only tests containing run_test
+ """
+ test_list = glob(pattern)
+ if not run_test:
+ return test_list
+ else:
+ return [t for t in test_list if run_test in t]
+
+def generate_testcase_list(test_list, discs):
+ """Generate the testcase list
+
+ Returns two sorted list:
+ - the non dead test list (to be run in the mainloop)
+ - the dead test list (not to be run)
+ """
+ dead_list = []
+ non_dead_list = []
+ for test in test_list:
+ tc = TestCase(test)
+ tc.parseopt(discs)
+ if tc.is_dead():
+ dead_list.append(tc)
+ else:
+ non_dead_list.append(tc)
+
+ # Sort lists
+ non_dead_list.sort()
+ dead_list.sort()
+ return (non_dead_list, dead_list)
+
+class TestCase(object):
+ """Creates a TestCase object.
+
+ Contains the result fo the test.opt parsing
+ """
+ def __init__(self, filename):
+ """Create a new TestCase for the given filename"""
+ self.testdir = os.path.dirname(filename)
+ self.filename = filename
+ self.expected_out = None
+ self.opt = None
+
+ def __lt__(self, right):
+ """Use filename alphabetical order"""
+ return self.filename < right.filename
+
+ def parseopt(self, tags):
+ """Parse the test.opt with the given tags"""
+ test_opt = os.path.join(self.testdir, 'test.opt')
+ if os.path.exists(test_opt):
+ self.opt = OptFileParse(tags, test_opt)
+ self.expected_out = self.getopt('out', 'test.out')
+
+ def getopt(self, key, default=None):
+ """Get the value extracted from test.opt that correspond to key
+
+ If key is not found. Returns default.
+ """
+ if self.opt is None:
+ return default
+ else:
+ return self.opt.get_value(key, default_value=default)
+
+ def is_dead(self):
+ """Returns True if the test is DEAD"""
+ if self.opt is None:
+ return False
+ else:
+ return self.opt.is_dead
+
+def run_testcase(test, job_info):
+ """Run a single test
+
+ If limit is not set, run rlimit with DEFAULT_TIMEOUT
+ """
+ logging.debug("Running " + test.testdir)
+ timeout = test.getopt('limit')
+ if timeout is None:
+ timeout = DEFAULT_TIMEOUT
+
+ return Run([sys.executable,
+ os.path.join(test.filename),
+ '--timeout', str(timeout)],
+ bg=True, output=PIPE, error=STDOUT)
+
+def gen_collect_result(report, show_diffs=False):
+ """Returns the collect_result function"""
+ # success - xfail status dict
+ status_dict = {True: {True: 'UOK', False: 'OK'},
+ False: {True: 'XFAIL', False: 'FAILED'}}
+
+ def collect_result(test, process, job_info):
+ """Collect a test result"""
+ xfail = test.getopt('xfail', None) is not None
+ success = process.status == 0
+
+ status = status_dict[success][xfail]
+ logging.info("%-60s %s" % (test.filename, status))
+ if not success:
+ report.add(test.filename, status, diff=process.out)
+ if show_diffs:
+ logging.info(process.out)
+ else:
+ report.add(test.filename, status)
+
+ return collect_result
+
+def __parse_options():
+ """Parse command lines options"""
+ m = Main()
+ m.add_option('--diffs', dest='diffs', action='store_true',
+ default=False, help='show diffs on stdout')
+ m.add_option('-j', '--jobs', dest='jobs', type='int',
+ metavar='N', default=1, help='Allow N jobs at once')
+ m.parse_args()
+
+ if m.args:
+ # Run only one test
+ m.options.run_test = os.path.sep + m.args[0]
+ logging.info("Running only test '%s'" % m.options.run_test)
+ else:
+ m.options.run_test = ""
+
+ target = Arch()
+ return (m, target)
+
+if __name__ == "__main__":
+ main()
============================================================
--- MANIFEST a3a377ab5803a22b8c551440fc0099d15e25d400
+++ MANIFEST beaa6ff2ced91a674fbd62d84038eecee7ce4c8d
@@ -2,7 +2,6 @@ MANIFEST
FEATURES
INSTALL
MANIFEST
-Makefile.common
Makefile.common.project.in
Makefile.in
NEWS
@@ -10,9 +9,6 @@ aclocal.m4
VERSION
acinclude.m4
aclocal.m4
-compilers/Makefile.am
-compilers/Makefile.common
-compilers/Makefile.in
compilers/common_files/ChangeLog
compilers/common_files/charset.adb
compilers/common_files/charset.ads
@@ -72,12 +68,8 @@ compilers/gnatdist/xe_utils.ads
compilers/gnatdist/xe_usage.ads
compilers/gnatdist/xe_utils.adb
compilers/gnatdist/xe_utils.ads
-compilers/gnatprfh/Makefile.am
-compilers/gnatprfh/Makefile.in
compilers/gnatprfh/gnatprfh.adb.in
compilers/iac/ChangeLog
-compilers/iac/Makefile.am
-compilers/iac/Makefile.in
compilers/iac/analyzer.adb
compilers/iac/analyzer.ads
compilers/iac/backend-be_corba_ada-aligned.adb
@@ -144,8 +136,6 @@ compilers/iac/values.ads
compilers/iac/usage.ads
compilers/iac/values.adb
compilers/iac/values.ads
-compilers/idlac/Makefile.am
-compilers/idlac/Makefile.in
compilers/idlac/README.Expansion
compilers/idlac/TODO
compilers/idlac/ada_be-debug.adb
@@ -215,8 +205,6 @@ compilers/idlac/testparser.adb
compilers/idlac/testgen.adb
compilers/idlac/testlexer.adb
compilers/idlac/testparser.adb
-compilers/idlac/testsuite/Makefile.am
-compilers/idlac/testsuite/Makefile.in
compilers/idlac/testsuite/adabroker.parser/testparser.exp
compilers/idlac/testsuite/adabroker.parser/testparser.idl
compilers/idlac/testsuite/adabroker.torture/torture.idl
@@ -250,11 +238,6 @@ contrib/idlac_wrapper/idlac_wrapper.in
contrib/README
contrib/idlac_wrapper/README
contrib/idlac_wrapper/idlac_wrapper.in
-cos/Makefile.am
-cos/Makefile.common
-cos/Makefile.in
-cos/event/Makefile.am
-cos/event/Makefile.in
cos/event/coseventchanneladmin-consumeradmin-impl.adb
cos/event/coseventchanneladmin-consumeradmin-impl.ads
cos/event/coseventchanneladmin-eventchannel-impl.adb
@@ -291,8 +274,6 @@ cos/event/costypedeventcomm-typedpushcon
cos/event/costypedeventcomm-typedpullsupplier-impl.ads
cos/event/costypedeventcomm-typedpushconsumer-impl.adb
cos/event/costypedeventcomm-typedpushconsumer-impl.ads
-cos/ir/Makefile.am
-cos/ir/Makefile.in
cos/ir/corba-orb-typecode.adb
cos/ir/corba-orb-typecode.ads
cos/ir/corba-repository_root-abstractinterfacedef-impl.adb
@@ -366,8 +347,6 @@ cos/naming/File.idl
cos/ir/polyorb-if_descriptors-corba_ir.adb
cos/ir/polyorb-if_descriptors-corba_ir.ads
cos/naming/File.idl
-cos/naming/Makefile.am
-cos/naming/Makefile.in
cos/naming/cosnaming-bindingiterator-impl.adb
cos/naming/cosnaming-bindingiterator-impl.ads
cos/naming/cosnaming-namingcontext-impl.adb
@@ -378,8 +357,6 @@ cos/naming/menu.ads
cos/naming/file-impl.ads
cos/naming/menu.adb
cos/naming/menu.ads
-cos/notification/Makefile.am
-cos/notification/Makefile.in
cos/notification/cosnotification-adminpropertiesadmin-impl.adb
cos/notification/cosnotification-adminpropertiesadmin-impl.ads
cos/notification/cosnotification-qosadmin-impl.adb
@@ -456,8 +433,6 @@ cos/notification/cosnotifyfilter-mapping
cos/notification/cosnotifyfilter-filterfactory-impl.ads
cos/notification/cosnotifyfilter-mappingfilter-impl.adb
cos/notification/cosnotifyfilter-mappingfilter-impl.ads
-cos/time/Makefile.am
-cos/time/Makefile.in
cos/time/costime-timeservice-impl.adb
cos/time/costime-timeservice-impl.ads
cos/time/costime-tio-impl.adb
@@ -488,27 +463,20 @@ docs/svn.texi
docs/polyorb_ug_ref.tex
docs/polyorb_version.texi.in
docs/svn.texi
-examples/Makefile.am
-examples/Makefile.common
-examples/Makefile.in
examples/README
examples/aws/Makefile.local
examples/aws/local.gpr
-examples/corba/Makefile.am
-examples/corba/Makefile.in
examples/corba/README
-examples/corba/all_functions/Makefile.am
-examples/corba/all_functions/Makefile.in
examples/corba/all_functions/Makefile.local
+examples/corba/all_functions/README
examples/corba/all_functions/all_functions-impl.adb
examples/corba/all_functions/all_functions-impl.ads
examples/corba/all_functions/all_functions.idl
examples/corba/all_functions/client.adb
examples/corba/all_functions/dynclient.adb
examples/corba/all_functions/local.gpr
+examples/corba/all_functions/run_tests.adb
examples/corba/all_functions/server.adb
-examples/corba/all_types/Makefile.am
-examples/corba/all_types/Makefile.in
examples/corba/all_types/Makefile.local
examples/corba/all_types/README
examples/corba/all_types/all_types-impl.adb
@@ -520,8 +488,6 @@ examples/corba/all_types/server.adb
examples/corba/all_types/ir_server.adb
examples/corba/all_types/local.gpr
examples/corba/all_types/server.adb
-examples/corba/echo/Makefile.am
-examples/corba/echo/Makefile.in
examples/corba/echo/Makefile.local
examples/corba/echo/client.adb
examples/corba/echo/delegated_server.adb
@@ -535,8 +501,6 @@ examples/corba/echo/server.adb
examples/corba/echo/echo_dynimpl.ads
examples/corba/echo/local.gpr
examples/corba/echo/server.adb
-examples/corba/random/Makefile.am
-examples/corba/random/Makefile.in
examples/corba/random/Makefile.local
examples/corba/random/client.adb
examples/corba/random/local.gpr
@@ -544,10 +508,6 @@ examples/corba/random/server.adb
examples/corba/random/random-impl.ads
examples/corba/random/random.idl
examples/corba/random/server.adb
-examples/corba/rtcorba/Makefile.am
-examples/corba/rtcorba/Makefile.in
-examples/corba/rtcorba/client_propagated/Makefile.am
-examples/corba/rtcorba/client_propagated/Makefile.in
examples/corba/rtcorba/client_propagated/Makefile.local
examples/corba/rtcorba/client_propagated/client.adb
examples/corba/rtcorba/client_propagated/echo-impl.adb
@@ -555,8 +515,6 @@ examples/corba/rtcorba/client_propagated
examples/corba/rtcorba/client_propagated/echo.idl
examples/corba/rtcorba/client_propagated/local.gpr
examples/corba/rtcorba/client_propagated/server.adb
-examples/corba/rtcorba/dhb/Makefile.am
-examples/corba/rtcorba/dhb/Makefile.in
examples/corba/rtcorba/dhb/Makefile.local
examples/corba/rtcorba/dhb/client_common.adb
examples/corba/rtcorba/dhb/client_common.ads
@@ -587,8 +545,6 @@ examples/corba/rtcorba/dhb/whetstone.ads
examples/corba/rtcorba/dhb/utils.ads
examples/corba/rtcorba/dhb/whetstone.adb
examples/corba/rtcorba/dhb/whetstone.ads
-examples/corba/rtcorba/rtcosscheduling/Makefile.am
-examples/corba/rtcorba/rtcosscheduling/Makefile.in
examples/corba/rtcorba/rtcosscheduling/Makefile.local
examples/corba/rtcorba/rtcosscheduling/client.adb
examples/corba/rtcorba/rtcosscheduling/client_scheduling.conf
@@ -598,8 +554,6 @@ examples/corba/rtcorba/rtcosscheduling/s
examples/corba/rtcorba/rtcosscheduling/local.gpr
examples/corba/rtcorba/rtcosscheduling/server.adb
examples/corba/rtcorba/rtcosscheduling/server_scheduling.conf
-examples/corba/rtcorba/server_declared/Makefile.am
-examples/corba/rtcorba/server_declared/Makefile.in
examples/corba/rtcorba/server_declared/Makefile.local
examples/corba/rtcorba/server_declared/client.adb
examples/corba/rtcorba/server_declared/echo-impl.adb
@@ -607,7 +561,6 @@ examples/corba/rtcorba/server_declared/s
examples/corba/rtcorba/server_declared/echo.idl
examples/corba/rtcorba/server_declared/local.gpr
examples/corba/rtcorba/server_declared/server.adb
-examples/corba/secure_echo/Makefile.am
examples/corba/secure_echo/Makefile.local
examples/corba/secure_echo/ca_openssl.conf
examples/corba/secure_echo/client.adb
@@ -626,8 +579,6 @@ examples/corba/secure_echo/tls_gssup_exa
examples/corba/secure_echo/tls_example.in
examples/corba/secure_echo/tls_gssup.conf.in
examples/corba/secure_echo/tls_gssup_example.in
-examples/corba/send/Makefile.am
-examples/corba/send/Makefile.in
examples/corba/send/Makefile.local
examples/corba/send/listener.adb
examples/corba/send/local.gpr
@@ -645,8 +596,6 @@ examples/dsa/local.gpr
examples/dsa/echo/server.adb
examples/dsa/echo/server.ads
examples/dsa/local.gpr
-examples/moma/Makefile.am
-examples/moma/Makefile.in
examples/moma/Makefile.local
examples/moma/README
examples/moma/client.adb
@@ -656,8 +605,6 @@ examples/moma/server.adb
examples/moma/local.gpr
examples/moma/router.adb
examples/moma/server.adb
-examples/polyorb/Makefile.am
-examples/polyorb/Makefile.in
examples/polyorb/Makefile.local
examples/polyorb/README
examples/polyorb/local.gpr
@@ -679,6 +626,7 @@ features-25
features-23
features-24
features-25
+features-26
idls/CORBA_IDL/CORBA_Current.idl
idls/CORBA_IDL/CORBA_CustomMarshal.idl
idls/CORBA_IDL/CORBA_DomainManager.idl
@@ -688,8 +636,6 @@ idls/CORBA_IDL/CORBA_TypeCode.idl
idls/CORBA_IDL/CORBA_StandardExceptions.idl
idls/CORBA_IDL/CORBA_Stream.idl
idls/CORBA_IDL/CORBA_TypeCode.idl
-idls/CORBA_IDL/Makefile.am
-idls/CORBA_IDL/Makefile.in
idls/CORBA_IDL/orb.idl
idls/CORBA_PIDL/CORBA_Context.idl
idls/CORBA_PIDL/CORBA_NVList.idl
@@ -699,8 +645,6 @@ idls/CORBA_PIDL/CORBA_ValueBase.idl
idls/CORBA_PIDL/CORBA_Request.idl
idls/CORBA_PIDL/CORBA_ServerRequest.idl
idls/CORBA_PIDL/CORBA_ValueBase.idl
-idls/CORBA_PIDL/Makefile.am
-idls/CORBA_PIDL/Makefile.in
idls/CORBA_PIDL/pseudo_orb.idl
idls/Interop/BiDirPolicy.idl
idls/Interop/CONV_FRAME.idl
@@ -711,39 +655,26 @@ idls/Interop/IOP_DCE.idl
idls/Interop/IIOP.idl
idls/Interop/IOP.idl
idls/Interop/IOP_DCE.idl
-idls/Interop/Makefile.am
-idls/Interop/Makefile.in
idls/Interop/SendingContext.idl
-idls/Makefile.am
-idls/Makefile.common
-idls/Makefile.in
idls/Misc/Dynamic.idl
idls/Misc/DynamicAny.idl
idls/Misc/FT.idl
idls/Misc/MGM.idl
idls/Misc/MIOP.idl
-idls/Misc/Makefile.am
-idls/Misc/Makefile.in
idls/Misc/MessageRouting.idl
idls/Misc/Messaging.idl
idls/Misc/PortableGroup.idl
idls/Misc/PortableInterceptor.idl
idls/Misc/PortableServer.idl
-idls/RTCORBA/Makefile.am
-idls/RTCORBA/Makefile.in
idls/RTCORBA/RTCORBA.idl
idls/RTCORBA/RTCosScheduling.idl
idls/RTCORBA/RTPortableServer.idl
-idls/cos/Makefile.am
-idls/cos/Makefile.in
idls/cos/collection/CosCollection.idl
idls/cos/concurrency/CosConcurrencyControl.idl
idls/cos/event/CosEventChannelAdmin.idl
idls/cos/event/CosEventComm.idl
idls/cos/event/CosTypedEventChannelAdmin.idl
idls/cos/event/CosTypedEventComm.idl
-idls/cos/event/Makefile.am
-idls/cos/event/Makefile.in
idls/cos/externalization/CosExternalization.idl
idls/cos/externalization/CosExternalizationContainment.idl
idls/cos/externalization/CosExternalizationReference.idl
@@ -756,8 +687,6 @@ idls/cos/naming/Lname-library.idl
idls/cos/lifecycle/LifeCycleService.idl
idls/cos/naming/CosNaming.idl
idls/cos/naming/Lname-library.idl
-idls/cos/naming/Makefile.am
-idls/cos/naming/Makefile.in
idls/cos/naming/polyorb-corba_p-naming_tools.adb
idls/cos/naming/polyorb-corba_p-naming_tools.ads
idls/cos/notification/CosNotification.idl
@@ -766,8 +695,6 @@ idls/cos/notification/CosTypedNotifyComm
idls/cos/notification/CosNotifyFilter.idl
idls/cos/notification/CosTypedNotifyChannelAdmin.idl
idls/cos/notification/CosTypedNotifyComm.idl
-idls/cos/notification/Makefile.am
-idls/cos/notification/Makefile.in
idls/cos/persistent/cospersistenceddo.idl
idls/cos/persistent/cospersistenceds_cli.idl
idls/cos/persistent/cospersistencepds.idl
@@ -794,8 +721,6 @@ idls/cos/time/CosTimerEvent.idl
idls/cos/security/SecurityReplaceable.idl
idls/cos/time/CosTime.idl
idls/cos/time/CosTimerEvent.idl
-idls/cos/time/Makefile.am
-idls/cos/time/Makefile.in
idls/cos/time/TimeBase.idl
idls/cos/trader/CosTrading.idl
idls/cos/trader/CosTradingDynamic.idl
@@ -887,22 +812,17 @@ projects/test_common.gpr
projects/src_ssl.gpr
projects/src_web_common.gpr
projects/test_common.gpr
+projects/testsuite_utils.gpr
projects/tools_po_catref.gpr
projects/tools_po_cos_naming.gpr
projects/tools_po_createref.gpr
projects/tools_po_dumpir.gpr
projects/tools_po_ir.gpr
projects/tools_po_names.gpr
-src/Makefile.am
-src/Makefile.common
-src/Makefile.in
src/ROADMAP
src/TODO
src/config.adc.in
src/config.h.in
-src/corba/Makefile.am
-src/corba/Makefile.genfiles
-src/corba/Makefile.in
src/corba/corba-abstractbase.adb
src/corba/corba-abstractbase.ads
src/corba/corba-bounded_strings.adb
@@ -961,8 +881,6 @@ src/corba/corba.ads
src/corba/corba-serverrequest.ads
src/corba/corba.adb
src/corba/corba.ads
-src/corba/dynamicany/Makefile.am
-src/corba/dynamicany/Makefile.in
src/corba/dynamicany/dynamicany-dynany-impl.adb
src/corba/dynamicany/dynamicany-dynany-impl.ads
src/corba/dynamicany/dynamicany-dynanyfactory-impl.adb
@@ -987,16 +905,12 @@ src/corba/dynamicany/polyorb-corba_p-dyn
src/corba/dynamicany/dynamicany-dynvaluecommon-impl.ads
src/corba/dynamicany/polyorb-corba_p-dynamic_any.adb
src/corba/dynamicany/polyorb-corba_p-dynamic_any.ads
-src/corba/iop/Makefile.am
-src/corba/iop/Makefile.in
src/corba/iop/iop-codec-impl.adb
src/corba/iop/iop-codec-impl.ads
src/corba/iop/iop-codecfactory-impl.adb
src/corba/iop/iop-codecfactory-impl.ads
src/corba/iop/polyorb-corba_p-codec_utils.adb
src/corba/iop/polyorb-corba_p-codec_utils.ads
-src/corba/messaging/Makefile.am
-src/corba/messaging/Makefile.in
src/corba/polyorb-corba_p-adapteractivator.adb
src/corba/polyorb-corba_p-adapteractivator.ads
src/corba/polyorb-corba_p-corbaloc.adb
@@ -1033,8 +947,6 @@ src/corba/polyorb-sequences-unbounded-co
src/corba/polyorb-sequences-bounded-corba_helper.ads
src/corba/polyorb-sequences-unbounded-corba_helper.adb
src/corba/polyorb-sequences-unbounded-corba_helper.ads
-src/corba/portableinterceptor/Makefile.am
-src/corba/portableinterceptor/Makefile.in
src/corba/portableinterceptor/polyorb-corba_p-interceptors.adb
src/corba/portableinterceptor/polyorb-corba_p-interceptors.ads
src/corba/portableinterceptor/polyorb-corba_p-interceptors_policies.adb
@@ -1114,8 +1026,6 @@ src/corba/portableserver.ads
src/corba/portableserver-threadpolicy.ads
src/corba/portableserver.adb
src/corba/portableserver.ads
-src/corba/rtcorba/Makefile.am
-src/corba/rtcorba/Makefile.in
src/corba/rtcorba/polyorb-rtcorba_p-mutex.adb
src/corba/rtcorba/polyorb-rtcorba_p-mutex.ads
src/corba/rtcorba/polyorb-rtcorba_p-prioritymodelpolicy.adb
@@ -1170,10 +1080,6 @@ src/corba/rtcorba/rtportableserver.ads
src/corba/rtcorba/rtportableserver-poa.adb
src/corba/rtcorba/rtportableserver-poa.ads
src/corba/rtcorba/rtportableserver.ads
-src/corba/security/Makefile.am
-src/corba/security/Makefile.in
-src/corba/security/gssup/Makefile.am
-src/corba/security/gssup/Makefile.in
src/corba/security/polyorb-corba_p-css_state_machine.adb
src/corba/security/polyorb-corba_p-css_state_machine.ads
src/corba/security/polyorb-corba_p-css_state_machine_actions.adb
@@ -1187,8 +1093,6 @@ src/csupport.c
src/corba/security/polyorb-corba_p-tss_state_machine_actions.adb
src/corba/security/polyorb-corba_p-tss_state_machine_actions.ads
src/csupport.c
-src/dsa/Makefile.am
-src/dsa/Makefile.in
src/dsa/polyorb-dsa_p-conversions.ads
src/dsa/polyorb-dsa_p-exceptions.adb
src/dsa/polyorb-dsa_p-exceptions.ads
@@ -1227,11 +1131,7 @@ src/dsa/s-shasto.ads
src/dsa/s-parint.ads
src/dsa/s-shasto.adb
src/dsa/s-shasto.ads
-src/giop/Makefile.am
-src/giop/Makefile.in
src/giop/cs_registry1.2h
-src/giop/diop/Makefile.am
-src/giop/diop/Makefile.in
src/giop/diop/polyorb-binding_data-giop-diop.adb
src/giop/diop/polyorb-binding_data-giop-diop.ads
src/giop/diop/polyorb-giop_p-transport_mechanisms-diop.adb
@@ -1243,8 +1143,6 @@ src/giop/gen_codeset.adb
src/giop/diop/polyorb-setup-diop.adb
src/giop/diop/polyorb-setup-diop.ads
src/giop/gen_codeset.adb
-src/giop/iiop/Makefile.am
-src/giop/iiop/Makefile.in
src/giop/iiop/polyorb-binding_data-giop-iiop.adb
src/giop/iiop/polyorb-binding_data-giop-iiop.ads
src/giop/iiop/polyorb-giop_p-tagged_components-alternate_iiop_address.adb
@@ -1259,14 +1157,10 @@ src/giop/iiop/polyorb-setup-iiop.ads
src/giop/iiop/polyorb-setup-access_points-iiop.ads
src/giop/iiop/polyorb-setup-iiop.adb
src/giop/iiop/polyorb-setup-iiop.ads
-src/giop/iiop/security/Makefile.am
-src/giop/iiop/security/Makefile.in
src/giop/iiop/security/polyorb-giop_p-tagged_components-csi_sec_mech_list.adb
src/giop/iiop/security/polyorb-giop_p-tagged_components-csi_sec_mech_list.ads
src/giop/iiop/security/polyorb-giop_p-tagged_components-null_tag.adb
src/giop/iiop/security/polyorb-giop_p-tagged_components-null_tag.ads
-src/giop/iiop/security/tls/Makefile.am
-src/giop/iiop/security/tls/Makefile.in
src/giop/iiop/security/tls/polyorb-giop_p-tagged_components-tls_sec_trans.adb
src/giop/iiop/security/tls/polyorb-giop_p-tagged_components-tls_sec_trans.ads
src/giop/iiop/security/tls/polyorb-giop_p-transport_mechanisms-tls.adb
@@ -1275,16 +1169,12 @@ src/giop/iiop/security/tls/polyorb-setup
src/giop/iiop/security/tls/polyorb-setup-access_points-tlsiop.ads
src/giop/iiop/security/tls/polyorb-setup-tlsiop.adb
src/giop/iiop/security/tls/polyorb-setup-tlsiop.ads
-src/giop/iiop/ssliop/Makefile.am
-src/giop/iiop/ssliop/Makefile.in
src/giop/iiop/ssliop/polyorb-giop_p-transport_mechanisms-ssliop.adb
src/giop/iiop/ssliop/polyorb-giop_p-transport_mechanisms-ssliop.ads
src/giop/iiop/ssliop/polyorb-setup-access_points-ssliop.adb
src/giop/iiop/ssliop/polyorb-setup-access_points-ssliop.ads
src/giop/iiop/ssliop/polyorb-setup-ssliop.adb
src/giop/iiop/ssliop/polyorb-setup-ssliop.ads
-src/giop/miop/Makefile.am
-src/giop/miop/Makefile.in
src/giop/miop/polyorb-binding_data-giop-uipmc.adb
src/giop/miop/polyorb-binding_data-giop-uipmc.ads
src/giop/miop/polyorb-filters-miop-miop_in.adb
@@ -1351,8 +1241,6 @@ src/giop/polyorb-representations-cdr-gio
src/giop/polyorb-representations-cdr-giop_1_2.ads
src/giop/polyorb-representations-cdr-giop_utils.adb
src/giop/polyorb-representations-cdr-giop_utils.ads
-src/moma/Makefile.am
-src/moma/Makefile.in
src/moma/moma-configuration-server.adb
src/moma/moma-configuration-server.ads
src/moma/moma-configuration.adb
@@ -1822,10 +1710,6 @@ src/ravenscar_compatible.adc.in
src/polyorb.conf
src/ravenscar.adc.in
src/ravenscar_compatible.adc.in
-src/security/Makefile.am
-src/security/Makefile.in
-src/security/gssup/Makefile.am
-src/security/gssup/Makefile.in
src/security/gssup/polyorb-security-authentication_mechanisms-gssup_client.adb
src/security/gssup/polyorb-security-authentication_mechanisms-gssup_client.ads
src/security/gssup/polyorb-security-authentication_mechanisms-gssup_target.adb
@@ -1879,8 +1763,6 @@ src/security/polyorb_asn1.c
src/security/polyorb-security-types.ads
src/security/polyorb-security.ads
src/security/polyorb_asn1.c
-src/security/tls/Makefile.am
-src/security/tls/Makefile.in
src/security/tls/polyorb-asynch_ev-sockets-tls.adb
src/security/tls/polyorb-asynch_ev-sockets-tls.ads
src/security/tls/polyorb-security-credentials-tls.adb
@@ -1893,15 +1775,11 @@ src/security/tls/polyorb-utils-tls_acces
src/security/tls/polyorb-transport-connected-sockets-tls.ads
src/security/tls/polyorb-utils-tls_access_points.adb
src/security/tls/polyorb-utils-tls_access_points.ads
-src/security/x509/Makefile.am
-src/security/x509/Makefile.in
src/security/x509/polyorb-security-identities-distinguished_name.adb
src/security/x509/polyorb-security-identities-distinguished_name.ads
src/security/x509/polyorb-x509.adb
src/security/x509/polyorb-x509.ads
src/security/x509/polyorb_x509.c
-src/setup/Makefile.am
-src/setup/Makefile.in
src/setup/polyorb-setup-base.adb.in
src/setup/polyorb-setup-base.ads
src/setup/polyorb-setup-client.adb.in
@@ -1918,16 +1796,12 @@ src/setup/polyorb-setup-thread_pool_serv
src/setup/polyorb-setup-thread_per_session_server.ads
src/setup/polyorb-setup-thread_pool_server.adb
src/setup/polyorb-setup-thread_pool_server.ads
-src/setup/security/Makefile.am
-src/setup/security/Makefile.in
src/setup/security/polyorb-setup-secure_client.adb
src/setup/security/polyorb-setup-secure_client.ads
src/setup/security/polyorb-setup-secure_server.adb
src/setup/security/polyorb-setup-secure_server.ads
src/setup/security/polyorb-setup-security_base.adb
src/setup/security/polyorb-setup-security_base.ads
-src/soap/Makefile.am
-src/soap/Makefile.in
src/soap/gen_http_body
src/soap/polyorb-binding_data-soap.adb
src/soap/polyorb-binding_data-soap.ads
@@ -1963,8 +1837,6 @@ src/soap/polyorb-utils-text_buffers.ads
src/soap/polyorb-soap_p.ads
src/soap/polyorb-utils-text_buffers.adb
src/soap/polyorb-utils-text_buffers.ads
-src/srp/Makefile.am
-src/srp/Makefile.in
src/srp/polyorb-binding_data-srp.adb
src/srp/polyorb-binding_data-srp.ads
src/srp/polyorb-protocols-srp.adb
@@ -1975,8 +1847,6 @@ src/srp/polyorb-utils-srp.ads
src/srp/polyorb-setup-access_points-srp.ads
src/srp/polyorb-utils-srp.adb
src/srp/polyorb-utils-srp.ads
-src/ssl/Makefile.am
-src/ssl/Makefile.in
src/ssl/polyorb-asynch_ev-sockets-ssl.adb
src/ssl/polyorb-asynch_ev-sockets-ssl.ads
src/ssl/polyorb-ssl.adb
@@ -1986,8 +1856,6 @@ src/ssl/polyorb_ssl.c
src/ssl/polyorb-utils-ssl_access_points.adb
src/ssl/polyorb-utils-ssl_access_points.ads
src/ssl/polyorb_ssl.c
-src/web_common/Makefile.am
-src/web_common/Makefile.in
src/web_common/aws-mime.adb
src/web_common/aws-mime.ads
src/web_common/aws-url-raise_url_error.adb
@@ -2027,12 +1895,879 @@ support/utils.m4
support/subversion.m4
support/texinfo.tex
support/utils.m4
-tools/Makefile.am
-tools/Makefile.common
-tools/Makefile.in
+testsuite/README
+testsuite/acats/CXE1001/Makefile.local
+testsuite/acats/CXE1001/cxe1001_a.adb
+testsuite/acats/CXE1001/cxe1001_b.adb
+testsuite/acats/CXE1001/cxe1001_p.adb
+testsuite/acats/CXE1001/cxe1001_q.adb
+testsuite/acats/CXE1001/local.gpr
+testsuite/acats/CXE1001/part1.adb
+testsuite/acats/CXE1001/part2.adb
+testsuite/acats/CXE2001/Makefile.local
+testsuite/acats/CXE2001/cxe2001_a.adb
+testsuite/acats/CXE2001/cxe2001_b.adb
+testsuite/acats/CXE2001/cxe2001_part_b.adb
+testsuite/acats/CXE2001/cxe2001_part_b.ads
+testsuite/acats/CXE2001/cxe2001_shared.adb
+testsuite/acats/CXE2001/cxe2001_shared.ads
+testsuite/acats/CXE2001/local.gpr
+testsuite/acats/CXE2001/part1.adb
+testsuite/acats/CXE2001/part2.adb
+testsuite/acats/CXE4001/Makefile.local
+testsuite/acats/CXE4001/cxe4001_a.adb
+testsuite/acats/CXE4001/cxe4001_b.adb
+testsuite/acats/CXE4001/cxe4001_decl_pure.ads
+testsuite/acats/CXE4001/cxe4001_partition_a.adb
+testsuite/acats/CXE4001/cxe4001_partition_a.ads
+testsuite/acats/CXE4001/cxe4001_partition_b.adb
+testsuite/acats/CXE4001/cxe4001_partition_b.ads
+testsuite/acats/CXE4001/local.gpr
+testsuite/acats/CXE4001/part1.adb
+testsuite/acats/CXE4001/part2.adb
+testsuite/acats/CXE4002/Makefile.local
+testsuite/acats/CXE4002/cxe4002_a.adb
+testsuite/acats/CXE4002/cxe4002_b.adb
+testsuite/acats/CXE4002/cxe4002_common.ads
+testsuite/acats/CXE4002/cxe4002_part_a1.adb
+testsuite/acats/CXE4002/cxe4002_part_a1.ads
+testsuite/acats/CXE4002/cxe4002_part_a2.adb
+testsuite/acats/CXE4002/cxe4002_part_a2.ads
+testsuite/acats/CXE4002/local.gpr
+testsuite/acats/CXE4002/part1.adb
+testsuite/acats/CXE4002/part2.adb
+testsuite/acats/CXE4005/Makefile.local
+testsuite/acats/CXE4005/cxe4005_a.adb
+testsuite/acats/CXE4005/cxe4005_b.adb
+testsuite/acats/CXE4005/cxe4005_common.adb
+testsuite/acats/CXE4005/cxe4005_common.ads
+testsuite/acats/CXE4005/cxe4005_normal.adb
+testsuite/acats/CXE4005/cxe4005_normal.ads
+testsuite/acats/CXE4005/cxe4005_part_a1.adb
+testsuite/acats/CXE4005/cxe4005_part_a1.ads
+testsuite/acats/CXE4005/cxe4005_part_a2.adb
+testsuite/acats/CXE4005/cxe4005_part_a2.ads
+testsuite/acats/CXE4005/cxe4005_part_b.adb
+testsuite/acats/CXE4005/cxe4005_part_b.ads
+testsuite/acats/CXE4005/cxe4005_remote_types.adb
+testsuite/acats/CXE4005/cxe4005_remote_types.ads
+testsuite/acats/CXE4005/local.gpr
+testsuite/acats/CXE4005/part1.adb
+testsuite/acats/CXE4005/part2.adb
+testsuite/acats/CXE4006/Makefile.local
+testsuite/acats/CXE4006/cxe4006_a.adb
+testsuite/acats/CXE4006/cxe4006_b.adb
+testsuite/acats/CXE4006/cxe4006_common.adb
+testsuite/acats/CXE4006/cxe4006_common.ads
+testsuite/acats/CXE4006/cxe4006_normal.adb
+testsuite/acats/CXE4006/cxe4006_normal.ads
+testsuite/acats/CXE4006/cxe4006_part_a1.adb
+testsuite/acats/CXE4006/cxe4006_part_a1.ads
+testsuite/acats/CXE4006/cxe4006_part_a2.adb
+testsuite/acats/CXE4006/cxe4006_part_a2.ads
+testsuite/acats/CXE4006/cxe4006_part_b.adb
+testsuite/acats/CXE4006/cxe4006_part_b.ads
+testsuite/acats/CXE4006/local.gpr
+testsuite/acats/CXE4006/part1.adb
+testsuite/acats/CXE4006/part2.adb
+testsuite/acats/support/impdef-annex_e.ads
+testsuite/acats/support/impdef.adb
+testsuite/acats/support/impdef.ads
+testsuite/acats/support/report.adb
+testsuite/acats/support/report.ads
+testsuite/corba/all_exceptions/Makefile.local
+testsuite/corba/all_exceptions/all_exceptions-impl.adb
+testsuite/corba/all_exceptions/all_exceptions-impl.ads
+testsuite/corba/all_exceptions/all_exceptions.idl
+testsuite/corba/all_exceptions/client.adb
+testsuite/corba/all_exceptions/local.gpr
+testsuite/corba/all_exceptions/server.adb
+testsuite/corba/benchs/test000/Makefile.local
+testsuite/corba/benchs/test000/client.adb
+testsuite/corba/benchs/test000/local.gpr
+testsuite/corba/benchs/test000/server.adb
+testsuite/corba/benchs/test000/test-activator-impl.adb
+testsuite/corba/benchs/test000/test-activator-impl.ads
+testsuite/corba/benchs/test000/test-echo-impl.adb
+testsuite/corba/benchs/test000/test-echo-impl.ads
+testsuite/corba/benchs/test000/test-factory-impl.adb
+testsuite/corba/benchs/test000/test-factory-impl.ads
+testsuite/corba/benchs/test000/test.idl
+testsuite/corba/benchs/test000/test_support.adb
+testsuite/corba/benchs/test000/test_support.ads
+testsuite/corba/code_sets/test000/Makefile.local
+testsuite/corba/code_sets/test000/client.adb
+testsuite/corba/code_sets/test000/local.gpr
+testsuite/corba/code_sets/test000/polyorb-giop_p-code_sets-converters-test.adb
+testsuite/corba/code_sets/test000/polyorb-giop_p-code_sets-converters-test.ads
+testsuite/corba/code_sets/test000/server.adb
+testsuite/corba/code_sets/test000/test_interface-impl.adb
+testsuite/corba/code_sets/test000/test_interface-impl.ads
+testsuite/corba/code_sets/test000/test_interface.idl
+testsuite/corba/cos/event/Makefile.local
+testsuite/corba/cos/event/README
+testsuite/corba/cos/event/auto_print.adb
+testsuite/corba/cos/event/auto_print.ads
+testsuite/corba/cos/event/consumer.cmd
+testsuite/corba/cos/event/local.gpr
+testsuite/corba/cos/event/supplier.cmd
+testsuite/corba/cos/event/test_event.adb
+testsuite/corba/cos/event/typedevent_multipleclient.cmd
+testsuite/corba/cos/event/typedevent_singleclient.cmd
+testsuite/corba/cos/event/typedtest_event.adb
+testsuite/corba/cos/event/typedtest_interface-impl.adb
+testsuite/corba/cos/event/typedtest_interface-impl.ads
+testsuite/corba/cos/event/typedtest_interface.idl
+testsuite/corba/cos/ir/Makefile.local
+testsuite/corba/cos/ir/client.adb
+testsuite/corba/cos/ir/local.gpr
+testsuite/corba/cos/ir/server.adb
+testsuite/corba/cos/naming/Makefile.local
+testsuite/corba/cos/naming/local.gpr
+testsuite/corba/cos/naming/test_naming_corba.adb
+testsuite/corba/cos/notification/Makefile.local
+testsuite/corba/cos/notification/README
+testsuite/corba/cos/notification/auto_print.adb
+testsuite/corba/cos/notification/auto_print.ads
+testsuite/corba/cos/notification/local.gpr
+testsuite/corba/cos/notification/test_notification.adb
+testsuite/corba/cos/notification/testanypull_multiple.cmd
+testsuite/corba/cos/notification/testanypullsupplier_multipleconsumer.cmd
+testsuite/corba/cos/notification/testanypush_multiple.cmd
+testsuite/corba/cos/notification/testanypush_single.cmd
+testsuite/corba/cos/notification/testsequencepull_multiple.cmd
+testsuite/corba/cos/notification/testsequencepull_single.cmd
+testsuite/corba/cos/notification/testsequencepush_multiple.cmd
+testsuite/corba/cos/notification/teststructpushsupplier_multipleconsumer.cmd
+testsuite/corba/cos/notification/teststructuredpull_multiple.cmd
+testsuite/corba/cos/notification/teststructuredpull_single.cmd
+testsuite/corba/cos/notification/teststructuredpush_multiple.cmd
+testsuite/corba/cos/time/Makefile.local
+testsuite/corba/cos/time/local.gpr
+testsuite/corba/cos/time/test_time.adb
+testsuite/corba/domainmanager/test000/Makefile.local
+testsuite/corba/domainmanager/test000/client.adb
+testsuite/corba/domainmanager/test000/corba-domainmanager-impl.adb
+testsuite/corba/domainmanager/test000/corba-domainmanager-impl.ads
+testsuite/corba/domainmanager/test000/corba-domainmanager-skel.adb
+testsuite/corba/domainmanager/test000/corba-domainmanager-skel.ads
+testsuite/corba/domainmanager/test000/local.gpr
+testsuite/corba/domainmanager/test000/server.adb
+testsuite/corba/domainmanager/test000/test-domainmanager-impl.ads
+testsuite/corba/domainmanager/test000/test-echo-impl.ads
+testsuite/corba/domainmanager/test000/test.idl
+testsuite/corba/harness/Makefile.local
+testsuite/corba/harness/client.adb
+testsuite/corba/harness/client_common.adb
+testsuite/corba/harness/client_common.ads
+testsuite/corba/harness/harness-impl.adb
+testsuite/corba/harness/harness-impl.ads
+testsuite/corba/harness/harness.idl
+testsuite/corba/harness/local.adb
+testsuite/corba/harness/local.gpr
+testsuite/corba/harness/server_common.adb
+testsuite/corba/harness/server_common.ads
+testsuite/corba/harness/server_no_tasking.adb
+testsuite/corba/harness/server_no_tasking2.adb
+testsuite/corba/harness/server_thread_per_request.adb
+testsuite/corba/harness/server_thread_per_session.adb
+testsuite/corba/harness/server_thread_pool.adb
+testsuite/corba/harness/server_thread_pool_hahs.adb
+testsuite/corba/harness/server_thread_pool_lf.adb
+testsuite/corba/interop/cpp/MICO/Makefile.MICO
+testsuite/corba/interop/cpp/README
+testsuite/corba/interop/cpp/TAO/Makefile.TAO
+testsuite/corba/interop/cpp/TAO/dynserver_mt_TAO.cc
+testsuite/corba/interop/cpp/common/all_functions_client.cc
+testsuite/corba/interop/cpp/common/all_types_client.cc
+testsuite/corba/interop/cpp/common/all_types_dynclient.cc
+testsuite/corba/interop/cpp/common/all_types_dynserver.cc
+testsuite/corba/interop/cpp/common/all_types_imp.cc
+testsuite/corba/interop/cpp/common/all_types_server.cc
+testsuite/corba/interop/cpp/common/report.cc
+testsuite/corba/interop/cpp/omniORB/Makefile.omniORB
+testsuite/corba/interop/java/Jonathan/Makefile.Jonathan
+testsuite/corba/interop/java/OpenORB/Makefile.OpenORB
+testsuite/corba/interop/java/README
+testsuite/corba/interop/java/common/Alltypes.java
+testsuite/corba/interop/java/common/Client.java
+testsuite/corba/interop/java/common/DynClient.java
+testsuite/corba/interop/java/common/DynServer.java
+testsuite/corba/interop/java/common/DynSkeleton.java
+testsuite/corba/interop/java/common/Server.java
+testsuite/corba/interop/java/common/all_types.idl
+testsuite/corba/local/Makefile.local
+testsuite/corba/local/local.gpr
+testsuite/corba/local/test000.adb
+testsuite/corba/location_forwarding/test000/Makefile.local
+testsuite/corba/location_forwarding/test000/local.gpr
+testsuite/corba/location_forwarding/test000/test000.adb
+testsuite/corba/location_forwarding/test000/test_globals.ads
+testsuite/corba/location_forwarding/test000/test_interface-impl.adb
+testsuite/corba/location_forwarding/test000/test_interface-impl.ads
+testsuite/corba/location_forwarding/test000/test_interface.idl
+testsuite/corba/location_forwarding/test000/test_servantactivator-impl.adb
+testsuite/corba/location_forwarding/test000/test_servantactivator-impl.ads
+testsuite/corba/location_forwarding/test001/Makefile.local
+testsuite/corba/location_forwarding/test001/local.gpr
+testsuite/corba/location_forwarding/test001/test001_client.adb
+testsuite/corba/location_forwarding/test001/test001_server.adb
+testsuite/corba/location_forwarding/test001/test_globals.ads
+testsuite/corba/location_forwarding/test001/test_interface-impl.adb
+testsuite/corba/location_forwarding/test001/test_interface-impl.ads
+testsuite/corba/location_forwarding/test001/test_interface.idl
+testsuite/corba/location_forwarding/test001/test_servantactivator-impl.adb
+testsuite/corba/location_forwarding/test001/test_servantactivator-impl.ads
+testsuite/corba/object/test000/Makefile.local
+testsuite/corba/object/test000/local.gpr
+testsuite/corba/object/test000/test000_client.adb
+testsuite/corba/object/test000/test000_server.adb
+testsuite/corba/object/test000/test_interface-impl.adb
+testsuite/corba/object/test000/test_interface-impl.ads
+testsuite/corba/object/test000/test_interface.idl
+testsuite/corba/orb_init/Makefile.local
+testsuite/corba/orb_init/local.gpr
+testsuite/corba/orb_init/test000.adb
+testsuite/corba/performance/Makefile.local
+testsuite/corba/performance/README
+testsuite/corba/performance/bench_utils.adb
+testsuite/corba/performance/bench_utils.ads
+testsuite/corba/performance/benchs-impl.adb
+testsuite/corba/performance/benchs-impl.ads
+testsuite/corba/performance/benchs.idl
+testsuite/corba/performance/client.adb
+testsuite/corba/performance/local.gpr
+testsuite/corba/performance/print_data.gnuplot
+testsuite/corba/performance/server_common.adb
+testsuite/corba/performance/server_common.ads
+testsuite/corba/performance/server_no_tasking.adb
+testsuite/corba/performance/server_thread_pool.adb
+testsuite/corba/portableinterceptor/test000/Makefile.local
+testsuite/corba/portableinterceptor/test000/local.gpr
+testsuite/corba/portableinterceptor/test000/test000.adb
+testsuite/corba/portableinterceptor/test000/test000_globals.adb
+testsuite/corba/portableinterceptor/test000/test000_globals.ads
+testsuite/corba/portableinterceptor/test000/test000_idl-clientinterceptor-impl.adb
+testsuite/corba/portableinterceptor/test000/test000_idl-clientinterceptor-impl.ads
+testsuite/corba/portableinterceptor/test000/test000_idl-orbinitializer-impl.adb
+testsuite/corba/portableinterceptor/test000/test000_idl-orbinitializer-impl.ads
+testsuite/corba/portableinterceptor/test000/test000_idl-serverinterceptor-impl.adb
+testsuite/corba/portableinterceptor/test000/test000_idl-serverinterceptor-impl.ads
+testsuite/corba/portableinterceptor/test000/test000_idl-testinterface-impl.adb
+testsuite/corba/portableinterceptor/test000/test000_idl-testinterface-impl.ads
+testsuite/corba/portableinterceptor/test000/test000_idl.idl
+testsuite/corba/portableinterceptor/test001/Makefile.local
+testsuite/corba/portableinterceptor/test001/local.gpr
+testsuite/corba/portableinterceptor/test001/test001.adb
+testsuite/corba/portableinterceptor/test001/test001_client_interceptor-impl.adb
+testsuite/corba/portableinterceptor/test001/test001_client_interceptor-impl.ads
+testsuite/corba/portableinterceptor/test001/test001_client_request_info_tests.adb
+testsuite/corba/portableinterceptor/test001/test001_client_request_info_tests.ads
+testsuite/corba/portableinterceptor/test001/test001_globals.adb
+testsuite/corba/portableinterceptor/test001/test001_globals.ads
+testsuite/corba/portableinterceptor/test001/test001_interface-impl.adb
+testsuite/corba/portableinterceptor/test001/test001_interface-impl.ads
+testsuite/corba/portableinterceptor/test001/test001_interface.idl
+testsuite/corba/portableinterceptor/test001/test001_orb_initializer-impl.adb
+testsuite/corba/portableinterceptor/test001/test001_orb_initializer-impl.ads
+testsuite/corba/portableinterceptor/test001/test001_request_info_tests.adb
+testsuite/corba/portableinterceptor/test001/test001_request_info_tests.ads
+testsuite/corba/portableinterceptor/test001/test001_server_interceptor-impl.adb
+testsuite/corba/portableinterceptor/test001/test001_server_interceptor-impl.ads
+testsuite/corba/portableinterceptor/test001/test001_server_request_info_tests.adb
+testsuite/corba/portableinterceptor/test001/test001_server_request_info_tests.ads
+testsuite/corba/portableinterceptor/test002/Makefile.local
+testsuite/corba/portableinterceptor/test002/local.gpr
+testsuite/corba/portableinterceptor/test002/test002.adb
+testsuite/corba/portableinterceptor/test002/test002_client_interceptor-impl.adb
+testsuite/corba/portableinterceptor/test002/test002_client_interceptor-impl.ads
+testsuite/corba/portableinterceptor/test002/test002_globals.ads
+testsuite/corba/portableinterceptor/test002/test002_interface-impl.adb
+testsuite/corba/portableinterceptor/test002/test002_interface-impl.ads
+testsuite/corba/portableinterceptor/test002/test002_interface.idl
+testsuite/corba/portableinterceptor/test002/test002_orb_initializer-impl.adb
+testsuite/corba/portableinterceptor/test002/test002_orb_initializer-impl.ads
+testsuite/corba/portableinterceptor/test002/test002_server_interceptor-impl.adb
+testsuite/corba/portableinterceptor/test002/test002_server_interceptor-impl.ads
+testsuite/corba/portableinterceptor/test003/Makefile.local
+testsuite/corba/portableinterceptor/test003/local.gpr
+testsuite/corba/portableinterceptor/test003/test003.adb
+testsuite/corba/portableinterceptor/test004/Makefile.local
+testsuite/corba/portableinterceptor/test004/client.adb
+testsuite/corba/portableinterceptor/test004/local.gpr
+testsuite/corba/portableinterceptor/test004/server.adb
+testsuite/corba/portableinterceptor/test004/test-clientinterceptor-impl.adb
+testsuite/corba/portableinterceptor/test004/test-clientinterceptor-impl.ads
+testsuite/corba/portableinterceptor/test004/test-clientorbinitializer-impl.adb
+testsuite/corba/portableinterceptor/test004/test-clientorbinitializer-impl.ads
+testsuite/corba/portableinterceptor/test004/test-demo-impl.adb
+testsuite/corba/portableinterceptor/test004/test-demo-impl.ads
+testsuite/corba/portableinterceptor/test004/test-iorinterceptor-impl.adb
+testsuite/corba/portableinterceptor/test004/test-iorinterceptor-impl.ads
+testsuite/corba/portableinterceptor/test004/test-serverorbinitializer-impl.adb
+testsuite/corba/portableinterceptor/test004/test-serverorbinitializer-impl.ads
+testsuite/corba/portableinterceptor/test004/test.idl
+testsuite/corba/portableserver/Makefile.local
+testsuite/corba/portableserver/echo-impl.adb
+testsuite/corba/portableserver/echo-impl.ads
+testsuite/corba/portableserver/echo.idl
+testsuite/corba/portableserver/local.gpr
+testsuite/corba/portableserver/test-impl.adb
+testsuite/corba/portableserver/test-impl.ads
+testsuite/corba/portableserver/test.idl
+testsuite/corba/portableserver/test000.adb
+testsuite/corba/portableserver/test000_setup.adb
+testsuite/corba/portableserver/test000_setup.ads
+testsuite/corba/portableserver/test001.adb
+testsuite/corba/portableserver/test002.adb
+testsuite/corba/portableserver/test_adapteractivator.adb
+testsuite/corba/portableserver/test_adapteractivator.ads
+testsuite/corba/portableserver/test_globals.ads
+testsuite/corba/portableserver/test_job.adb
+testsuite/corba/portableserver/test_job.ads
+testsuite/corba/portableserver/test_mypoa.adb
+testsuite/corba/portableserver/test_mypoa.ads
+testsuite/corba/portableserver/test_nullactivator-impl.adb
+testsuite/corba/portableserver/test_nullactivator-impl.ads
+testsuite/corba/portableserver/test_servantactivator.adb
+testsuite/corba/portableserver/test_servantactivator.ads
+testsuite/corba/portableserver/test_simpleactivator-impl.adb
+testsuite/corba/portableserver/test_simpleactivator-impl.ads
+testsuite/corba/rtcorba/rtcurrent/Makefile.local
+testsuite/corba/rtcorba/rtcurrent/local.gpr
+testsuite/corba/rtcorba/rtcurrent/rtcurrent.adb
+testsuite/corba/rtcorba/rtorb/Makefile.local
+testsuite/corba/rtcorba/rtorb/echo-impl.adb
+testsuite/corba/rtcorba/rtorb/echo-impl.ads
+testsuite/corba/rtcorba/rtorb/echo.idl
+testsuite/corba/rtcorba/rtorb/local.gpr
+testsuite/corba/rtcorba/rtorb/test000.adb
+testsuite/corba/rtcorba/rtpoa/Makefile.local
+testsuite/corba/rtcorba/rtpoa/echo-impl.adb
+testsuite/corba/rtcorba/rtpoa/echo-impl.ads
+testsuite/corba/rtcorba/rtpoa/echo.idl
+testsuite/corba/rtcorba/rtpoa/local.gpr
+testsuite/corba/rtcorba/rtpoa/test000.adb
+testsuite/corba/shutdown/Makefile.local
+testsuite/corba/shutdown/local.gpr
+testsuite/corba/shutdown/test000_client.adb
+testsuite/corba/shutdown/test001_client.adb
+testsuite/corba/shutdown/test_client.adb
+testsuite/corba/shutdown/test_interface-impl.adb
+testsuite/corba/shutdown/test_interface-impl.ads
+testsuite/corba/shutdown/test_interface.idl
+testsuite/core/any/Makefile.local
+testsuite/core/any/local.gpr
+testsuite/core/any/test000.adb
+testsuite/core/chained_lists/Makefile.local
+testsuite/core/chained_lists/local.gpr
+testsuite/core/chained_lists/test000.adb
+testsuite/core/dynamic_dict/Makefile.local
+testsuite/core/dynamic_dict/local.gpr
+testsuite/core/dynamic_dict/test000.adb
+testsuite/core/fixed_point/Makefile.local
+testsuite/core/fixed_point/local.gpr
+testsuite/core/fixed_point/test000.adb
+testsuite/core/initialization/Makefile.local
+testsuite/core/initialization/local.gpr
+testsuite/core/initialization/test000.adb
+testsuite/core/initialization/test001.adb
+testsuite/core/initialization/test002.adb
+testsuite/core/initialization/test003.adb
+testsuite/core/initialization/test004.adb
+testsuite/core/naming/Makefile.local
+testsuite/core/naming/local.gpr
+testsuite/core/naming/test000.adb
+testsuite/core/obj_adapters/Makefile.local
+testsuite/core/obj_adapters/local.gpr
+testsuite/core/obj_adapters/test000.adb
+testsuite/core/obj_adapters/test001.adb
+testsuite/core/obj_adapters/test_common.adb
+testsuite/core/obj_adapters/test_common.ads
+testsuite/core/obj_adapters/test_servant.adb
+testsuite/core/obj_adapters/test_servant.ads
+testsuite/core/poa/Makefile.local
+testsuite/core/poa/local.gpr
+testsuite/core/poa/test000.adb
+testsuite/core/poa/test_servant.adb
+testsuite/core/poa/test_servant.ads
+testsuite/core/random/Makefile.local
+testsuite/core/random/local.gpr
+testsuite/core/random/test000.adb
+testsuite/core/sync_policies/Makefile.local
+testsuite/core/sync_policies/client.adb
+testsuite/core/sync_policies/local.gpr
+testsuite/core/sync_policies/ping_object.adb
+testsuite/core/sync_policies/ping_object.ads
+testsuite/core/sync_policies/server_common.adb
+testsuite/core/sync_policies/server_common.ads
+testsuite/core/sync_policies/server_no_tasking.adb
+testsuite/core/tasking/Makefile.local
+testsuite/core/tasking/local.gpr
+testsuite/core/tasking/ravenscar_setup.adb
+testsuite/core/tasking/ravenscar_setup.ads
+testsuite/core/tasking/test000.adb
+testsuite/core/tasking/test000_common.adb
+testsuite/core/tasking/test000_common.ads
+testsuite/core/tasking/test000r.adb
+testsuite/core/tasking/test001.adb
+testsuite/core/tasking/test001_common.adb
+testsuite/core/tasking/test001_common.ads
+testsuite/core/tasking/test002.adb
+testsuite/core/tasking/test002_common.adb
+testsuite/core/tasking/test002_common.ads
+testsuite/core/tasking/test003.adb
+testsuite/core/tasking/test003_common.adb
+testsuite/core/tasking/test003_common.ads
+testsuite/core/uri_encoding/Makefile.local
+testsuite/core/uri_encoding/local.gpr
+testsuite/core/uri_encoding/test000.adb
+testsuite/idls/MANIFEST
+testsuite/idls/Makefile.ada
+testsuite/idls/README
+testsuite/idls/abstract001/tin.idl
+testsuite/idls/ada0009/name_clashing.idl
+testsuite/idls/ada0010/tin.idl
+testsuite/idls/ada0011/tin.idl
+testsuite/idls/ada0012/tin.idl
+testsuite/idls/ada0013/tin.idl
+testsuite/idls/ada0014/tin.idl
+testsuite/idls/ada0015/tin.idl
+testsuite/idls/ada0016/tin.idl
+testsuite/idls/ada0017/tin.idl
+testsuite/idls/ada0018/tin.idl
+testsuite/idls/ada0019/tin.idl
+testsuite/idls/ada0020/tin.idl
+testsuite/idls/ada0021/tin.idl
+testsuite/idls/ada0022/tin.idl
+testsuite/idls/aif_b01/test.out
+testsuite/idls/aif_b01/tin.idl
+testsuite/idls/aif_p01/test.out
+testsuite/idls/aif_p01/tin.idl
+testsuite/idls/anon_types001/tin.idl
+testsuite/idls/attr001/tin.idl
+testsuite/idls/autotest.sh
+testsuite/idls/avt_b01/test.out
+testsuite/idls/avt_b01/tin.idl
+testsuite/idls/avt_p01/test.out
+testsuite/idls/avt_p01/tin.idl
+testsuite/idls/chicken-egg/chicken.idl
+testsuite/idls/chicken-egg/egg.idl
+testsuite/idls/circular/test_array_1.idl
+testsuite/idls/circular/test_array_11.idl
+testsuite/idls/circular/test_array_2.idl
+testsuite/idls/circular/test_exception_1.idl
+testsuite/idls/circular/test_exception_2.idl
+testsuite/idls/circular/test_sequence_1.idl
+testsuite/idls/circular/test_sequence_2.idl
+testsuite/idls/circular/test_struct_1.idl
+testsuite/idls/circular/test_struct_2.idl
+testsuite/idls/circular/test_typedef_1.idl
+testsuite/idls/circular/test_typedef_2.idl
+testsuite/idls/cmp-words
+testsuite/idls/compile_files.sh
+testsuite/idls/corba_idl/CORBA_Context.idl
+testsuite/idls/corba_idl/CORBA_Current.idl
+testsuite/idls/corba_idl/CORBA_DomainManager.idl
+testsuite/idls/corba_idl/CORBA_InterfaceRepository.idl
+testsuite/idls/corba_idl/CORBA_NVList.idl
+testsuite/idls/corba_idl/CORBA_ORB.idl
+testsuite/idls/corba_idl/CORBA_ORB_init.idl
+testsuite/idls/corba_idl/CORBA_Object.idl
+testsuite/idls/corba_idl/CORBA_Policy.idl
+testsuite/idls/corba_idl/CORBA_Request.idl
+testsuite/idls/corba_idl/CORBA_ServerRequest.idl
+testsuite/idls/corba_idl/CORBA_StandardExceptions.idl
+testsuite/idls/corba_idl/CORBA_Stream.idl
+testsuite/idls/corba_idl/CORBA_TypeCode.idl
+testsuite/idls/corba_idl/CORBA_ValueBase.idl
+testsuite/idls/corba_idl/orb.idl
+testsuite/idls/echo/Makefile
+testsuite/idls/echo/client.adb
+testsuite/idls/echo/echo-impl.adb
+testsuite/idls/echo/echo-impl.ads
+testsuite/idls/echo/echo.idl
+testsuite/idls/echo/server.adb
+testsuite/idls/expansion01/expansion.idl
+testsuite/idls/expansion02/expansion.idl
+testsuite/idls/expansion03/expansion.idl
+testsuite/idls/forward01/forward.idl
+testsuite/idls/forward02/forward.idl
+testsuite/idls/forward03/forward.idl
+testsuite/idls/harness/Makefile
+testsuite/idls/harness/client.adb
+testsuite/idls/harness/client_common.adb
+testsuite/idls/harness/client_common.ads
+testsuite/idls/harness/harness-impl.adb
+testsuite/idls/harness/harness-impl.ads
+testsuite/idls/harness/harness.idl
+testsuite/idls/harness/server_common.adb
+testsuite/idls/harness/server_common.ads
+testsuite/idls/harness/server_no_tasking.adb
+testsuite/idls/harness/server_no_tasking2.adb
+testsuite/idls/harness/server_thread_per_request.adb
+testsuite/idls/harness/server_thread_per_session.adb
+testsuite/idls/harness/server_thread_pool.adb
+testsuite/idls/harness/server_thread_pool_hahs.adb
+testsuite/idls/harness/server_thread_pool_lf.adb
+testsuite/idls/header-sort
+testsuite/idls/iac-idl
+testsuite/idls/iac-types
+testsuite/idls/iac001/test.out
+testsuite/idls/iac001/tin.idl
+testsuite/idls/iac002/tin.idl
+testsuite/idls/iac003/test.out
+testsuite/idls/iac003/tin.idl
+testsuite/idls/iac004/test.out
+testsuite/idls/iac004/tin.idl
+testsuite/idls/iac005/t.idl
+testsuite/idls/iac005/test.out
+testsuite/idls/iac005/tin.idl
+testsuite/idls/iac006/test.out
+testsuite/idls/iac006/tin.idl
+testsuite/idls/iac007/tin.idl
+testsuite/idls/idl02030/test.out
+testsuite/idls/idl02030/tin.idl
+testsuite/idls/idl02031/test.out
+testsuite/idls/idl02031/tin.idl
+testsuite/idls/idl02034/test.out
+testsuite/idls/idl02034/tin.idl
+testsuite/idls/idl07040/test.out
+testsuite/idls/idl07040/tin.idl
+testsuite/idls/idl07051/test.out
+testsuite/idls/idl07051/tin.idl
+testsuite/idls/idl07052/test.out
+testsuite/idls/idl07052/tin.idl
+testsuite/idls/idl07053/test.out
+testsuite/idls/idl07053/tin.idl
+testsuite/idls/idl15001/test.out
+testsuite/idls/idl15001/tin.idl
+testsuite/idls/idl15011/test.out
+testsuite/idls/idl15011/tin.idl
+testsuite/idls/idl15012/test.out
+testsuite/idls/idl15012/tin.idl
+testsuite/idls/idl15021/test.out
+testsuite/idls/idl15021/tin.idl
+testsuite/idls/idl15022/test.out
+testsuite/idls/idl15022/tin.idl
+testsuite/idls/idl15023/test.out
+testsuite/idls/idl15023/tin.idl
+testsuite/idls/idl15024/test.out
+testsuite/idls/idl15024/tin.idl
+testsuite/idls/idl15025/test.out
+testsuite/idls/idl15025/tin.idl
+testsuite/idls/idl15031/test.out
+testsuite/idls/idl15031/tin.idl
+testsuite/idls/idl15032/test.out
+testsuite/idls/idl15032/tin.idl
+testsuite/idls/idl15033/test.out
+testsuite/idls/idl15033/tin.idl
+testsuite/idls/idl15034/test.out
+testsuite/idls/idl15034/tin.idl
+testsuite/idls/idlac000/tin.idl
+testsuite/idls/idlac001/tin.idl
+testsuite/idls/idlac002/tin.idl
+testsuite/idls/idlac003/tin.idl
+testsuite/idls/idlac004/tin.idl
+testsuite/idls/import001/int1.idl
+testsuite/idls/import001/int2.idl
+testsuite/idls/import001/int3.idl
+testsuite/idls/inherit001/tin.idl
+testsuite/idls/inherit002/tin.idl
+testsuite/idls/inherit003/tin.idl
+testsuite/idls/inherit004/tin.idl
+testsuite/idls/inherit005/tin.idl
+testsuite/idls/ir001/tin.idl
+testsuite/idls/list_types.sh
+testsuite/idls/local/local1.idl
+testsuite/idls/local/local2.idl
+testsuite/idls/local/local3.idl
+testsuite/idls/local/local4.idl
+testsuite/idls/local/local5.idl
+testsuite/idls/local001/tin.idl
+testsuite/idls/local002/tin.idl
+testsuite/idls/local003/tin.idl
+testsuite/idls/max_values/tin.idl
+testsuite/idls/parse_file.sh
+testsuite/idls/pp-idl
+testsuite/idls/reserved_words/tin.idl
+testsuite/idls/run-test.sh
+testsuite/idls/sequences01/test15.idl
+testsuite/idls/test001/test.out
+testsuite/idls/test001/tin.idl
+testsuite/idls/test002/test.out
+testsuite/idls/test002/tin.idl
+testsuite/idls/test003/test.out
+testsuite/idls/test003/tin.idl
+testsuite/idls/test004/test.out
+testsuite/idls/test004/tin.idl
+testsuite/idls/test005/test.out
+testsuite/idls/test005/tin.idl
+testsuite/idls/test006/test.out
+testsuite/idls/test006/tin.idl
+testsuite/idls/test007/test.out
+testsuite/idls/test007/tin.idl
+testsuite/idls/test008/test.out
+testsuite/idls/test008/tin.idl
+testsuite/idls/test009/test.out
+testsuite/idls/test009/tin.idl
+testsuite/idls/test010/test.out
+testsuite/idls/test010/tin.idl
+testsuite/idls/test011/test.out
+testsuite/idls/test011/tin.idl
+testsuite/idls/test012/test.out
+testsuite/idls/test012/tin.idl
+testsuite/idls/test013/test.out
+testsuite/idls/test013/tin.idl
+testsuite/idls/test014/test.out
+testsuite/idls/test014/tin.idl
+testsuite/idls/test015/test.out
+testsuite/idls/test015/tin.idl
+testsuite/idls/test016/test.out
+testsuite/idls/test016/tin.idl
+testsuite/idls/test017/test.out
+testsuite/idls/test017/tin.idl
+testsuite/idls/test018/test.out
+testsuite/idls/test018/tin.idl
+testsuite/idls/test019/test.out
+testsuite/idls/test019/tin.idl
+testsuite/idls/test020/test.out
+testsuite/idls/test020/tin.idl
+testsuite/idls/test021/test.out
+testsuite/idls/test021/tin.idl
+testsuite/idls/test022/test.out
+testsuite/idls/test022/tin.idl
+testsuite/idls/test023/test.out
+testsuite/idls/test023/tin.idl
+testsuite/idls/test024/test.out
+testsuite/idls/test024/tin.idl
+testsuite/idls/test025/test.out
+testsuite/idls/test025/tin.idl
+testsuite/idls/test026/test.out
+testsuite/idls/test026/tin.idl
+testsuite/idls/test027/test.out
+testsuite/idls/test027/tin.idl
+testsuite/idls/test028/test.out
+testsuite/idls/test028/tin.idl
+testsuite/idls/test029/test.out
+testsuite/idls/test029/tin.idl
+testsuite/idls/test030/test.out
+testsuite/idls/test030/tin.idl
+testsuite/idls/test031/test.out
+testsuite/idls/test031/tin.idl
+testsuite/idls/test032/test.out
+testsuite/idls/test032/tin.idl
+testsuite/idls/test033/test.out
+testsuite/idls/test033/tin.idl
+testsuite/idls/test034/test.out
+testsuite/idls/test034/tin.idl
+testsuite/idls/test035/test.out
+testsuite/idls/test035/tin.idl
+testsuite/idls/test036/test.out
+testsuite/idls/test036/tin.idl
+testsuite/idls/test037/test.out
+testsuite/idls/test037/tin.idl
+testsuite/idls/test038/test.out
+testsuite/idls/test038/tin.idl
+testsuite/idls/test039/test.out
+testsuite/idls/test039/tin.idl
+testsuite/idls/test040/test.out
+testsuite/idls/test040/tin.idl
+testsuite/idls/test041/test.out
+testsuite/idls/test041/tin.idl
+testsuite/idls/test042/test.out
+testsuite/idls/test042/tin.idl
+testsuite/idls/test043/test.out
+testsuite/idls/test043/tin.idl
+testsuite/idls/test044/test.out
+testsuite/idls/test044/tin.idl
+testsuite/idls/test045/test.out
+testsuite/idls/test045/tin.idl
+testsuite/idls/test046/test.out
+testsuite/idls/test046/tin.idl
+testsuite/idls/test047/test.out
+testsuite/idls/test047/tin.idl
+testsuite/idls/test048/test.out
+testsuite/idls/test048/tin.idl
+testsuite/idls/test049/test.out
+testsuite/idls/test049/tin.idl
+testsuite/idls/test050/test.out
+testsuite/idls/test050/tin.idl
+testsuite/idls/test051/test.out
+testsuite/idls/test051/tin.idl
+testsuite/idls/test052/test.out
+testsuite/idls/test052/tin.idl
+testsuite/idls/test053/test.out
+testsuite/idls/test053/tin.idl
+testsuite/idls/test054/test.out
+testsuite/idls/test054/tin.idl
+testsuite/idls/test055/test.out
+testsuite/idls/test055/tin.idl
+testsuite/idls/test_errors.sh
+testsuite/idls/types001/test.out
+testsuite/idls/types001/tin.idl
+testsuite/idls/types002/test.out
+testsuite/idls/types002/tin.idl
+testsuite/idls/types003/test.out
+testsuite/idls/types003/tin.idl
+testsuite/idls/types004/test.out
+testsuite/idls/types004/tin.idl
+testsuite/idls/types005/test.out
+testsuite/idls/types005/tin.idl
+testsuite/idls/types006/test.out
+testsuite/idls/types006/tin.idl
+testsuite/idls/types007/test.out
+testsuite/idls/types007/tin.idl
+testsuite/idls/types008/test.out
+testsuite/idls/types008/tin.idl
+testsuite/idls/types009/test.out
+testsuite/idls/types009/tin.idl
+testsuite/idls/types010/test.out
+testsuite/idls/types010/tin.idl
+testsuite/idls/types011/test.out
+testsuite/idls/types011/tin.idl
+testsuite/idls/types012/test.out
+testsuite/idls/types012/tin.idl
+testsuite/idls/types013/test.out
+testsuite/idls/types013/tin.idl
+testsuite/idls/types014/tan.idl
+testsuite/idls/types014/test.out
+testsuite/idls/types014/tin.idl
+testsuite/idls/va_f01/test.out
+testsuite/idls/va_f01/tin.idl
+testsuite/idls/va_f02/test.out
+testsuite/idls/va_f02/tin.idl
+testsuite/idls/va_t01/test.out
+testsuite/idls/va_t01/tin.idl
+testsuite/idls/va_t02/test.out
+testsuite/idls/va_t02/tin.idl
+testsuite/idls/va_t03/test.out
+testsuite/idls/va_t03/tin.idl
+testsuite/idls/va_t04/test.out
+testsuite/idls/va_t04/tin.idl
+testsuite/idls/vb_b01/test.out
+testsuite/idls/vb_b01/tin.idl
+testsuite/idls/vb_d01/test.out
+testsuite/idls/vb_d01/tin.idl
+testsuite/idls/vb_d02/test.out
+testsuite/idls/vb_d02/tin.idl
+testsuite/idls/vb_d03/test.out
+testsuite/idls/vb_d03/tin.idl
+testsuite/idls/vb_d04/test.out
+testsuite/idls/vb_d04/tin.idl
+testsuite/idls/vb_d05/test.out
+testsuite/idls/vb_d05/tin.idl
+testsuite/idls/vb_e01/test.out
+testsuite/idls/vb_e01/tin.idl
+testsuite/idls/vb_p01/test.out
+testsuite/idls/vb_p01/tin.idl
+testsuite/idls/vb_p02/test.out
+testsuite/idls/vb_p02/tin.idl
+testsuite/idls/vb_p03/test.out
+testsuite/idls/vb_p03/tin.idl
+testsuite/idls/vt_b01/test.out
+testsuite/idls/vt_b01/tin.idl
+testsuite/idls/vt_e01/test.out
+testsuite/idls/vt_e01/tin.idl
+testsuite/idls/vt_i01/test.out
+testsuite/idls/vt_i01/tin.idl
+testsuite/idls/vt_m01/test.out
+testsuite/idls/vt_m01/tin.idl
+testsuite/idls/vt_m02/test.out
+testsuite/idls/vt_m02/tin.idl
+testsuite/idls/vt_o01/test.out
+testsuite/idls/vt_o01/tin.idl
+testsuite/idls/vt_p01/test.out
+testsuite/idls/vt_p01/tin.idl
+testsuite/idls/vti_avb01/test.out
+testsuite/idls/vti_avb01/tin.idl
+testsuite/idls/vti_avb02/test.out
+testsuite/idls/vti_avb02/tin.idl
+testsuite/idls/vti_si01/test.out
+testsuite/idls/vti_si01/tin.idl
+testsuite/idls/vti_si02/test.out
+testsuite/idls/vti_si02/tin.idl
+testsuite/idls/vti_si03/test.out
+testsuite/idls/vti_si03/tin.idl
+testsuite/idls/vti_vb01/test.out
+testsuite/idls/vti_vb01/tin.idl
+testsuite/scenarios/corba-all_exceptions.conf
+testsuite/scenarios/corba-benchs.conf
+testsuite/scenarios/corba-code_sets.conf
+testsuite/scenarios/corba-domainmanager.conf
+testsuite/scenarios/corba-harness.conf
+testsuite/scenarios/corba-interop.conf
+testsuite/scenarios/corba-local.conf
+testsuite/scenarios/corba-location_forwarding.conf
+testsuite/scenarios/corba-object.conf
+testsuite/scenarios/corba-orb_init.conf
+testsuite/scenarios/corba-performance.conf
+testsuite/scenarios/corba-portableinterceptor.conf
+testsuite/scenarios/corba-portableserver.conf
+testsuite/scenarios/corba-rtcorba-rtcurrent.conf
+testsuite/scenarios/corba-rtcorba-rtorb.conf
+testsuite/scenarios/corba-rtcorba-rtpoa.conf
+testsuite/scenarios/corba-shutdown.conf
+testsuite/scenarios/core-chained_lists.conf
+testsuite/scenarios/core-dynamic_dict.conf
+testsuite/scenarios/core-fixed_point.conf
+testsuite/scenarios/core-initialization.conf
+testsuite/scenarios/core-obj_adapters.conf
+testsuite/scenarios/core-poa.conf
+testsuite/scenarios/core-random.conf
+testsuite/scenarios/core-sync_policies.conf
+testsuite/scenarios/core-tasking.conf
+testsuite/scenarios/core-uri_encoding.conf
+testsuite/scenarios/cos-ir.conf
+testsuite/scenarios/cos-naming.conf
+testsuite/scenarios/cos-time.conf
+testsuite/scenarios/examples-corba-all_functions.conf
+testsuite/scenarios/examples-corba-all_types.conf
+testsuite/scenarios/examples-corba-echo.conf
+testsuite/scenarios/examples-corba-random.conf
+testsuite/scenarios/examples-corba-rtcorba-client_propagated.conf
+testsuite/scenarios/examples-corba-rtcorba-dhb.conf
+testsuite/scenarios/examples-corba-rtcorba-rtcosscheduling.conf
+testsuite/scenarios/examples-corba-rtcorba-server_declared.conf
+testsuite/scenarios/examples-corba-secure_echo.conf
+testsuite/scenarios/examples-corba-send.conf
+testsuite/scenarios/examples-moma.conf
+testsuite/scenarios/examples-polyorb.conf
+testsuite/scenarios/polyorb_conf/broken_codesets.conf
+testsuite/scenarios/polyorb_conf/code_sets_000_client.conf
+testsuite/scenarios/polyorb_conf/code_sets_000_server.conf
+testsuite/scenarios/polyorb_conf/giop.conf
+testsuite/scenarios/polyorb_conf/giop_1_0.conf
+testsuite/scenarios/polyorb_conf/giop_1_1.conf
+testsuite/scenarios/polyorb_conf/giop_1_2.conf
+testsuite/scenarios/polyorb_conf/miop.conf
+testsuite/scenarios/polyorb_conf/performance.conf
+testsuite/scenarios/polyorb_conf/soap.conf
+testsuite/scenarios/polyorb_conf/ssliop.conf
+testsuite/ssl-cert.conf
+testsuite/utils/Makefile.local
+testsuite/utils/local.gpr
+testsuite/utils/test_driver.adb
+testsuite/utils/test_suite-output-file.adb
+testsuite/utils/test_suite-output-file.ads
+testsuite/utils/test_suite-output-text.adb
+testsuite/utils/test_suite-output-text.ads
+testsuite/utils/test_suite-output.adb
+testsuite/utils/test_suite-output.ads
+testsuite/utils/test_suite-run.adb
+testsuite/utils/test_suite-run.ads
+testsuite/utils/test_suite-scenarios.adb
+testsuite/utils/test_suite-scenarios.ads
+testsuite/utils/test_suite-test_case-client_server.adb
+testsuite/utils/test_suite-test_case-client_server.ads
+testsuite/utils/test_suite-test_case-local.adb
+testsuite/utils/test_suite-test_case-local.ads
+testsuite/utils/test_suite-test_case-parser.adb
+testsuite/utils/test_suite-test_case-parser.ads
+testsuite/utils/test_suite-test_case.adb
+testsuite/utils/test_suite-test_case.ads
+testsuite/utils/test_suite.ads
tools/README
-tools/po_catref/Makefile.am
-tools/po_catref/Makefile.in
tools/po_catref/common.adb
tools/po_catref/common.ads
tools/po_catref/output.adb
@@ -2062,13 +2797,9 @@ tools/po_catref/polyorb-giop_p-tagged_co
tools/po_catref/polyorb-giop_p-tagged_components-print.ads
tools/po_catref/polyorb-giop_p-tagged_components-ssl_sec_trans-print.adb
tools/po_catref/polyorb-giop_p-tagged_components-ssl_sec_trans-print.ads
-tools/po_cos_naming/Makefile.am
-tools/po_cos_naming/Makefile.in
tools/po_cos_naming/ir_ab_names.adb
tools/po_cos_naming/po_cos_naming.adb
tools/po_cos_naming/po_cos_naming_shell.adb
-tools/po_createref/Makefile.am
-tools/po_createref/Makefile.in
tools/po_createref/po_createref.adb
tools/po_createref/po_createref_parse_cmd.adb
tools/po_createref/po_createref_parse_cmd.ads
@@ -2090,12 +2821,6 @@ tools/po_createref/polyorb-giop_p-tagged
tools/po_createref/polyorb-giop_p-tagged_components-policies-create.ads
tools/po_createref/polyorb-giop_p-tagged_components-ssl_sec_trans-create.adb
tools/po_createref/polyorb-giop_p-tagged_components-ssl_sec_trans-create.ads
-tools/po_dumpir/Makefile.am
-tools/po_dumpir/Makefile.in
tools/po_dumpir/po_dumpir.adb
-tools/po_ir/Makefile.am
-tools/po_ir/Makefile.in
tools/po_ir/po_ir.adb
-tools/po_names/Makefile.am
-tools/po_names/Makefile.in
tools/po_names/po_names.adb
============================================================
--- Makefile.common.project.in 4738780018c95021dad16427b13b8127cebbc70e
+++ Makefile.common.project.in dde27076cdb9901656cd8e30d3e36d235c2d8bef
@@ -1,5 +1,5 @@
# Common Makefile fragments for all PolyORB subsystems
-# $Id: Makefile.common.project.in 124905 2008-05-21 12:10:30Z quinot $
+# $Id: Makefile.common.project.in 141119 2009-03-11 12:59:56Z hugues $
#
# PolyORB's libraries
@@ -31,7 +31,7 @@ web_common_lib=$(top_builddir)/src/web_c
# PolyORB's libraries -- NEW (should replace above)???
#
-#???Not used: aws_lib=-I$(top_builddir)/src/aws/libpolyorb-aws.a
+aws_lib=libpolyorb-aws.a
corba_lib=libpolyorb-corba.a \
libpolyorb-corba-rtcorba.a
============================================================
--- Makefile.in e1c37fdf3e6f99a38f578f5905494c8ac2d64ee0
+++ Makefile.in 8df666ef7d6d0515da40559d747136ce77d9ff7c
@@ -24,6 +24,11 @@ default: all
#
# testsuite -- builds the examples and testsuite
#
+# run_tests -- runs the testsuite (presumes polyorb and test_driver are already
+# built)
+#
+# all-and-test -- builds everything needed, then runs the testsuite
+#
# src_corba.gpr -- target to build src/corba (and similarly for all the *.gpr
# files in the projects subdirectory). That is, there is a ".PHONY" target with
# the same name as each project file, sans directory name.
@@ -82,7 +87,7 @@ EXTRA_GNATMAKE_FLAGS = @EXTRA_GNATMAK
# EXTRA_GNATMAKE_FLAGS are user-provided, empty by default (typically
# used to specify a non-default --RTS switch).
-BASE_GNATMAKE_FLAGS := ${ADAFLAGS} ${PARALLEL_GNATMAKE_FLAGS} ${EXTRA_GNATMAKE_FLAGS}
+BASE_GNATMAKE_FLAGS :=--create-missing-dirs ${ADAFLAGS} ${PARALLEL_GNATMAKE_FLAGS} ${EXTRA_GNATMAKE_FLAGS}
# Gnatmake flags for units built from project files
COMP_TOOLS_GNATMAKE_FLAGS := @STYLE_SWITCH@ -gnatwa@WARNINGS_MODE@ -gnat05 -gnatec=${top_builddir}/compilers/config.adc ${BASE_GNATMAKE_FLAGS}
@@ -219,7 +224,8 @@ build-po_gnatdist \
build-po_gnatdist \
\
: build-%:
- cd compilers/${compiler_dir} && \
+ mkdir -p compilers/${compiler_dir} && \
+ cd compilers/${compiler_dir} && \
${GNATMAKE} -m \
$* \
${COMP_TOOLS_GNATMAKE_FLAGS} \
@@ -291,6 +297,7 @@ src/soap/polyorb-http_methods.adb src/so
# Note that the second gen_http_body command below overwrites perfect_hash.adb
# with different content.
src/soap/polyorb-http_methods.adb src/soap/polyorb-http_headers.adb: ${GEN_HTTP_BODY} compilers/gnatprfh/gnatprfh ${top_srcdir}/src/soap/polyorb-http_methods.ads ${top_srcdir}/src/soap/polyorb-http_headers.ads
+ mkdir -p src/soap
cd src/soap && ${GEN_HTTP_BODY} ${GNATPRFH} ${top_srcdir}/src/soap Method
cd src/soap && ${GEN_HTTP_BODY} ${GNATPRFH} ${top_srcdir}/src/soap Header
@@ -301,7 +308,7 @@ build-gen_codeset:
GEN_CODESET = src/giop/gen_codeset
build-gen_codeset:
- cd src/giop && \
+ mkdir -p src/giop && cd src/giop && \
${GNATMAKE} gen_codeset -I${top_srcdir}/src/giop ${COMP_TOOLS_GNATMAKE_FLAGS}
src/giop/polyorb-giop_p-code_sets-data.ads-stamp: ${top_srcdir}/src/giop/cs_registry1.2h ${GEN_CODESET}
@@ -374,6 +381,7 @@ cos/ir/orb.idl-stamp: ${top_srcdir}/idls
#???What is the following all about? Why does it "chmod" and "rm"?
cos/ir/orb.idl-stamp: ${top_srcdir}/idls/CORBA_IDL/orb.idl ${top_srcdir}/idls/CORBA_IDL/CORBA_InterfaceRepository.idl ${top_srcdir}/idls/CORBA_IDL/CORBA_TypeCode.idl ${IDLAC_bin} ${IDLAC_WRAPPER}
@chmod a+x ${IDLAC_WRAPPER}
+ mkdir -p ${dir $@}
cd ${dir $@} && ${idlac} $<
${RM} cos/ir/corba-repository_root.ads
touch $@
@@ -436,40 +444,8 @@ do-gnatmake: ${POLYORB_LIBS} ${SERVICE_L
#???lib/polyorb.ali is missing the first time around.
# Because we can't share library directories!
-# The mkdir.flag targets are used to create the necessary directories. There is
-# one ALI directory for each project file (for example, ali/src_corba is the
-# ALI directory for projects/src_corba.gpr). There is also a single library
-# directory (lib) shared by all project files.
-# Note: This would be unnecessary if we used the -p switch of gnatmake,
-# but we want this to work with older versions of gnatmake that do not
-# support -p (this option was introduced in GNAT 6.0).
-# WAG: 5.04
-ALI_FLAGS := ${patsubst %.gpr,ali/%/mkdir.flag,${PROJECT_FILES}}
-MKDIR_FLAGS := ${ALI_FLAGS} lib/mkdir.flag
-
-${MKDIR_FLAGS}: %/mkdir.flag:
- mkdir -p $*
- touch $@
-
-# Note that each foo.gpr target depends on ALL .../mkdir.flag targets,
-# because gnatmake needs to look at the ALI directories for imported
-# projects.
-
-PRJ_GNATMAKE_FLAGS :=
-# This variable is used to pass additional per-project command line switches
-# to gnatmake.
-
-.PHONY: ${PROJECT_FILES}
-${PROJECT_FILES}: %.gpr: \
- ${MKDIR_FLAGS} \
- perfect-hash \
- polyorb-idl-stamps \
- build-gen_codeset \
- src/giop/polyorb-giop_p-code_sets-data.ads-stamp \
- tools/po_catref/polyorb-giop_p-code_sets-description_data.ads-stamp
- ADA_PROJECT_PATH="${top_builddir}/projects${PATH_SEP}${top_srcdir}/projects${PATH_SEP}$$ADA_PROJECT_PATH" \
- ${GNATMAKE_FOR_TARGET} -P $@ ${BASE_GNATMAKE_FLAGS} ${PRJ_GNATMAKE_FLAGS} ${GNATMAKE_FLAGS_FOR_TARGET}
-
+.PHONY: libpolyorb-aws.a
+libpolyorb-aws.a: src_aws.gpr
.PHONY: libpolyorb-corba-cos-event-impl.a
libpolyorb-corba-cos-event-impl.a: cos_event.gpr
.PHONY: libpolyorb-corba-cos-ir-impl.a
@@ -577,6 +553,43 @@ ${C_OBJECTS}: %.o: ${top_srcdir}/%.c
${C_OBJECTS}: %.o: ${top_srcdir}/%.c
${CC_FOR_TARGET} -c -o $@ -I${top_builddir}/src ${CPPFLAGS} ${CFLAGS} ${CFLAGS_FOR_TARGET} $<
+### No additions to C_FILES / C_OBJECTS beyond this point
+
+# The mkdir.flag targets are used to create the necessary directories. There is
+# one ALI directory for each project file (for example, ali/src_corba is the
+# ALI directory for projects/src_corba.gpr). There is also a single library
+# directory (lib) shared by all project files.
+# Note: This would be unnecessary if we used the -p switch of gnatmake,
+# but we want this to work with older versions of gnatmake that do not
+# support -p (this option was introduced in GNAT 6.0).
+# WAG: 5.04
+ALI_MKDIR_FLAGS = ${patsubst %.gpr,ali/%/mkdir.flag,${PROJECT_FILES}}
+C_MKDIR_FLAGS = ${patsubst %,%mkdir.flag,${dir ${C_OBJECTS}}}
+MKDIR_FLAGS = ${ALI_MKDIR_FLAGS} ${C_MKDIR_FLAGS} lib/mkdir.flag
+
+${MKDIR_FLAGS}: %/mkdir.flag:
+ mkdir -p $*
+ touch $@
+
+# Note that each foo.gpr target depends on ALL .../mkdir.flag targets,
+# because gnatmake needs to look at the ALI directories for imported
+# projects.
+
+PRJ_GNATMAKE_FLAGS :=
+# This variable is used to pass additional per-project command line switches
+# to gnatmake.
+
+.PHONY: ${PROJECT_FILES}
+${PROJECT_FILES}: %.gpr: \
+ ${MKDIR_FLAGS} \
+ perfect-hash \
+ polyorb-idl-stamps \
+ build-gen_codeset \
+ src/giop/polyorb-giop_p-code_sets-data.ads-stamp \
+ tools/po_catref/polyorb-giop_p-code_sets-description_data.ads-stamp
+ ADA_PROJECT_PATH="${top_builddir}/projects${PATH_SEP}${top_srcdir}/projects${PATH_SEP}$$ADA_PROJECT_PATH" \
+ ${GNATMAKE_FOR_TARGET} -P $@ ${BASE_GNATMAKE_FLAGS} ${PRJ_GNATMAKE_FLAGS} ${GNATMAKE_FLAGS_FOR_TARGET}
+
##########################
# examples and testsuite #
##########################
@@ -717,6 +730,18 @@ build-test_driver:
ADA_PROJECT_PATH="${top_builddir}/projects${PATH_SEP}${top_srcdir}/projects${PATH_SEP}$$ADA_PROJECT_PATH" \
${GNATMAKE_FOR_TARGET} -P testsuite_utils.gpr ${BASE_GNATMAKE_FLAGS} ${PRJ_GNATMAKE_FLAGS} ${GNATMAKE_FLAGS_FOR_TARGET}
+.PHONY: run_tests
+run_tests:
+ cd testsuite && ./utils/test_driver -full ${top_srcdir}/testsuite/scenarios -output file -config ${top_srcdir}/testsuite -verbose
+
+# 'all' depends on either build-iac or build-idlac; we might as well build
+# both, here. We run_tests via recursive make, rather than having all-and-test
+# depend on run_tests, so it works for parallel make (run_tests should not
+# run concurrently with the other stuff).
+.PHONY: all-and-test
+all-and-test: all build-iac build-idlac examples testsuite
+ ${MAKE} run_tests
+
################################################################
# Rules for running idlac on .idl files
@@ -871,11 +896,11 @@ clean:
clean:
${RM} -f ${all_idl_stamps} ./cos/ir/orb.idl-stamp # ???and more
${RM} -f ${idlac_output_files}
- find . -name '*.ali' | xargs ${RM} -f
- find . -name '*.o' | xargs ${RM} -f
+ find . -name '*.ali' -o -name '*.o' | xargs ${RM} -f
${RM} -f lib/lib*.a
${RM} -f ${all_example_exes}
(cd compilers && ${RM} -f ${COMPILER_EXES})
+ ${RM} -f ${MKDIR_FLAGS}
${RM} -f ${IAC_NODES_STAMPS}
${RM} -f ${IAC_NODES_SOURCES}
${RM} -f src/soap/polyorb-http_methods.adb src/soap/polyorb-http_headers.adb
@@ -896,7 +921,7 @@ distclean: clean
${RM} -f tools/po_names/po_names
distclean: clean
- ${SHELL} support/cleanup-conf-files
+ ${SHELL} ${top_srcdir}/support/cleanup-conf-files
${RM} -f config.*
.SUFFIXES: .c .o
@@ -2327,6 +2352,7 @@ debug-makefile:
@echo MAKEFLAGS = ${MAKEFLAGS}
@echo GNATMAKE_FLAGS = ${GNATMAKE_FLAGS}
@echo MAKECMDGOALS = ${MAKECMDGOALS}
+ @echo MKDIR_FLAGS = ${MKDIR_FLAGS}
@echo polyorb_idl_stamps = ${polyorb_idl_stamps}
@echo all_idl_stamps = ${all_idl_stamps}
@echo POLYORB_LIBS = ${POLYORB_LIBS}
============================================================
--- NEWS bd2d299dbfbe05abf3c9a3a3ce6e51f66c637397
+++ NEWS 6fc0fceeb50a100852553933104e5652218c6cba
@@ -21,10 +21,24 @@
-- --
------------------------------------------------------------------------------
-* PolyORB 2.5
+* PolyORB 2.6
=============
This release contains the PolyORB generic middleware, and its CORBA
+and DSA instantiations. In addition to the 2.5 release, it includes:
+
+New features
+------------
+
+See the features-26 file.
+
+Bug fixes
+---------
+
+* PolyORB 2.5 (branched on 2008-11-03)
+======================================
+
+This release contains the PolyORB generic middleware, and its CORBA
and DSA instantiations. In addition to the 2.4 release, it includes:
New features
@@ -35,6 +49,20 @@ Bug fixes
Bug fixes
---------
+When building a single partition with non-local termination, po_gnatdist
+would systematically mark the partition as termination initiator, possibly
+causing a deadlock when terminating the application. (Building all partitions
+at the same time, which is the default, worked fine.) (HA30-008)
+
+Calling a method that has IN or INOUT arguments following an OUT argument
+locally on a partition (i.e. without involving any actual network
+communication) would cause an incorrect matching of formal and actual
+parameters, causing incorrect values to be passed to the servant, or
+a crash if parameters were of incompatible types. (HB25-017)
+
+po_gnatdist crashed when building only the main partition in an application
+with an Ada starter. (HB10-009)
+
IAC was generating incorrect Ada code for "default:" in a union. (H930-022)
Several issues have been fixed in the circuitry handling TypeCodes and Anys
@@ -74,8 +102,8 @@ integer expressions are now allowed. (H7
IAC and IDLAC required array sizes to be literals or constants. Arbitrary
integer expressions are now allowed. (H723-024).
-* PolyORB 2.4
-=============
+* PolyORB 2.4 (branched on 2008-05-06)
+======================================
This release contains the PolyORB generic middleware, and its CORBA
and DSA instantiations. In addition to the 2.3 release, it includes:
============================================================
--- compilers/gnatdist/xe_back-polyorb.adb 28ed8faf105a2f76b079afdcb6c760eeeeb179df
+++ compilers/gnatdist/xe_back-polyorb.adb 81f191f0ef2a4fbf491be8be55bdd9d2328b36bd
@@ -708,11 +708,6 @@ package body XE_Back.PolyORB is
Write_Indentation (+1);
Write_Line ("Shutdown => null));");
Decrement_Indentation;
-
- -- Reset the configuration table so that next partition elaboration
- -- is configurated properly.
-
- Reset_Conf;
end Generate_Parameters_Source;
----------------------------------
@@ -1100,32 +1095,35 @@ package body XE_Back.PolyORB is
Current : Partition_Type;
Is_Initiator_Set : Boolean := False;
begin
-
Prepare_Directories;
-
Generate_All_Stubs_And_Skels;
-- For each partition, generate the elaboration, main, executable
-- and stamp files.
for J in Partitions.First + 1 .. Partitions.Last loop
- if Partitions.Table (J).To_Build then
- Current := Partitions.Table (J);
+ Current := Partitions.Table (J);
- if not Is_Initiator_Set
- and then Current.Tasking /= No_Tasking
- and then Current.Termination /= Local_Termination
- then
- Set_Str_To_Name_Buffer ("true");
- Set_Conf (PE_Termination_Initiator, Name_Find);
- Is_Initiator_Set := True;
+ -- Reset the configuration table to forget all options set for
+ -- previous partitions.
- -- Because configuration is reset after generating each
- -- elaboration file, this conf parameter will only affect
- -- current partition.
+ Reset_Conf;
- end if;
+ -- Set termination initiator option on first partition with non local
+ -- termination. Note that this must be done outside of the To_Build
+ -- test. Otherwise, when building two partitions in separate
+ -- gnatdist runs, both may end up being set up as initiators.
+ if not Is_Initiator_Set
+ and then Current.Tasking /= No_Tasking
+ and then Current.Termination /= Local_Termination
+ then
+ Set_Str_To_Name_Buffer ("true");
+ Set_Conf (PE_Termination_Initiator, Name_Find);
+ Is_Initiator_Set := True;
+ end if;
+
+ if Partitions.Table (J).To_Build then
if Current.To_Build and then Current.Passive /= BTrue then
if Rebuild_Partition (J) then
if not Quiet_Mode then
============================================================
--- compilers/gnatdist/xe_back.adb 54c1aa0e7f14c90365024d0daa2220f59b4b1a57
+++ compilers/gnatdist/xe_back.adb a4bff0627c887d0f1a1170a3be80ca49235a375c
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1995-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 1995-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -522,8 +522,8 @@ package body XE_Back is
Write_Name (Get_Rsh_Options);
Write_Char (' ');
Write_Char (Ext_Quote);
-
Write_Str (Get_Env_Vars (P, Names_Only => False));
+ Write_Char (' ');
end if;
-- Executable file name must be quoted because it may contain
@@ -544,7 +544,7 @@ package body XE_Back is
if P /= Main_Partition then
Write_Str (" ");
Write_Name (Get_Detach_Flag (Backend));
- Write_Str (" & ");
+ Write_Str (" &");
Write_Char (Ext_Quote);
Write_Str (" < /dev/null > /dev/null 2>&1");
end if;
@@ -812,6 +812,13 @@ package body XE_Back is
Add_Str_To_Name_Buffer (" ");
V := Env_Vars.Table (V).Next_Env_Var;
end loop;
+
+ -- Remove trailing space, if the string is not empty
+
+ if Name_Len > 0 then
+ Name_Len := Name_Len - 1;
+ end if;
+
return Name_Buffer (1 .. Name_Len);
end Get_Env_Vars;
============================================================
--- compilers/gnatdist/xe_main.adb 8649c0dd90b9ba697b6e3304eca4acae51205b56
+++ compilers/gnatdist/xe_main.adb 98a6d62cc9dc99e21bfad88c15d4112f1ed31d11
@@ -148,9 +148,9 @@ begin
end loop;
end if;
- -- Check consistency once we know which partitions to build. Some
- -- parts of configuration may be missing because we partially
- -- build the distributed system.
+ -- Check consistency once we know which partitions to build. Some parts of
+ -- configuration may be missing because we partially build the distributed
+ -- system.
XE_Back.Initialize (Backend);
Analyze;
============================================================
--- compilers/gnatdist/xe_sem.adb 578876a4bdbdcfd4efecad688e068f8e64e33279
+++ compilers/gnatdist/xe_sem.adb d19fd0a8dfd7f5114830f15f8eb4d23e47badfaa
@@ -53,8 +53,8 @@ package body XE_Sem is
-- default channel attribute.
procedure Apply_Default_Partition_Attributes (Partition : Partition_Id);
- -- When a partition attribute has not been assigned, apply the
- -- default partition attribute.
+ -- When a partition attribute has not been assigned, apply the default
+ -- value for the attribute.
procedure Assign_Unit_Tasking (ALI : ALI_Id);
-- Assign PCS tasking for a RCI unit.
@@ -286,9 +286,14 @@ package body XE_Sem is
end if;
for J in Partitions.First + 1 .. Partitions.Last loop
- if Partitions.Table (J).To_Build then
- Apply_Default_Partition_Attributes (J);
- end if;
+
+ -- Apply default values for unspecified attributes. Note that this
+ -- must be done even for partitions that are not built, since their
+ -- attributes might be referenced by other partitions, e.g. when
+ -- generating an Ada starter procedure (which needs the partition's
+ -- executable file name).
+
+ Apply_Default_Partition_Attributes (J);
end loop;
for J in Channels.First + 1 .. Channels.Last loop
============================================================
--- configure.ac 3a320ac7fc8235be957a26ed01f31c47c2522d6d
+++ configure.ac 6b898edb0ce723094ea72b5f5e2027497f2f56d8
@@ -1,6 +1,6 @@
-# $Id: configure.ac 127813 2008-08-15 11:43:47Z quinot $
+# $Id: configure.ac 132303 2008-11-13 01:53:23Z duff $
-define(POLYORB_RELEASE, [2.5.0w])
+define(POLYORB_RELEASE, [2.6.0w])
AC_PREREQ(2.57)
AC_INIT(PolyORB, pkg_version(POLYORB_RELEASE), polyorb-bugs@lists.adacore.com)
@@ -309,7 +309,7 @@ AS_HELP_STRING([--with-corba-services=x]
newwithval=`echo ${withval} | tr "[A-Z]" "[a-z]"`
for S in ${newwithval}
do
- if test -f ${srcdir}/cos/${S}/Makefile.am
+ if test -d ${srcdir}/cos/${S}
then
SERVICE_LIST="${SERVICE_LIST}${S} "
else
@@ -810,15 +810,10 @@ AC_OUTPUT(FILTER_OUTPUT_FILES(OUTPUT_FIL
AC_OUTPUT(FILTER_OUTPUT_FILES(OUTPUT_FILTER,[
Makefile
Makefile.common.project
- compilers/Makefile
compilers/common_files/platform.ads
compilers/config.adc
compilers/gnatdist/xe_defs-defaults.ads
- compilers/gnatprfh/Makefile
compilers/gnatprfh/gnatprfh.adb
- compilers/iac/Makefile
- compilers/idlac/Makefile
- compilers/idlac/testsuite/Makefile
docs/Makefile
docs/polyorb_version.texi
projects/config.gpr
@@ -826,150 +821,23 @@ AC_OUTPUT(FILTER_OUTPUT_FILES(OUTPUT_FIL
projects/src_setup.gpr
projects-distrib/polyorb.gpr
projects-distrib/polyorb/src_setup.gpr
- src/Makefile
src/config.adc
- src/corba/Makefile
- src/corba/dynamicany/Makefile
- src/corba/iop/Makefile
- src/corba/messaging/Makefile
- src/corba/portableinterceptor/Makefile
- src/corba/rtcorba/Makefile
- src/corba/security/Makefile
- src/corba/security/gssup/Makefile
- src/dsa/Makefile
- src/giop/Makefile
- src/giop/iiop/Makefile
- src/giop/iiop/security/Makefile
- src/giop/iiop/security/tls/Makefile
- src/giop/iiop/ssliop/Makefile
- src/giop/diop/Makefile
- src/giop/miop/Makefile
- src/moma/Makefile
- src/web_common/Makefile
- src/aws/Makefile
- src/security/Makefile
- src/security/gssup/Makefile
- src/security/tls/Makefile
- src/security/x509/Makefile
- src/setup/Makefile
src/setup/polyorb-setup-base.adb
src/setup/polyorb-setup-client.adb
src/setup/polyorb-setup-server.adb
- src/setup/security/Makefile
- src/soap/Makefile
- src/srp/Makefile
- src/ssl/Makefile
src/polyorb-platform.ads
src/polyorb-platform-ssl_linker_options.ads
src/ravenscar.adc
src/ravenscar_compatible.adc
- idls/Makefile
- idls/CORBA_IDL/Makefile
- idls/CORBA_PIDL/Makefile
- idls/Interop/Makefile
- idls/Misc/Makefile
- idls/RTCORBA/Makefile
- idls/cos/Makefile
- idls/cos/event/Makefile
- idls/cos/naming/Makefile
- idls/cos/notification/Makefile
- idls/cos/time/Makefile
contrib/idlac_wrapper/idlac_wrapper
- cos/Makefile
- cos/event/Makefile
- cos/naming/Makefile
- cos/notification/Makefile
- cos/time/Makefile
- cos/ir/Makefile
- examples/Makefile
- examples/corba/Makefile
- examples/corba/all_types/Makefile
- examples/corba/all_functions/Makefile
- examples/corba/echo/Makefile
- examples/corba/random/Makefile
- examples/corba/rtcorba/Makefile
- examples/corba/rtcorba/client_propagated/Makefile
- examples/corba/rtcorba/dhb/Makefile
- examples/corba/rtcorba/server_declared/Makefile
- examples/corba/rtcorba/rtcosscheduling/Makefile
- examples/corba/send/Makefile
- examples/corba/secure_echo/Makefile
examples/corba/secure_echo/gssup.conf
examples/corba/secure_echo/gssup_example
examples/corba/secure_echo/tls.conf
examples/corba/secure_echo/tls_example
examples/corba/secure_echo/tls_gssup.conf
examples/corba/secure_echo/tls_gssup_example
- examples/dsa/Makefile
- examples/bbs/Makefile
- examples/moma/Makefile
- examples/aws/Makefile
- examples/polyorb/Makefile
- testsuite/Makefile
- testsuite/corba/Makefile
- testsuite/corba/all_exceptions/Makefile
- testsuite/corba/benchs/Makefile
- testsuite/corba/benchs/test000/Makefile
- testsuite/corba/code_sets/Makefile
- testsuite/corba/code_sets/test000/Makefile
- testsuite/corba/cos/Makefile
- testsuite/corba/cos/event/Makefile
- testsuite/corba/cos/ir/Makefile
- testsuite/corba/cos/naming/Makefile
- testsuite/corba/cos/notification/Makefile
- testsuite/corba/cos/time/Makefile
- testsuite/corba/domainmanager/Makefile
- testsuite/corba/domainmanager/test000/Makefile
- testsuite/corba/harness/Makefile
- testsuite/corba/local/Makefile
- testsuite/corba/location_forwarding/Makefile
- testsuite/corba/location_forwarding/test000/Makefile
- testsuite/corba/location_forwarding/test001/Makefile
- testsuite/corba/orb_init/Makefile
- testsuite/corba/object/Makefile
- testsuite/corba/object/test000/Makefile
- testsuite/corba/portableinterceptor/Makefile
- testsuite/corba/portableinterceptor/test000/Makefile
- testsuite/corba/portableinterceptor/test001/Makefile
- testsuite/corba/portableinterceptor/test002/Makefile
- testsuite/corba/portableinterceptor/test003/Makefile
- testsuite/corba/portableinterceptor/test004/Makefile
- testsuite/corba/portableserver/Makefile
- testsuite/corba/rtcorba/Makefile
- testsuite/corba/rtcorba/rtcurrent/Makefile
- testsuite/corba/rtcorba/rtorb/Makefile
- testsuite/corba/rtcorba/rtpoa/Makefile
- testsuite/corba/shutdown/Makefile
- testsuite/core/Makefile
- testsuite/core/any/Makefile
- testsuite/core/chained_lists/Makefile
- testsuite/core/dynamic_dict/Makefile
- testsuite/core/fixed_point/Makefile
- testsuite/core/initialization/Makefile
- testsuite/core/naming/Makefile
- testsuite/core/obj_adapters/Makefile
- testsuite/core/poa/Makefile
- testsuite/core/random/Makefile
- testsuite/core/sync_policies/Makefile
- testsuite/core/tasking/Makefile
- testsuite/core/uri_encoding/Makefile
- testsuite/acats/Makefile
- testsuite/acats/CXE1001/Makefile
- testsuite/acats/CXE2001/Makefile
- testsuite/acats/CXE4001/Makefile
- testsuite/acats/CXE4002/Makefile
- testsuite/acats/CXE4005/Makefile
- testsuite/acats/CXE4006/Makefile
- testsuite/utils/Makefile
- tools/Makefile
- tools/po_catref/Makefile
tools/po_catref/po_catref_setup.adb
- tools/po_cos_naming/Makefile
- tools/po_createref/Makefile
tools/po_createref/po_createref_setup.adb
- tools/po_dumpir/Makefile
- tools/po_ir/Makefile
- tools/po_names/Makefile
support/adacompiler
support/linker
polyorb-config
============================================================
--- docs/polyorb_ug.texi 0ff4d19914d1b17d183404a01a1f3bad942bef30
+++ docs/polyorb_ug.texi 69d0a7e50d0317cb3493de265250b0ab446e006d
@@ -55,7 +55,7 @@
@c
@c oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
-@c $Id: polyorb_ug.texi 128976 2008-09-25 12:16:18Z quinot $
+@c $Id: polyorb_ug.texi 135863 2009-01-20 15:58:45Z hugues $
@include svn.texi
@@ -89,7 +89,7 @@
@title PolyORB User's Guide
@include polyorb_version.texi
@subtitle Version @value{POLYORB_VERSION}
-@svndate $Date: 2008-09-25 14:16:18 +0200 (Thu, 25 Sep 2008) $
+@svndate $Date: 2009-01-20 16:58:45 +0100 (Tue, 20 Jan 2009) $
@subtitle @value{SVNDate}
@author @value{AUTHORS1}
@author @value{AUTHORS2}
@@ -117,7 +117,7 @@ @top PolyORB User's Guide
@include polyorb_version.texi
Version @value{POLYORB_VERSION}
-$Date: 2008-09-25 14:16:18 +0200 (Thu, 25 Sep 2008) $
+$Date: 2009-01-20 16:58:45 +0100 (Tue, 20 Jan 2009) $
@value{AUTHORS1}
@value{AUTHORS2}
@@ -5401,6 +5401,19 @@ @section Running a DSA application
first value output for @code{POLYORB_DSA_NAME_SERVICE} before
launching each DSA partition.
+Here is a small trace output that demonstrates the setup
+
+@smallexample
+
+polyorb/examples/dsa/echo% ../../../tools/po_cos_naming/po_cos_naming&
+polyorb/examples/dsa/echo% POLYORB_CORBA_NAME_SERVICE=''....''
+
+polyorb/examples/dsa/echo% export POLYORB_DSA_NAME_SERVICE=''...''
+polyorb/examples/dsa/echo% ./client
+The client has started!
+Thus spake my server upon me:Hi!
+@end smallexample
+
@c -------------------------------------------------------------------
@node MOMA
@chapter MOMA
============================================================
--- examples/corba/all_functions/all_functions-impl.adb 108820c0c8668158652543b58ebbf97aa2dfb599
+++ examples/corba/all_functions/all_functions-impl.adb c8f989d694c6997a5beeafbaa66aa619a18ab236
@@ -85,6 +85,16 @@ package body all_functions.Impl is
null;
end in_proc;
+ procedure out_in_proc
+ (Self : access Object;
+ a : out CORBA.Short;
+ b : CORBA.Long)
+ is
+ pragma Unreferenced (Self);
+ begin
+ a := CORBA.Short (b) + 1;
+ end out_in_proc;
+
procedure out_proc
(Self : access Object;
a : out CORBA.Short;
@@ -153,11 +163,14 @@ package body all_functions.Impl is
pragma Warnings (Off);
pragma Unreferenced (Self);
pragma Warnings (On);
+
+ Entry_B : constant CORBA.Short := B;
+ Entry_C : constant CORBA.Short := C;
begin
- a := 45;
- b := 46;
- c := 47;
- d := 48;
+ a := 111;
+ b := Entry_C + 1;
+ c := Entry_B + 1;
+ d := 999;
end out_inout_proc;
procedure in_out_inout_proc
============================================================
--- examples/corba/all_functions/all_functions-impl.ads 4f51d43d02e60648b1661773621961d62759579c
+++ examples/corba/all_functions/all_functions-impl.ads db771adf800f9c28c5ac4055f231a93bf10e51c6
@@ -62,6 +62,11 @@ package all_functions.Impl is
b : out CORBA.Short;
c : out CORBA.Short);
+ procedure out_in_proc
+ (Self : access Object;
+ a : out CORBA.Short;
+ b : CORBA.Long);
+
procedure inout_proc
(Self : access Object;
a : in out CORBA.Short;
============================================================
--- examples/corba/all_functions/all_functions.idl 7ded2c4d1497b78126524606b0dd6d815e83638c
+++ examples/corba/all_functions/all_functions.idl 0561247f9f1bf3300f1dc894dc8a603fdceeea6e
@@ -14,6 +14,8 @@ interface all_functions {
void out_proc(out short a, out short b, out short c) ;
+ void out_in_proc (out short a, in long b) ;
+
void inout_proc(inout short a, inout short b) ;
void in_out_proc(in short a, in short b, out short c, out short d) ;
============================================================
--- examples/corba/all_functions/client.adb 3c78071eaa1d16b97a1a5ff4ad1f5e2637a70680
+++ examples/corba/all_functions/client.adb 5f09eb04003b8a3b3edbf3963956a357cfe67092
@@ -16,12 +16,12 @@
-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public --
-- License for more details. You should have received a copy of the GNU --
-- General Public License distributed with PolyORB; see file COPYING. If --
--- not, write to the Free Software Foundation, 59 Temple Place - Suite 330, --
--- Boston, MA 02111-1307, USA. --
+-- not, write to the Free Software Foundation, 51 Franklin Street, Fifth --
+-- Floor, Boston, MA 02111-1301, USA. --
-- --
-- --
--- PolyORB is maintained by ACT Europe. --
--- (email: sales@act-europe.fr) --
+-- PolyORB is maintained by AdaCore --
+-- (email: sales@adacore.com) --
-- --
------------------------------------------------------------------------------
@@ -33,244 +33,22 @@ with all_functions; use all_functions;
with all_functions; use all_functions;
-with PolyORB.Utils.Report;
-
with PolyORB.Setup.Client;
pragma Warnings (Off, PolyORB.Setup.Client);
-procedure Client is
+with Run_Tests;
- use PolyORB.Utils.Report;
-
- IOR : CORBA.String;
+procedure Client is
MyObj : all_functions.Ref;
- I, J, K, L, M : CORBA.Short;
- Ok : Boolean;
-
begin
CORBA.ORB.Initialize ("ORB");
if Ada.Command_Line.Argument_Count < 1 then
- Ada.Text_IO.Put_Line ("usage : client <IOR_string_from_server>");
+ Ada.Text_IO.Put_Line ("Usage: client <IOR_string_from_server>");
return;
end if;
- New_Test ("Different invocation modes");
-
- -- transforms the Ada string into CORBA.String
- IOR := CORBA.To_CORBA_String (Ada.Command_Line.Argument (1));
-
- -- getting the CORBA.Object
- CORBA.ORB.String_To_Object (IOR, MyObj);
-
- -- checking if it worked
- if all_functions.Is_Nil (MyObj) then
- Ada.Text_IO.Put_Line ("main : cannot invoke on a nil reference");
- return;
- end if;
-
- Output ("test not nil reference", not Is_Nil (MyObj));
-
--- Set_The_Attribute (MyObj, 24);
--- Output ("test attribute", Get_The_Attribute (MyObj) = 24);
-
--- Output ("test readonly attribute",
--- Get_The_Readonly_Attribute (MyObj) = 18);
-
- begin
- Ok := True;
- void_proc (MyObj);
- exception when others =>
- Ok := False;
- end;
- Output ("test void procedure", Ok);
-
- begin
- in_proc (MyObj, 1, 2, 3);
- Ok := True;
- exception when others =>
- Ok := False;
- end;
- Output ("test in param procedure", Ok);
-
- begin
- Ok := False;
- out_proc (MyObj, I, J, K);
- Ok := (I = 10) and then (J = 11) and then (K = 12);
- exception when others =>
- null;
- end;
- Output ("test out param procedure", Ok);
-
- begin
- Ok := False;
- I := 2;
- J := 3;
- inout_proc (MyObj, I, J);
- Ok := (I = 3 and then J = 4);
- exception when others =>
- null;
- end;
- Output ("test in out param procedure", Ok);
-
- begin
- Ok := False;
- I := 1;
- J := 2;
- in_out_proc (MyObj, 1, 2, I, J);
- Ok := (I = 3 and then J = 4);
- exception when others =>
- null;
- end;
- Output ("test in and out param procedure", Ok);
-
- begin
- Ok := False;
- I := -4;
- J := -5;
- in_inout_proc (MyObj, 1, I, 3, J);
- Ok := (I = 36) and then (J = 40);
- exception when others =>
- null;
- end;
- Output ("test in and inout param procedure", Ok);
-
- begin
- I := -11;
- J := -21;
- K := -31;
- L := -41;
- out_inout_proc (MyObj, I, J, K, L);
- Ok := (I = 45) and then (J = 46) and then (K = 47) and then (L = 48);
- exception when others =>
- null;
- end;
- Output ("test inout and out param procedure", Ok);
-
- begin
- Ok := False;
- I := 78;
- J := 79;
- in_out_inout_proc (MyObj, 1, I, J);
- Ok := (I = -54) and then (J = 80);
- exception when others =>
- null;
- end;
- Output ("test in and out and inout param procedure", Ok);
-
- Output ("test void function", void_fun (MyObj) = 3);
- Output ("test in param function", in_fun (MyObj, 1, 2, 3) = 7);
-
- begin
- Ok := False;
- I := 1;
- J := 2;
- K := 3;
- L := 4;
- out_fun (MyObj, I, J, K, L);
- Ok := (I = 5) and then (J = 6) and then (K = 7) and then (L = 10);
- exception when others =>
- null;
- end;
- Output ("test out param function", Ok);
-
- begin
- Ok := False;
- I := 1;
- J := 2;
- K := 3;
- inout_fun (MyObj, I, J, L);
- Ok := (I = 2) and then (J = 3) and then (L = 5);
- exception when others =>
- null;
- end;
- Output ("test inout param function", Ok);
-
- begin
- Ok := False;
- I := 10;
- J := 11;
- in_out_fun (MyObj, 1, 2, I, J, K);
- Ok := (I = 2) and then (J = 1) and then (K = 3);
- exception when others =>
- null;
- end;
- Output ("test in and out param function", Ok);
-
- begin
- Ok := False;
- I := -1;
- J := -2;
- K := -3;
- in_inout_fun (MyObj, -1, I, -2, J, K);
- Ok := (I = -2) and then (J = -4) and then (K = -6);
- exception when others =>
- null;
- end;
- Output ("test in and inout param function", Ok);
-
- begin
- Ok := False;
- I := -1;
- J := -2;
- K := -3;
- L := -4;
- M := -5;
- out_inout_fun (MyObj, I, J, K, L, M);
- Ok := (I = -2) and then (J = -1) and then (K = -2)
- and then (L = -3) and then (M = -7);
- exception when others =>
- null;
- end;
- Output ("test out and inout param function", Ok);
-
- begin
- Ok := False;
- I := -1;
- J := -2;
- K := -3;
- in_out_inout_fun (MyObj, 85, I, J, K);
- Ok := (I = 86) and then (J = 83) and then (K = -1);
- exception when others =>
- null;
- end;
- Output ("test in and out and inout param function", Ok);
-
- begin
- oneway_void_proc (MyObj);
- delay 0.5;
- Ok := oneway_checker (MyObj) = 1;
- if Ok then
- delay 1.0;
- Ok := oneway_checker (MyObj) = 2;
- end if;
- exception when others =>
- Ok := False;
- end;
- Output ("test void one way procedure", Ok);
-
- begin
- oneway_in_proc (MyObj, 10, 20);
- delay 0.5;
- Ok := oneway_checker (MyObj) = 10;
- if Ok then
- delay 1.0;
- Ok := oneway_checker (MyObj) = 20;
- end if;
- exception when others =>
- Ok := False;
- end;
- Output ("test in param one way procedure", Ok);
-
- begin
- StopServer (MyObj);
- Ok := True;
- exception when others =>
- Ok := False;
- raise;
- end;
-
- Output ("shut down server", Ok);
-
- End_Report;
+ CORBA.ORB.String_To_Object
+ (CORBA.To_CORBA_String (Ada.Command_Line.Argument (1)), MyObj);
+ Run_Tests (MyObj);
end Client;
============================================================
--- examples/corba/all_functions/server.adb 9c3a85db40e20a2a182143475ee18aa0331466c5
+++ examples/corba/all_functions/server.adb c490c096c8b4d66be3b9152f3e34a9b7d5f54e3c
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2002-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2002-2008, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -26,6 +26,7 @@ with all_functions.Impl;
------------------------------------------------------------------------------
with all_functions.Impl;
+with all_functions.Helper;
with CORBA;
with CORBA.Object;
@@ -39,8 +40,11 @@ pragma Warnings (Off, PolyORB.Setup.Thre
-- Note : the server must execute two tasks concurrently to pass oneway tests
+with Ada.Command_Line;
with Ada.Text_IO;
+with Run_Tests;
+
procedure Server is
Ref : CORBA.Object.Ref;
begin
@@ -54,5 +58,11 @@ begin
("'" & CORBA.To_Standard_String
(PolyORB.CORBA_P.CORBALOC.Object_To_Corbaloc (Ref)) & "'");
- Initiate_Server;
+ Initiate_Server (Start_New_Task => True);
+
+ if Ada.Command_Line.Argument_Count = 1
+ and then Ada.Command_Line.Argument (1) = "local"
+ then
+ Run_Tests (all_functions.Helper.To_Ref (Ref));
+ end if;
end Server;
============================================================
--- projects/src_corba_messaging.gpr adfca3622791dded2380104447230c3e6c83365a
+++ projects/src_corba_messaging.gpr 74a443a8db0f0c3909c5e3f81ce30e059cbe7cf9
@@ -32,8 +32,11 @@ project src_corba_messaging is
Dir := "src/corba/messaging";
Obj_Dir := Common.Build_Dir & Dir;
for Object_Dir use Obj_Dir;
- for Source_Dirs use (Obj_Dir, Common.Source_Dir & Dir);
+ for Source_Dirs use (Obj_Dir);
+ -- for Source_Dirs use (Obj_Dir, Common.Source_Dir & Dir);
+ -- Only generated sources, no sources from repository
+
for Library_Name use "polyorb-corba-messaging";
for Library_Dir use Common.Build_Dir & "lib";
for Library_ALI_Dir use Common.Build_Dir & "ali/src_corba_messaging";
============================================================
--- projects/src_corba_security_gssup.gpr 3775ef8415c97edf50784471bb4b1c0af807983d
+++ projects/src_corba_security_gssup.gpr 2fd927e162b78cb374120fc5dcb12f9d63e15142
@@ -32,8 +32,11 @@ project src_corba_security_gssup is
Dir := "src/corba/security/gssup";
Obj_Dir := Common.Build_Dir & Dir;
for Object_Dir use Obj_Dir;
- for Source_Dirs use (Obj_Dir, Common.Source_Dir & Dir);
+ for Source_Dirs use (Obj_Dir);
+ -- for Source_Dirs use (Obj_Dir, Common.Source_Dir & Dir);
+ -- Only generated sources, no sources from repository
+
for Library_Name use "polyorb-corba-security-gssup";
for Library_Dir use Common.Build_Dir & "lib";
for Library_ALI_Dir use Common.Build_Dir & "ali/src_corba_security_gssup";
============================================================
--- src/aws/aws-client.adb 838f3a067b3875435fb5bb55e524695c8fccfe1b
+++ src/aws/aws-client.adb 150620fed148ad818edecc25df56b2bb50a66236
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2000-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 2000-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -559,7 +559,7 @@ package body AWS.Client is
(PolyORB.Any.Get_Aggregate_Element
(PolyORB_Request.Result.Argument,
PolyORB.Any.TypeCode.TC_Octet,
- Unsigned_Long (Index)));
+ Index));
begin
Byte_Stream (Stream_Element_Offset (Index))
:= Stream_Element (Element);
@@ -654,7 +654,7 @@ package body AWS.Client is
if URI /= No_Data then
declare
Overriding_URI : URL.Object := Parse (URI);
- Parameters : Unbounded_String :=
+ Parameters : constant Unbounded_String :=
To_Unbounded_String (URL.Query (Overriding_URI));
begin
Connection.Host_URL := Overriding_URI;
@@ -664,7 +664,7 @@ package body AWS.Client is
end;
else
declare
- Parameters : Unbounded_String :=
+ Parameters : constant Unbounded_String :=
To_Unbounded_String (URL.Query (Connection.Host_URL));
begin
Handle_Request (Connection, "GET", Parameters, Result);
@@ -1013,7 +1013,7 @@ package body AWS.Client is
if URI /= No_Data then
declare
Overriding_URI : URL.Object := Parse (URI);
- Parameters : Unbounded_String :=
+ Parameters : constant Unbounded_String :=
To_Unbounded_String (URL.Query (Overriding_URI));
begin
Connection.Host_URL := Overriding_URI;
@@ -1023,7 +1023,7 @@ package body AWS.Client is
end;
else
declare
- Parameters : Unbounded_String :=
+ Parameters : constant Unbounded_String :=
To_Unbounded_String (URL.Query (Connection.Host_URL));
begin
Handle_Request (Connection, "HEAD", Parameters, Result);
============================================================
--- src/aws/aws-response.adb 040d2a77dc3bdd5d6c031b2dc66989afdaf79f24
+++ src/aws/aws-response.adb 6da2fe31047bdd8c53f1f92ddaea0fdce403d7e2
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2000-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2000-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -109,7 +109,7 @@ package body AWS.Response is
function Authentication (D : Data) return Authentication_Mode is
use AWS.Headers;
- Auth_Values : VString_Array
+ Auth_Values : constant VString_Array
:= Get_Values (D.Header, Messages.WWW_Authenticate_Token);
begin
if Auth_Values'Length = 1 then
@@ -126,7 +126,7 @@ package body AWS.Response is
function Authentication_Stale (D : Data) return Boolean is
use AWS.Headers;
- Auth_Values : VString_Array
+ Auth_Values : constant VString_Array
:= Get_Values (D.Header, Messages.WWW_Authenticate_Token);
begin
for J in Auth_Values'Range loop
============================================================
--- src/aws/aws-server-get_status.adb d8c9d8a329c84be4d6d0573108331028cd6ef639
+++ src/aws/aws-server-get_status.adb 91b67eeb8d5a8ae55df18491baa24ea1e6185f4d
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2000-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2000-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -205,8 +205,6 @@ function AWS.Server.Get_Status (Server :
-- Assoc ("ACTIVITY_TIME_STAMP_V", Activity_Time_Stamp));
-- end Slot_Table;
- use type Templates.Translate_Table;
-
Admin_URI : constant String := CNF.Admin_URI (Server.Properties);
Translations : constant Templates.Translate_Table
============================================================
--- src/aws/aws-server-servants.adb 72e723e3770c532deacc6225987ed3c43f11db51
+++ src/aws/aws-server-servants.adb 9c05b84d32454f1e40e25a23ac391435d5dcee6d
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2006-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 2006-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -316,7 +316,7 @@ package body AWS.Server.Servants is
pragma Debug (C, O ("Integrate_Data:"
& " byte sequence response (file)"));
declare
- Sq_Type : PolyORB.Any.TypeCode.Local_Ref
+ Sq_Type : constant PolyORB.Any.TypeCode.Local_Ref
:= PolyORB.Any.TypeCode.TC_Sequence;
begin
PolyORB.Any.TypeCode.Add_Parameter
@@ -421,7 +421,7 @@ package body AWS.Server.Servants is
---------------------
function Execute_Servant
- (S : access Web_Servant;
+ (S : not null access Web_Servant;
Msg : Components.Message'Class)
return Components.Message'Class
is
@@ -457,7 +457,7 @@ package body AWS.Server.Servants is
end Execute_Servant;
function Execute_Servant
- (S : access SOAP_Servant;
+ (S : not null access SOAP_Servant;
Msg : Components.Message'Class)
return Components.Message'Class
is
============================================================
--- src/aws/aws-server-servants.ads 013f8761fc321fad59453bd10d107dadb536fa6d
+++ src/aws/aws-server-servants.ads eda501536731939e6e9631d016f30ee07380663d
@@ -1,3 +1,29 @@
+------------------------------------------------------------------------------
+-- --
+-- POLYORB COMPONENTS --
+-- --
+-- A W S . S E R V E R . S E R V A N T S --
+-- --
+-- S p e c --
+-- --
+-- Copyright (C) 2009, Free Software Foundation, Inc. --
+-- --
+-- PolyORB is free software; you can redistribute it and/or modify it --
+-- under terms of the GNU General Public License as published by the Free --
+-- Software Foundation; either version 2, or (at your option) any later --
+-- version. PolyORB is distributed in the hope that it will be useful, --
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- --
+-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public --
+-- License for more details. You should have received a copy of the GNU --
+-- General Public License distributed with PolyORB; see file COPYING. If --
+-- not, write to the Free Software Foundation, 51 Franklin Street, Fifth --
+-- Floor, Boston, MA 02111-1301, USA. --
+-- --
+-- PolyORB is maintained by AdaCore --
+-- (email: sales@adacore.com) --
+-- --
+------------------------------------------------------------------------------
+
with PolyORB.Components;
use PolyORB;
@@ -14,12 +40,12 @@ private
type SOAP_Servant_Acc is access all SOAP_Servant;
function Execute_Servant
- (S : access Web_Servant;
+ (S : not null access Web_Servant;
Msg : Components.Message'Class)
return Components.Message'Class;
function Execute_Servant
- (S : access SOAP_Servant;
+ (S : not null access SOAP_Servant;
Msg : Components.Message'Class)
return Components.Message'Class;
============================================================
--- src/aws/aws-server.adb b609500400a285ff38399d201dc8b8d09bcbbb75
+++ src/aws/aws-server.adb cf9383f1e6badb5d5ba1cd09de64170208d63da7
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2000-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 2000-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -119,7 +119,7 @@ package body AWS.Server is
procedure Run is
begin
pragma Debug (C, O ("AWS.Server.Run"));
- PolyORB.ORB.Run (PolyORB.Setup.The_ORB, May_Poll => True);
+ PolyORB.ORB.Run (PolyORB.Setup.The_ORB, May_Exit => False);
end Run;
--------------
============================================================
--- src/aws/soap-client.adb d4c6261e2cdb7c2b5ccd976cdcdaa3abe980e321
+++ src/aws/soap-client.adb 579b769eee9acaf5ccdea53a5cdfd2717cd1754b
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2000-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 2000-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -80,7 +80,8 @@ package body SOAP.Client is
PolyORB_Request : PolyORB.Requests.Request_Access;
PolyORB_Response : PolyORB.Any.NamedValue;
- SOAP_Params : SOAP.Parameters.List := SOAP.Message.Parameters (P);
+ SOAP_Params : constant SOAP.Parameters.List
+ := SOAP.Message.Parameters (P);
Reference : constant String :=
Protocol (Host_URL (Connection.all))
& "://"
@@ -96,7 +97,7 @@ package body SOAP.Client is
for Index in 1 .. SOAP.Parameters.Argument_Count (SOAP_Params) loop
Add_Item (Args, SOAP.Types.To_NamedValue
- (Parameters.Argument (SOAP_Params, Positive (Index))));
+ (Parameters.Argument (SOAP_Params, Index)));
end loop;
Create_Request (Target => PolyORB.References.URI.String_To_Object
============================================================
--- src/aws/soap-parameters.adb 68ce4a373a9936776216cb24b473c92ff1fefc70
+++ src/aws/soap-parameters.adb a0f72e54c592de410fe4f645710df9ca7d5db6b5
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2000-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2000-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -119,7 +119,7 @@ package body SOAP.Parameters is
-----------------
procedure Check_Array (P : List; Name : String) is
- O : Types.Object'Class := Argument (P, Name);
+ O : constant Types.Object'Class := Argument (P, Name);
begin
if O not in Types.SOAP_Array then
Exceptions.Raise_Exception
@@ -134,7 +134,7 @@ package body SOAP.Parameters is
------------------
procedure Check_Base64 (P : List; Name : String) is
- O : Types.Object'Class := Argument (P, Name);
+ O : constant Types.Object'Class := Argument (P, Name);
begin
if O not in Types.SOAP_Base64 then
Exceptions.Raise_Exception
@@ -149,7 +149,7 @@ package body SOAP.Parameters is
-------------------
procedure Check_Boolean (P : List; Name : String) is
- O : Types.Object'Class := Argument (P, Name);
+ O : constant Types.Object'Class := Argument (P, Name);
begin
if O not in Types.XSD_Boolean then
Exceptions.Raise_Exception
@@ -164,7 +164,7 @@ package body SOAP.Parameters is
-----------------
procedure Check_Float (P : List; Name : String) is
- O : Types.Object'Class := Argument (P, Name);
+ O : constant Types.Object'Class := Argument (P, Name);
begin
if O not in Types.XSD_Float then
Exceptions.Raise_Exception
@@ -179,7 +179,7 @@ package body SOAP.Parameters is
-------------------
procedure Check_Integer (P : List; Name : String) is
- O : Types.Object'Class := Argument (P, Name);
+ O : constant Types.Object'Class := Argument (P, Name);
begin
if O not in Types.XSD_Integer then
Exceptions.Raise_Exception
@@ -194,7 +194,7 @@ package body SOAP.Parameters is
----------------
procedure Check_Null (P : List; Name : String) is
- O : Types.Object'Class := Argument (P, Name);
+ O : constant Types.Object'Class := Argument (P, Name);
begin
if O not in Types.XSD_Null then
Exceptions.Raise_Exception
@@ -209,7 +209,7 @@ package body SOAP.Parameters is
------------------
procedure Check_Record (P : List; Name : String) is
- O : Types.Object'Class := Argument (P, Name);
+ O : constant Types.Object'Class := Argument (P, Name);
begin
if O not in Types.SOAP_Record then
Exceptions.Raise_Exception
============================================================
--- src/aws/soap-types.adb 8fdd08efd85bea80d4cb09102e7fc581c24cfa13
+++ src/aws/soap-types.adb 6357a1fe6db014842e5fb40183540316c27b2a33
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2000-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 2000-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -901,7 +901,7 @@ package body SOAP.Types is
declare
use Ada.Streams;
- Sq_Type : PolyORB.Any.TypeCode.Local_Ref
+ Sq_Type : constant PolyORB.Any.TypeCode.Local_Ref
:= PolyORB.Any.TypeCode.TC_Sequence;
Byte_Stream : constant Ada.Streams.Stream_Element_Array
:= AWS.Translator.Base64_Decode (V (SOAP_Base64 (Obj)));
@@ -930,8 +930,8 @@ package body SOAP.Types is
elsif Obj in SOAP_Array then
declare
use PolyORB.Any;
- Ar_Type : PolyORB.Any.TypeCode.Local_Ref
- := PolyORB.Any.TypeCode.TC_Array;
+ Ar_Type : constant PolyORB.Any.TypeCode.Local_Ref :=
+ PolyORB.Any.TypeCode.TC_Array;
begin
pragma Debug (C, O ("To_Any: SOAP_Array: nb of elements= "
@@ -944,8 +944,8 @@ package body SOAP.Types is
PolyORB.Any.TypeCode.Add_Parameter
(Ar_Type,
To_Any
- (Get_Unwound_Type
- (To_Any (-(SOAP_Array (Obj).O (SOAP_Array (Obj).O'First))))));
+ (TypeCode.To_Ref (Get_Unwound_Type
+ (To_Any (-(SOAP_Array (Obj).O (SOAP_Array (Obj).O'First)))))));
-- We first build the typecode.
@@ -965,8 +965,8 @@ package body SOAP.Types is
declare
use PolyORB.Any;
- St_Type : PolyORB.Any.TypeCode.Local_Ref
- := PolyORB.Any.TypeCode.TC_Struct;
+ St_Type : constant PolyORB.Any.TypeCode.Local_Ref :=
+ PolyORB.Any.TypeCode.TC_Struct;
begin
PolyORB.Any.TypeCode.Add_Parameter
(St_Type,
@@ -978,12 +978,13 @@ package body SOAP.Types is
("repository_id")));
for K in SOAP_Record (Obj).O'Range loop
PolyORB.Any.TypeCode.Add_Parameter
- (St_Type, To_Any (Get_Unwound_Type
- (To_Any (-(SOAP_Record (Obj).O (K))))));
+ (St_Type, To_Any (TypeCode.To_Ref (Get_Unwound_Type
+ (To_Any (-(SOAP_Record (Obj).O (K)))))));
-- thus we get the type
declare
- The_Element : Object'Class := -(SOAP_Record (Obj).O (K));
+ The_Element : constant Object'Class :=
+ -(SOAP_Record (Obj).O (K));
begin
PolyORB.Any.TypeCode.Add_Parameter
(St_Type, PolyORB.Any.To_Any
@@ -1111,7 +1112,7 @@ package body SOAP.Types is
:= PolyORB.Any.From_Any
(PolyORB.Any.Get_Aggregate_Element
(Item, PolyORB.Any.TypeCode.TC_Octet,
- Unsigned_Long (Index)));
+ Index));
begin
Byte_Stream (Stream_Element_Offset (Index))
:= Stream_Element (Element);
@@ -1168,7 +1169,7 @@ package body SOAP.Types is
begin
for Index in 1 .. Number_Of_Elements loop
declare
- Element : PolyORB.Any.Any :=
+ Element : constant PolyORB.Any.Any :=
(PolyORB.Any.Get_Aggregate_Element
(Item, PolyORB.Any.TypeCode.Member_Type
(PolyORB.Any.Get_Type (Item), Index - 1),
============================================================
--- src/corba/portableserver.adb 9e19d246711ffac86ebc80ba5b20832ffb974956
+++ src/corba/portableserver.adb d4a8dd7c9278a39b665b62ab5f09c9cd7de4616d
@@ -173,11 +173,15 @@ package body PortableServer is
-- True and the R.Exception_Info Any is non-empty. We set out
-- arguments only if no exception was raised.
+ -- Note: At this point the stack frame of the skel has been exited
+ -- and the shadow any's for IN mode arguments now have dangling
+ -- content pointers. In particular this means that any call to
+ -- Image (R.Out_Args) is likely to fail on such arguments.
+
if R.Arguments_Called
and then
PolyORB.Any.Is_Empty (R.Exception_Info)
then
-
pragma Debug
(C, O ("Execute_Servant: executed, setting out args"));
Set_Out_Args (R, Error);
============================================================
--- src/dsa/polyorb-termination_manager-bootstrap.adb 9db60215236e9cc8a3e9b205fd5bc10f04bfd6d6
+++ src/dsa/polyorb-termination_manager-bootstrap.adb 359c9bc7bb5d26415c2e12e9ec422973aaccdcbb
@@ -70,11 +70,11 @@ package body PolyORB.Termination_Manager
-- Stub Types managing --
-------------------------
- type RACW_Tick_Stub_Type_Access is
+ type Term_Manager_Stub_Access is
access all Term_Manager_Access'Stub_Type;
-- We have to consider three views of the same type:
- -- * RACW_Tick_Stub_Type_Access: the type returned by RACW'Stub_Type
+ -- * Term_Manager_Stub_Access: the type returned by RACW'Stub_Type
-- * RACW_Stub_Type_Access: a general stub type used by S-PolInt
-- * Term_Manager_Access : the type we use in the termination manager
-- We define some Unchecked_Conversions between them:
@@ -84,14 +84,14 @@ package body PolyORB.Termination_Manager
-- To disable "possible aliasing problem" warnings which do not apply in
-- this case.
- function RACW_Tick_To_RACW_Access is
+ function To_RACW_Stub_Access is
new Ada.Unchecked_Conversion
- (Source => RACW_Tick_Stub_Type_Access,
+ (Source => Term_Manager_Stub_Access,
Target => RACW_Stub_Type_Access);
- function RACW_Access_To_TM_Access is
+ function To_TM_Access is
new Ada.Unchecked_Conversion
- (Source => RACW_Stub_Type_Access,
+ (Source => System.Address,
Target => Term_Manager_Access);
pragma Warnings (On);
@@ -146,6 +146,7 @@ package body PolyORB.Termination_Manager
NK := DSA_Node;
Ref := Note.TM_Ref;
+
else
pragma Debug (C, O ("Extracting TM ref from Client BO"));
@@ -177,7 +178,7 @@ package body PolyORB.Termination_Manager
end if;
- pragma Debug (C, O ("Extracted Ref is:" & Image (Ref)));
+ pragma Debug (C, O ("-> TM: " & Image (Ref)));
end Extract_TM_Reference_From_BO;
---------------
@@ -353,32 +354,16 @@ package body PolyORB.Termination_Manager
-- Ref_To_Term_Manager_Access --
--------------------------------
- function Ref_To_Term_Manager_Access (R : References.Ref)
- return Term_Manager_Access
+ function Ref_To_Term_Manager_Access
+ (R : References.Ref) return Term_Manager_Access
is
- The_Stub : constant RACW_Tick_Stub_Type_Access
- := new Term_Manager_Access'Stub_Type;
- -- A Stub of Term Manager type
-
- The_Same_Stub : RACW_Stub_Type_Access;
begin
-
- -- We convert it to the general S-Pol_Int stub type so we can access the
- -- target Field.
-
- The_Same_Stub := RACW_Tick_To_RACW_Access (The_Stub);
-
- -- We manually increment R reference counter since we don't want the
- -- reference finalized while we got an RACW using it.
-
- Smart_Pointers.Inc_Usage
- (References.Entity_Of (R));
-
- -- Finally, we assign the reference to the Stub target field
-
- The_Same_Stub.Target := References.Entity_Of (R);
-
- return RACW_Access_To_TM_Access (The_Same_Stub);
+ return To_TM_Access
+ (System.Partition_Interface.Get_RACW
+ (Ref => R,
+ Stub_Tag => Term_Manager_Access'Stub_Type'Tag,
+ Is_RAS => False,
+ Asynchronous => False));
end Ref_To_Term_Manager_Access;
-----------------------
============================================================
--- src/dsa/polyorb-termination_manager.adb e6561bc54d9d8be42d767a90fa216405dff7ab00
+++ src/dsa/polyorb-termination_manager.adb 3829a151ef4a7e13a919d0979b77865e9ff53389
@@ -162,7 +162,7 @@ package body PolyORB.Termination_Manager
All_Binding_Objects :
while not Last (It) loop
- pragma Debug (C, O ("Calling Action on a neighbour..."));
+ pragma Debug (C, O ("Calling Action on neighbour..."));
declare
use Ada.Exceptions;
@@ -181,11 +181,9 @@ package body PolyORB.Termination_Manager
Status := False;
when Non_DSA_Node =>
+ -- Non-DSA nodes do not take part in the global decision
- -- Non DSA nodes do not take part in the global decision
-
null;
-
end case;
-- XXX A server only, no tasking partition, will not take part
@@ -214,24 +212,22 @@ package body PolyORB.Termination_Manager
is
Result : Request_Status;
begin
-
Enter (Critical_Section);
+ pragma Debug (C, O ("Check_Stamp: stamp =" & S'Img
+ & ", Current =" & The_TM.Current_Stamp'Img));
if S < The_TM.Current_Stamp then
-
-- If stamp is older than current stamp, this is an outdated message
Result := Outdated;
elsif S = The_TM.Current_Stamp then
-
-- If stamp is equal to the current stamp then the request is not
- -- from a Father node.
+ -- from a father node.
Result := Not_From_Father;
elsif S > The_TM.Current_Stamp then
-
-- If stamp is more recent than current stamp, this is a new wave,
-- update the current stamp.
@@ -240,9 +236,8 @@ package body PolyORB.Termination_Manager
end if;
Leave (Critical_Section);
-
+ pragma Debug (C, O ("Check_Stamp: -> " & Result'Img));
return Result;
-
end Check_Stamp;
---------------
@@ -265,16 +260,15 @@ package body PolyORB.Termination_Manager
procedure In_Initiator_Loop is
begin
-
+ -- ??? This should be tested only once, not at each term loop iteration
if The_TM.Termination_Policy = Local_Termination then
pragma Debug (C, O ("A partition cannot be the initiator"
&" and have a local termination policy."));
raise Program_Error;
end if;
- if Is_Locally_Terminated (The_TM.Non_Terminating_Tasks)
- and then Is_Terminated (The_TM, Get_Stamp + 1)
- then
+ pragma Debug (C, O ("In_Initiator_Loop: start wave"));
+ if Is_Terminated (The_TM, Get_Stamp + 1) then
The_TM.Terminated := Terminate_Now (The_TM, Get_Stamp + 1);
end if;
end In_Initiator_Loop;
@@ -319,7 +313,7 @@ package body PolyORB.Termination_Manager
(The_ORB.ORB_Controller, Expected_Running_Tasks);
Leave_ORB_Critical_Section (The_ORB.ORB_Controller);
exit when Result;
- Relative_Delay (The_TM.Time_Between_Waves);
+ Relative_Delay (The_TM.Time_Between_Waves / 10);
end loop;
pragma Debug (C, O ("Is_Locally_Terminated: leave, Result = "
@@ -334,33 +328,36 @@ package body PolyORB.Termination_Manager
function Is_Terminated (TM : access Term_Manager; Stamp : Stamp_Type)
return Boolean
is
- Local_Decision : Boolean := True;
- Neighbours_Decision : Boolean := True;
+ Local_Decision : Boolean := True;
+ Neighbours_Decision : Boolean := True;
Non_Terminating_Tasks : Natural;
begin
-
case Check_Stamp (Stamp) is
when Not_From_Father =>
+ -- If the request is not from a father node, we immediatly answer
+ -- True as this does not change the computation.
+
return True;
- -- If the request is not from a Father node, we immediatly answer
- -- True as this does not change the computation.
+ when Outdated =>
+ return False;
- when Outdated =>
- return False;
- when Valid =>
+ when Valid =>
null;
pragma Debug (C, O ("New wave (Is_Terminated) received"));
end case;
-- Compute the number of expected non terminating tasks
+ pragma Debug (C, O ("TM.Is_Initiator = " & TM.Is_Initiator'Img));
+ pragma Debug (C, O ("TM.Non_Terminating_Tasks ="
+ & TM.Non_Terminating_Tasks'Img));
+
if not TM.Is_Initiator then
-- If the termination manager is not the initiator, local termination
- -- will be checked inside a request job so one of the orb tasks will
- -- be running at that time, and we have one more non terminating
- -- task.
+ -- will be checked inside a request job so one of the ORB tasks will
+ -- be running at that time, so we have one more non terminating task.
Non_Terminating_Tasks := TM.Non_Terminating_Tasks + 1;
else
@@ -373,14 +370,14 @@ package body PolyORB.Termination_Manager
& " remaining tasks"));
if not Is_Locally_Terminated (Non_Terminating_Tasks) then
- pragma
- Debug (O ("Node is not locally terminated, refusing termination."));
+ pragma Debug
+ (C, O ("Node is not locally terminated, refusing termination."));
Local_Decision := False;
end if;
if Is_Active then
- pragma
- Debug (O ("Node is active (has sent messages since the last wave),"
+ pragma Debug
+ (C, O ("Node is active (has sent messages since the last wave),"
& " refusing termination."));
Local_Decision := False;
end if;
@@ -394,12 +391,13 @@ package body PolyORB.Termination_Manager
Neighbours_Decision :=
Call_On_Neighbours (Do_Is_Terminated'Access, Stamp);
+ pragma Debug (C, O ("Is_Terminated: Local " & Local_Decision'Img
+ & " / Neighbours " & Neighbours_Decision'Img));
-- Reset Activity counter
Reset_Activity;
return Local_Decision and then Neighbours_Decision;
-
end Is_Terminated;
-----------
@@ -414,7 +412,6 @@ package body PolyORB.Termination_Manager
is
Thread_Acc : Thread_Access;
begin
-
Create (Critical_Section);
TM.Time_Between_Waves := Time_Between_Waves;
@@ -427,13 +424,15 @@ package body PolyORB.Termination_Manager
TM.Non_Terminating_Tasks := TM.Non_Terminating_Tasks + 1;
+ pragma Debug (C, O ("Starting TM: Is_Initiator = " & Initiator'Img
+ & " / NTT =" & TM.Non_Terminating_Tasks'Img));
+
Thread_Acc := Run_In_Task
(TF => Get_Thread_Factory,
Default_Priority => System.Any_Priority'First,
P => Termination_Loop'Access);
pragma Assert (Thread_Acc /= null);
-
end Start;
----------------------
@@ -480,9 +479,12 @@ package body PolyORB.Termination_Manager
case Check_Stamp (Stamp) is
when Valid =>
+ pragma Debug
+ (C, O ("Terminate_Now: received wave with valid time stamp"));
null;
- pragma Debug (C, O ("New wave (Terminate_Now) received"));
when others =>
+ pragma Debug
+ (C, O ("Terminate_Now: received wave with junk time stamp"));
return True;
end case;
============================================================
--- src/dsa/s-parint.adb f7d9aa230b9d405eabaef038bce2fa5b94f2ed2f
+++ src/dsa/s-parint.adb d513233ce0727c06c687742df487e374fbb16886
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2004-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 2004-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -778,9 +778,12 @@ package body System.Partition_Interface
return Wide_Character (PolyORB.Types.Wchar'(From_Any (Item)));
end FA_WC;
- function FA_String (Item : PolyORB.Any.Any) return String is
+ function FA_String
+ (Item : PolyORB.Any.Any) return Ada.Strings.Unbounded.Unbounded_String
+ is
begin
- return PolyORB.Types.To_String (From_Any (Item));
+ return Ada.Strings.Unbounded.Unbounded_String
+ (PolyORB.Types.String'(From_Any (Item)));
end FA_String;
---------------------------
@@ -1269,7 +1272,7 @@ package body System.Partition_Interface
-- We leak memory here each time we receive a new unique value of a
-- remote access to classwide or remote access to subprogram type.
- Answer.Target := Handler.Target;
+ Answer.Target := Handler.Target;
Answer.Asynchronous := Handler.Asynchronous;
Objects_HTable.Set (Answer, Answer);
@@ -2029,7 +2032,7 @@ package body System.Partition_Interface
PATC.Add_Parameter
(Default_Servant.Obj_TypeCode, To_Any (PName));
PATC.Add_Parameter
- (Default_Servant.Obj_TypeCode, TA_String ("DSA:" & Name & ":1.0"));
+ (Default_Servant.Obj_TypeCode, TA_Std_String ("DSA:" & Name & ":1.0"));
if RACW_POA_Config = null then
return;
@@ -2196,10 +2199,16 @@ package body System.Partition_Interface
return To_Any (PolyORB.Types.Wchar (Item));
end TA_WC;
- function TA_String (S : String) return PolyORB.Any.Any is
+ function TA_String
+ (S : Ada.Strings.Unbounded.Unbounded_String) return PolyORB.Any.Any is
begin
+ return PolyORB.Any.To_Any (PolyORB.Types.String (S));
+ end TA_String;
+
+ function TA_Std_String (S : String) return PolyORB.Any.Any is
+ begin
return PolyORB.Any.To_Any (PolyORB.Types.To_PolyORB_String (S));
- end TA_String;
+ end TA_Std_String;
-------------
-- To_Name --
============================================================
--- src/dsa/s-parint.ads c4537630cb3914fb9c7205d8668cef3eb0da14db
+++ src/dsa/s-parint.ads 9890673a72e8d30ca1710f2ec86617802d5d28cb
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2004-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 2004-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -35,6 +35,7 @@ with Ada.Streams;
with Ada.Exceptions;
with Ada.Streams;
+with Ada.Strings.Unbounded;
with Ada.Tags;
with PolyORB.Any;
@@ -67,7 +68,7 @@ package System.Partition_Interface is
DSA_Implementation : constant DSA_Implementation_Name := PolyORB_DSA;
-- Identification of this DSA implementation variant
- PCS_Version : constant := 2;
+ PCS_Version : constant := 3;
-- Version of the PCS API (for Exp_Dist consistency check).
-- This version number is matched against Gnatvsn.PCS_Version_Number to
-- ensure that the versions of Exp_Dist and the PCS are consistent.
@@ -411,16 +412,11 @@ package System.Partition_Interface is
function FA_SSU (Item : Any) return Short_Short_Unsigned;
function FA_WC (Item : Any) return Wide_Character;
- function FA_String (Item : Any) return String;
-
- function FA_ObjRef
- (Item : Any)
- return PolyORB.References.Ref
+ function FA_String
+ (Item : Any) return Ada.Strings.Unbounded.Unbounded_String;
+ function FA_ObjRef (Item : Any) return PolyORB.References.Ref
renames PolyORB.Any.ObjRef.From_Any;
--- function TA_AD (X) return Any;
--- function TA_AS (X) return Any;
-
function TA_A (Item : DSAT.Any_Container_Ptr) return Any;
function TA_B (Item : Boolean) return Any;
function TA_C (Item : Character) return Any;
@@ -439,13 +435,11 @@ package System.Partition_Interface is
function TA_SSI (Item : Short_Short_Integer) return Any;
function TA_SSU (Item : Short_Short_Unsigned) return Any;
function TA_WC (Item : Wide_Character) return Any;
-
- function TA_String (S : String) return Any;
-
- function TA_ObjRef (R : PolyORB.References.Ref)
- return Any
+ function TA_String (S : Ada.Strings.Unbounded.Unbounded_String) return Any;
+ function TA_ObjRef (R : PolyORB.References.Ref) return Any
renames PolyORB.Any.ObjRef.To_Any;
+ function TA_Std_String (S : String) return Any;
function TA_TC (TC : PolyORB.Any.TypeCode.Local_Ref) return Any
renames PolyORB.Any.To_Any;
@@ -626,10 +620,15 @@ package System.Partition_Interface is
Val : Any)
renames PolyORB.Requests.Set_Result;
+ procedure Request_Destroy
+ (Self : in out PolyORB.Requests.Request_Access)
+ renames PolyORB.Requests.Destroy_Request;
+
Asynchronous_P_To_Sync_Scope : constant array (Boolean)
- of PolyORB.Requests.Flags
- := (False => PolyORB.Requests.Sync_With_Target,
- True => PolyORB.Requests.Sync_With_Transport);
+ of PolyORB.Requests.Flags :=
+ (False => PolyORB.Requests.Sync_With_Target,
+ True => PolyORB.Requests.Sync_With_Transport);
+
-- Request_Flags to use for a request according to whether or not the call
-- is asynchronous.
============================================================
--- src/giop/gen_codeset.adb 8f9316008a2ce5f81ee1d9855bc67762393aa0c8
+++ src/giop/gen_codeset.adb 5d2d57b422427a3c8599bfd97f4f2f67ced8cbfa
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2004-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2004-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -172,20 +172,22 @@ procedure Gen_Codeset is
for J in Code_Set_Table.First .. Code_Set_Table.Last loop
declare
Info : Code_Set_Info renames Code_Set_Table.Table (J);
- Length : constant Natural
- := Info.Character_Set_Last - Info.Character_Set_First + 1;
- Index : constant Natural
- := Find (Info.Character_Set_First, Info.Character_Set_Last);
+ Length : constant Natural :=
+ Info.Character_Set_Last - Info.Character_Set_First + 1;
+ Index : constant Natural :=
+ Find
+ (Info.Character_Set_First, Info.Character_Set_Last);
First : constant Natural := Aux_Table.Last + 1;
begin
if Index = 0 then
- for J in Info.Character_Set_First
- .. Info.Character_Set_Last
+ for J in Info.Character_Set_First .. Info.Character_Set_Last
loop
Aux_Table.Append (Character_Sets_Table.Table (J));
end loop;
+
Info.Character_Set_First := First;
Info.Character_Set_Last := First + Length - 1;
+
else
Info.Character_Set_First := Index;
Info.Character_Set_Last := Index + Length - 1;
@@ -210,42 +212,63 @@ procedure Gen_Codeset is
procedure Put is new Integer_Put (Integer);
begin
Put_Line ("-- AUTOMATICALLY GENERATED, DO NOT EDIT!");
+ New_Line;
+
+ -- Disable style checks (N), and set maximum line length to the largest
+ -- allowed value (M32766).
+
+ Put_Line ("pragma Style_Checks (""NM32766"");");
Put_Line ("private package " & Pkg_Name & " is");
New_Line;
Put_Line
(" Info : constant array (Positive range <>)"
- & " of Code_Set_Info_Record");
- Put (" := (");
+ & " of Code_Set_Info_Record :=");
+ Put (" (");
for J in 1 .. Code_Set_Table.Last loop
declare
Info : Code_Set_Info renames Code_Set_Table.Table (J);
Buf : String (1 .. 13);
+
+ procedure Put_Description;
+ -- Output Ada comment with description of current entry
+
+ procedure Put_Description is
+ begin
+ Put (" -- ");
+ for J in Info.Description_First .. Info.Description_Last loop
+ Put (Description_Table.Table (J));
+ end loop;
+ New_Line;
+ end Put_Description;
+
begin
Put (Buf, Info.Code_Set);
Put ('(');
Put (Buf (2 .. 13));
Put (',');
- Put (Info.Character_Set_First, 4);
+ Put (Info.Character_Set_First, 3);
Put (',');
- Put (Info.Character_Set_Last, 4);
+ Put (Info.Character_Set_Last, 3);
Put (')');
- end;
- if J /= Code_Set_Table.Last then
- Put (',');
- New_Line;
- Put (" ");
- else
- Put_Line (");");
- end if;
+ if J /= Code_Set_Table.Last then
+ Put (", ");
+ Put_Description;
+ Put (" ");
+
+ else
+ Put (");");
+ Put_Description;
+ end if;
+ end;
end loop;
New_Line;
- Put_Line (" Character_Sets : constant Character_Set_Id_Array");
- Put (" := (");
+ Put_Line (" Character_Sets : constant Character_Set_Id_Array :=");
+ Put (" (");
for J in 1 .. Character_Sets_Table.Last loop
declare
@@ -259,7 +282,7 @@ procedure Gen_Codeset is
Put (",");
if J mod 7 = 0 then
New_Line;
- Put (" ");
+ Put (" ");
else
Put (' ');
end if;
============================================================
--- src/giop/polyorb-giop_p-code_sets-converters-unicode.adb 9aa280787f528d8f1c8273b66502b6a571849454
+++ src/giop/polyorb-giop_p-code_sets-converters-unicode.adb 91a38560818af4822b1a4a6274c59373862c586c
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2006-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -229,15 +229,16 @@ package body PolyORB.GIOP_P.Code_Sets.Co
use PolyORB.Parameters;
- -- The following parameters force the registration of
- -- additional "fallback" code sets for char and wchar
- -- data. This is useful for interoperation with ORB
- -- with broken char sets negotiation support.
+ -- The following parameters force the registration of additional
+ -- "fallback" code sets for char and wchar data. This is useful for
+ -- interoperation with ORB with broken char sets negotiation support.
- Char_Fallback : constant Boolean
- := Get_Conf ("giop", "giop.add_char_fallback_code_set", False);
- Wide_Char_Fallback : constant Boolean
- := Get_Conf ("giop", "giop.add_wchar_fallback_code_set", False);
+ Char_Fallback : constant Boolean := Get_Conf
+ ("giop", "giop.add_char_fallback_code_set",
+ Default => False);
+ Wide_Char_Fallback : constant Boolean := Get_Conf
+ ("giop", "giop.add_wchar_fallback_code_set",
+ Default => False);
begin
-- Register supported char code sets (UTF-8)
@@ -323,11 +324,11 @@ package body PolyORB.GIOP_P.Code_Sets.Co
if C.GIOP_1_2_Mode then
Marshall (Buffer, Octet'(4));
- Marshall (Buffer, BOM, 1);
- Marshall (Buffer, Unsigned_Short (Wchar'Pos (Data)), 1);
+ Unaligned_Unsigned_Short.Marshall (Buffer, BOM);
+ Unaligned_Unsigned_Short.Marshall (Buffer, Wchar'Pos (Data));
else
- Marshall (Buffer, Unsigned_Short (Wchar'Pos (Data)), 2);
+ Marshall (Buffer, Unsigned_Short (Wchar'Pos (Data)));
end if;
end Marshall;
@@ -338,18 +339,15 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Error : in out Errors.Error_Container)
is
Equiv : constant Wide_String := To_Wide_String (Data);
- Align : Alignment_Type;
begin
if C.GIOP_1_2_Mode then
Marshall (Buffer, Unsigned_Long (Equiv'Length + 1) * 2);
- Marshall (Buffer, BOM, 1);
- Align := 1;
+ Marshall (Buffer, BOM);
else
Marshall (Buffer, Unsigned_Long (Equiv'Length + 2));
- Marshall (Buffer, BOM, 2);
- Align := 2;
+ Marshall (Buffer, BOM);
end if;
for J in Equiv'Range loop
@@ -366,12 +364,11 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Marshall
(Buffer,
- Unsigned_Short (Wide_Character'Pos (Equiv (J))),
- Align);
+ Unsigned_Short'(Wide_Character'Pos (Equiv (J))));
end loop;
if not C.GIOP_1_2_Mode then
- Marshall (Buffer, Unsigned_Short (0), 2);
+ Marshall (Buffer, Unsigned_Short (0));
end if;
end Marshall;
@@ -397,10 +394,11 @@ package body PolyORB.GIOP_P.Code_Sets.Co
if C.GIOP_1_2_Mode then
Marshall (Buffer, Types.Octet'(2));
- Marshall (Buffer, Unsigned_Short (Wchar'Pos (Data)), 1);
+ Unaligned_Unsigned_Short.Marshall
+ (Buffer, Unsigned_Short'(Wchar'Pos (Data)));
else
- Marshall (Buffer, Unsigned_Short (Wchar'Pos (Data)), 2);
+ Marshall (Buffer, Unsigned_Short'(Wchar'Pos (Data)));
end if;
end Marshall;
@@ -411,16 +409,12 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Error : in out Errors.Error_Container)
is
Equiv : constant Wide_String := PolyORB.Types.To_Wide_String (Data);
- Align : Alignment_Type;
-
begin
if C.GIOP_1_2_Mode then
Marshall (Buffer, Unsigned_Long'(Equiv'Length * 2));
- Align := 1;
else
Marshall (Buffer, Unsigned_Long'(Equiv'Length + 1));
- Align := 2;
end if;
for J in Equiv'Range loop
@@ -438,12 +432,11 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Marshall
(Buffer,
- Unsigned_Short (Wide_Character'Pos (Equiv (J))),
- Align);
+ Unsigned_Short'(Wide_Character'Pos (Equiv (J))));
end loop;
if not C.GIOP_1_2_Mode then
- Marshall (Buffer, Unsigned_Short'(0), Align);
+ Marshall (Buffer, Unsigned_Short'(0));
end if;
end Marshall;
@@ -469,10 +462,11 @@ package body PolyORB.GIOP_P.Code_Sets.Co
if C.GIOP_1_2_Mode then
Marshall (Buffer, Types.Octet'(4));
- Marshall (Buffer, Unsigned_Long (Wchar'Pos (Data)), 1);
+ Unaligned_Unsigned_Long.Marshall
+ (Buffer, Unsigned_Long'(Wchar'Pos (Data)));
else
- Marshall (Buffer, Unsigned_Long (Wchar'Pos (Data)), 4);
+ Marshall (Buffer, Unsigned_Long (Wchar'Pos (Data)));
end if;
end Marshall;
@@ -486,16 +480,7 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Space : constant Reservation := Reserve (Buffer, 4);
J : Positive := Equiv'First;
L : Natural := 0;
- Align : Alignment_Type;
-
begin
- if C.GIOP_1_2_Mode then
- Align := 1;
-
- else
- Align := 4;
- end if;
-
while J <= Equiv'Last loop
if Equiv (J) in High_Surrogate_Character then
if J < Equiv'Last
@@ -507,8 +492,7 @@ package body PolyORB.GIOP_P.Code_Sets.Co
((Wide_Character'Pos (Equiv (J)) - High_Surrogate_Base)
* 16#400#
+ (Wide_Character'Pos (Equiv (J + 1)) - Low_Surrogate_Base)
- + 16#10000#),
- Align);
+ + 16#10000#));
J := J + 2;
L := L + 1;
@@ -534,17 +518,14 @@ package body PolyORB.GIOP_P.Code_Sets.Co
return;
else
- Marshall
- (Buffer,
- Unsigned_Long (Wide_Character'Pos (Equiv (J))),
- Align);
+ Marshall (Buffer, Unsigned_Long (Wide_Character'Pos (Equiv (J))));
J := J + 1;
L := L + 1;
end if;
end loop;
if not C.GIOP_1_2_Mode then
- Marshall (Buffer, Unsigned_Long'(0), Align);
+ Marshall (Buffer, Unsigned_Long'(0));
end if;
declare
@@ -616,7 +597,7 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Length : constant Octet := Unmarshall (Buffer);
begin
- Code := Unmarshall (Buffer, 1);
+ Code := Unaligned_Unsigned_Short.Unmarshall (Buffer);
if Length = 2 then
Data := Wchar'Val (Code);
@@ -627,7 +608,8 @@ package body PolyORB.GIOP_P.Code_Sets.Co
-- XXX Value marshalled in reverse endian-ness
elsif Code = BOM then
- Data := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer, 1)));
+ Data := Wchar'Val
+ (Unaligned_Unsigned_Short.Unmarshall (Buffer));
else
raise Program_Error;
@@ -639,14 +621,14 @@ package body PolyORB.GIOP_P.Code_Sets.Co
end;
else
- Code := Unmarshall (Buffer, 2);
+ Code := Unmarshall (Buffer);
if Code = Reverse_BOM then
raise Program_Error;
-- XXX Value marshalled in reverse endian-ness
elsif Code = BOM then
- Data := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer, 2)));
+ Data := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer)));
else
Data := Wchar'Val (Code);
@@ -675,7 +657,6 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Result : Standard.Wide_String (1 .. Integer (Length));
First : Positive;
Last : Natural;
- Align : Alignment_Type;
Code : Unsigned_Short;
begin
@@ -691,14 +672,12 @@ package body PolyORB.GIOP_P.Code_Sets.Co
end if;
Last := Natural (Length / 2);
- Align := 1;
else
Last := Natural (Length);
- Align := 2;
end if;
- Code := Unmarshall (Buffer, Align);
+ Code := Unmarshall (Buffer);
if Code = Reverse_BOM then
raise Program_Error;
@@ -714,7 +693,7 @@ package body PolyORB.GIOP_P.Code_Sets.Co
end if;
for J in First .. Last loop
- Result (J) := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer, Align)));
+ Result (J) := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer)));
if Result (J) in Invalid_Character then
Throw
@@ -750,11 +729,11 @@ package body PolyORB.GIOP_P.Code_Sets.Co
-- XXX Raise Marshall exception ?
else
- Data := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer, 1)));
+ Data := Wchar'Val (Unaligned_Unsigned_Short.Unmarshall (Buffer));
end if;
else
- Data := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer, 2)));
+ Data := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer)));
end if;
if Data in Surrogate_Character
@@ -778,7 +757,6 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Length : constant Unsigned_Long := Unmarshall (Buffer);
Result : Standard.Wide_String (1 .. Integer (Length));
Last : Natural := Result'First - 1;
- Align : Alignment_Type;
begin
if C.GIOP_1_2_Mode then
@@ -786,17 +764,14 @@ package body PolyORB.GIOP_P.Code_Sets.Co
raise Program_Error;
-- XXX Raise Marshall exception ?
end if;
-
Last := Natural (Length / 2);
- Align := 1;
else
Last := Natural (Length);
- Align := 2;
end if;
for J in Result'First .. Last loop
- Result (J) := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer, Align)));
+ Result (J) := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer)));
if Result (J) in Surrogate_Character
or else Result (J) in Invalid_Character
@@ -833,13 +808,12 @@ package body PolyORB.GIOP_P.Code_Sets.Co
if Length /= 4 then
raise Program_Error;
-- XXX Raise Marshall exception ?
-
else
- Aux := Unsigned_Long'(Unmarshall (Buffer, 1));
+ Aux := Unaligned_Unsigned_Long.Unmarshall (Buffer);
end if;
else
- Aux := Unsigned_Long'(Unmarshall (Buffer, 4));
+ Aux := Unsigned_Long'(Unmarshall (Buffer));
end if;
if Aux > 16#FFFF#
@@ -867,7 +841,6 @@ package body PolyORB.GIOP_P.Code_Sets.Co
pragma Unreferenced (Error);
Length : Unsigned_Long := Unmarshall (Buffer);
- Align : Alignment_Type;
begin
if C.GIOP_1_2_Mode then
@@ -877,10 +850,6 @@ package body PolyORB.GIOP_P.Code_Sets.Co
end if;
Length := Length / 4;
- Align := 1;
-
- else
- Align := 2;
end if;
declare
@@ -890,7 +859,7 @@ package body PolyORB.GIOP_P.Code_Sets.Co
begin
for J in 1 .. Length loop
- Aux := Unsigned_Long'(Unmarshall (Buffer, Align));
+ Aux := Unsigned_Long'(Unmarshall (Buffer));
if Aux <= 16#FFFF# then
Last := Last + 1;
============================================================
--- src/giop/polyorb-giop_p-code_sets-converters-unicode.ads dba2ef81faa90d4ddbf9f6448caf21587ad9eac9
+++ src/giop/polyorb-giop_p-code_sets-converters-unicode.ads f10a9aff6182d3d3799b6b6771960b74147f5113
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2006-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -25,12 +25,12 @@
-- --
------------------------------------------------------------------------------
--- This package provides character data code sets converters for
--- Unicode encoding: UTF-8 for char data and UTF-16 for wchar data.
+-- This package provides character data code sets converters for Unicode
+-- encodings: UTF-8 for char data and UTF-16 for wchar data.
--- Note: Client application which use these encodings should be ready
--- to dial with multibite character sequences and avoid use of char
--- IDL type (use string instead).
+-- Note: Client application which use these encodings should be ready to deal
+-- with multibyte character sequences and avoid use of char IDL type (use
+-- string instead).
-- Supported char native code sets:
-- 0x05010001 X/Open UTF-8; UCS Transformation Format 8 (UTF-8)
============================================================
--- src/giop/polyorb-giop_p-code_sets-converters.adb 193184b28507d543d14199313f904615a21ac0ce
+++ src/giop/polyorb-giop_p-code_sets-converters.adb f3ed428a929080947334dc346075cd5dd2b183dd
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2004-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 2004-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -25,8 +25,6 @@
-- --
------------------------------------------------------------------------------
-with Ada.Streams;
-
with PolyORB.Initialization;
with PolyORB.Parameters;
with PolyORB.Representations.CDR.Common;
@@ -35,7 +33,6 @@ package body PolyORB.GIOP_P.Code_Sets.Co
package body PolyORB.GIOP_P.Code_Sets.Converters is
- use Ada.Streams;
use PolyORB.Buffers;
use PolyORB.Errors;
use PolyORB.Representations.CDR.Common;
@@ -161,13 +158,10 @@ package body PolyORB.GIOP_P.Code_Sets.Co
----------
function Find
- (Code_Set : Code_Set_Id)
- return Info_Lists.Element_Access
+ (Code_Set : Code_Set_Id) return Info_Lists.Element_Access
is
use Info_Lists;
-
Iter : Iterator := First (Info);
-
begin
while not Last (Iter) loop
if Value (Iter).Code_Set = Code_Set then
@@ -180,13 +174,10 @@ package body PolyORB.GIOP_P.Code_Sets.Co
end Find;
function Find
- (Code_Set : Code_Set_Id)
- return Wide_Info_Lists.Element_Access
+ (Code_Set : Code_Set_Id) return Wide_Info_Lists.Element_Access
is
use Wide_Info_Lists;
-
Iter : Iterator := First (Wide_Info);
-
begin
while not Last (Iter) loop
if Value (Iter).Code_Set = Code_Set then
@@ -204,14 +195,11 @@ package body PolyORB.GIOP_P.Code_Sets.Co
function Get_Converter
(Native_Code_Set : Code_Set_Id;
- Target_Code_Set : Code_Set_Id)
- return Converter_Access
+ Target_Code_Set : Code_Set_Id) return Converter_Access
is
use Conversion_Lists;
use type Info_Lists.Element_Access;
-
Info : constant Info_Lists.Element_Access := Find (Native_Code_Set);
-
begin
if Info = null then
return null;
@@ -225,7 +213,6 @@ package body PolyORB.GIOP_P.Code_Sets.Co
else
declare
Iter : Iterator := First (Info.Conversions);
-
begin
while not Last (Iter) loop
if Target_Code_Set = Value (Iter).Code_Set then
@@ -241,14 +228,11 @@ package body PolyORB.GIOP_P.Code_Sets.Co
function Get_Converter
(Native_Code_Set : Code_Set_Id;
- Target_Code_Set : Code_Set_Id)
- return Wide_Converter_Access
+ Target_Code_Set : Code_Set_Id) return Wide_Converter_Access
is
use Wide_Conversion_Lists;
use type Wide_Info_Lists.Element_Access;
-
Info : constant Wide_Info_Lists.Element_Access := Find (Native_Code_Set);
-
begin
if Info = null then
return null;
@@ -262,7 +246,6 @@ package body PolyORB.GIOP_P.Code_Sets.Co
else
declare
Iter : Iterator := First (Info.Conversions);
-
begin
while not Last (Iter) loop
if Target_Code_Set = Value (Iter).Code_Set then
@@ -281,26 +264,6 @@ package body PolyORB.GIOP_P.Code_Sets.Co
--------------
procedure Marshall
- (Buffer : access Buffer_Type;
- Data : Unsigned_Long;
- Alignment : Alignment_Type)
- is
- begin
- pragma Assert (Alignment = 4);
- Marshall (Buffer, Data);
- end Marshall;
-
- procedure Marshall
- (Buffer : access Buffer_Type;
- Data : Unsigned_Short;
- Alignment : Alignment_Type)
- is
- begin
- pragma Assert (Alignment = 2);
- Marshall (Buffer, Data);
- end Marshall;
-
- procedure Marshall
(C : ISO88591_Native_Converter;
Buffer : access Buffers.Buffer_Type;
Data : Types.Char;
@@ -308,7 +271,6 @@ package body PolyORB.GIOP_P.Code_Sets.Co
is
pragma Unreferenced (C);
pragma Unreferenced (Error);
-
begin
Marshall_Latin_1_Char (Buffer, Data);
end Marshall;
@@ -321,7 +283,6 @@ package body PolyORB.GIOP_P.Code_Sets.Co
is
pragma Unreferenced (C);
pragma Unreferenced (Error);
-
begin
Marshall_Latin_1_String (Buffer, Data);
end Marshall;
@@ -333,7 +294,6 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Error : in out Errors.Error_Container)
is
pragma Unreferenced (C);
-
begin
if Character'Pos (Data) < 16#80# then
Marshall (Buffer, Octet (Character'Pos (Data)));
@@ -358,12 +318,13 @@ package body PolyORB.GIOP_P.Code_Sets.Co
begin
Pad_Align (Buffer, 4);
+
declare
- Reserv : constant Reservation := Reserve (Buffer, 4);
- Buf : Buffer_Access := new Buffer_Type;
- Length : Unsigned_Long := 0;
- Equiv : constant Standard.String
- := To_String (Data) & Character'Val (16#00#);
+ Reserv : constant Reservation := Reserve (Buffer, 4);
+ Buf : Buffer_Access := new Buffer_Type;
+ Length : Unsigned_Long := 0;
+ Equiv : constant Standard.String :=
+ To_String (Data) & Character'Val (16#00#);
begin
for J in Equiv'Range loop
@@ -394,13 +355,13 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Error : in out Errors.Error_Container)
is
pragma Unreferenced (Error);
-
begin
if C.GIOP_1_2_Mode then
Marshall (Buffer, Types.Octet'(2));
- Marshall (Buffer, Unsigned_Short (Wchar'Pos (Data)), 1);
+ Unaligned_Unsigned_Short.Marshall
+ (Buffer, Unsigned_Short (Wchar'Pos (Data)));
else
- Marshall (Buffer, Unsigned_Short (Wchar'Pos (Data)), 2);
+ Marshall (Buffer, Unsigned_Short (Wchar'Pos (Data)));
end if;
end Marshall;
@@ -411,28 +372,23 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Error : in out Errors.Error_Container)
is
pragma Unreferenced (Error);
-
Equiv : constant Wide_String := PolyORB.Types.To_Wide_String (Data);
- Align : Alignment_Type;
-
begin
if C.GIOP_1_2_Mode then
Marshall (Buffer, Unsigned_Long'(Equiv'Length * 2));
- Align := 1;
+
else
Marshall (Buffer, Unsigned_Long'(Equiv'Length + 1));
- Align := 2;
end if;
for J in Equiv'Range loop
Marshall
(Buffer,
- Unsigned_Short (Wide_Character'Pos (Equiv (J))),
- Align);
+ Unsigned_Short'(Wide_Character'Pos (Equiv (J))));
end loop;
if not C.GIOP_1_2_Mode then
- Marshall (Buffer, Unsigned_Short'(0), Align);
+ Marshall (Buffer, Unsigned_Short'(0));
end if;
end Marshall;
@@ -443,9 +399,7 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Error : in out Errors.Error_Container)
is
begin
- if Data in Surrogate_Character
- or else Data in Invalid_Character
- then
+ if Data in Surrogate_Character or else Data in Invalid_Character then
Throw
(Error,
Data_Conversion_E,
@@ -458,11 +412,12 @@ package body PolyORB.GIOP_P.Code_Sets.Co
if C.GIOP_1_2_Mode then
Marshall (Buffer, Octet'(4));
- Marshall (Buffer, BOM, 1);
- Marshall (Buffer, Unsigned_Short'(Wchar'Pos (Data)), 1);
+ Unaligned_Unsigned_Short.Marshall (Buffer, BOM);
+ Unaligned_Unsigned_Short.Marshall
+ (Buffer, Unsigned_Short'(Wchar'Pos (Data)));
else
- Marshall (Buffer, Unsigned_Short'(Wchar'Pos (Data)), 2);
+ Marshall (Buffer, Unsigned_Short'(Wchar'Pos (Data)));
end if;
end Marshall;
@@ -473,17 +428,14 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Error : in out Errors.Error_Container)
is
Equiv : constant Wide_String := To_Wide_String (Data);
- Align : Alignment_Type;
-
begin
if C.GIOP_1_2_Mode then
Marshall (Buffer, Unsigned_Long (Equiv'Length + 1) * 2);
- Marshall (Buffer, BOM, 1);
- Align := 1;
+ Marshall (Buffer, BOM);
+
else
Marshall (Buffer, Unsigned_Long (Equiv'Length + 2));
- Marshall (Buffer, BOM, 2);
- Align := 2;
+ Marshall (Buffer, BOM);
end if;
for J in Equiv'Range loop
@@ -499,14 +451,11 @@ package body PolyORB.GIOP_P.Code_Sets.Co
return;
end if;
- Marshall
- (Buffer,
- Unsigned_Short (Wide_Character'Pos (Equiv (J))),
- Align);
+ Marshall (Buffer, Unsigned_Short'(Wide_Character'Pos (Equiv (J))));
end loop;
if not C.GIOP_1_2_Mode then
- Marshall (Buffer, Unsigned_Short (0), 2);
+ Marshall (Buffer, Unsigned_Short'(0));
end if;
end Marshall;
@@ -590,9 +539,7 @@ package body PolyORB.GIOP_P.Code_Sets.Co
return Code_Set_Id_List
is
use type Info_Lists.Element_Access;
-
Info : constant Info_Lists.Element_Access := Find (Code_Set);
-
begin
if Info /= null then
return Info.Conversion_Code_Sets;
@@ -606,13 +553,10 @@ package body PolyORB.GIOP_P.Code_Sets.Co
------------------------------------------
function Supported_Wchar_Conversion_Code_Sets
- (Code_Set : Code_Set_Id)
- return Code_Set_Id_List
+ (Code_Set : Code_Set_Id) return Code_Set_Id_List
is
use type Wide_Info_Lists.Element_Access;
-
Info : constant Wide_Info_Lists.Element_Access := Find (Code_Set);
-
begin
if Info /= null then
return Info.Conversion_Code_Sets;
@@ -625,24 +569,6 @@ package body PolyORB.GIOP_P.Code_Sets.Co
-- Unmarshall --
----------------
- function Unmarshall
- (Buffer : access Buffer_Type;
- Alignment : Alignment_Type) return Unsigned_Long
- is
- begin
- pragma Assert (Alignment = 4);
- return Unmarshall (Buffer);
- end Unmarshall;
-
- function Unmarshall
- (Buffer : access Buffer_Type;
- Alignment : Alignment_Type) return Unsigned_Short
- is
- begin
- pragma Assert (Alignment = 2);
- return Unmarshall (Buffer);
- end Unmarshall;
-
procedure Unmarshall
(C : ISO88591_Native_Converter;
Buffer : access Buffers.Buffer_Type;
@@ -656,6 +582,10 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Data := Unmarshall_Latin_1_Char (Buffer);
end Unmarshall;
+ ----------------
+ -- Unmarshall --
+ ----------------
+
procedure Unmarshall
(C : ISO88591_Native_Converter;
Buffer : access Buffers.Buffer_Type;
@@ -664,7 +594,6 @@ package body PolyORB.GIOP_P.Code_Sets.Co
is
pragma Unreferenced (C);
pragma Unreferenced (Error);
-
begin
Data := Unmarshall_Latin_1_String (Buffer);
end Unmarshall;
@@ -735,7 +664,6 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Error : in out Errors.Error_Container)
is
pragma Unreferenced (Error);
-
Length : Octet;
begin
if C.GIOP_1_2_Mode then
@@ -745,11 +673,11 @@ package body PolyORB.GIOP_P.Code_Sets.Co
raise Program_Error;
-- XXX Raise Marshall exception ?
else
- Data := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer, 1)));
+ Data := Wchar'Val (Unaligned_Unsigned_Short.Unmarshall (Buffer));
end if;
else
- Data := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer, 2)));
+ Data := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer)));
end if;
end Unmarshall;
@@ -764,24 +692,20 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Length : constant Unsigned_Long := Unmarshall (Buffer);
Result : Standard.Wide_String (1 .. Integer (Length));
Last : Natural := Result'First - 1;
- Align : Alignment_Type;
begin
if C.GIOP_1_2_Mode then
if Length mod 2 /= 0 then
raise Program_Error;
-- XXX Raise Marshall exception ?
end if;
-
Last := Natural (Length / 2);
- Align := 1;
else
Last := Natural (Length);
- Align := 2;
end if;
for J in Result'First .. Last loop
- Result (J) := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer, Align)));
+ Result (J) := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer)));
end loop;
if not C.GIOP_1_2_Mode then
@@ -805,7 +729,7 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Length : constant Octet := Unmarshall (Buffer);
begin
- Code := Unmarshall (Buffer, 1);
+ Code := Unaligned_Unsigned_Short.Unmarshall (Buffer);
if Length = 2 then
Data := Wchar'Val (Code);
@@ -816,7 +740,8 @@ package body PolyORB.GIOP_P.Code_Sets.Co
-- XXX Value marshalled in reverse endian-ness
elsif Code = BOM then
- Data := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer, 1)));
+ Data := Wchar'Val
+ (Unaligned_Unsigned_Short.Unmarshall (Buffer));
else
raise Program_Error;
@@ -828,13 +753,13 @@ package body PolyORB.GIOP_P.Code_Sets.Co
end;
else
- Code := Unmarshall (Buffer, 2);
+ Code := Unmarshall (Buffer);
if Code = Reverse_BOM then
raise Program_Error;
-- XXX Value marshalled in reverse endian-ness
elsif Code = BOM then
- Data := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer, 2)));
+ Data := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer)));
else
Data := Wchar'Val (Code);
@@ -863,7 +788,6 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Result : Standard.Wide_String (1 .. Integer (Length));
First : Positive;
Last : Natural;
- Align : Alignment_Type;
Code : Unsigned_Short;
begin
if C.GIOP_1_2_Mode then
@@ -875,19 +799,17 @@ package body PolyORB.GIOP_P.Code_Sets.Co
Data := To_PolyORB_Wide_String (Wide_String'(""));
return;
end if;
-
Last := Natural (Length / 2);
- Align := 1;
+
else
Last := Natural (Length);
- Align := 2;
end if;
- Code := Unmarshall (Buffer, Align);
+ Code := Unmarshall (Buffer);
if Code = Reverse_BOM then
raise Program_Error;
- -- Value encoded in reverse endian-ness.
+ -- Value encoded in reverse endian-ness
elsif Code = BOM then
Last := Last - 1;
@@ -898,7 +820,7 @@ package body PolyORB.GIOP_P.Code_Sets.Co
end if;
for J in First .. Last loop
- Result (J) := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer, Align)));
+ Result (J) := Wchar'Val (Unsigned_Short'(Unmarshall (Buffer)));
if Result (J) in Surrogate_Character
or else Result (J) in Invalid_Character
@@ -929,15 +851,16 @@ package body PolyORB.GIOP_P.Code_Sets.Co
use PolyORB.Parameters;
- -- The following parameters force the registration of
- -- additional "fallback" code sets for char and wchar
- -- data. This is useful for interoperation with ORB
- -- with broken char sets negotiation support.
+ -- These parameters force the registration of additional fallback code
+ -- sets for char and wchar data. This is useful for interoperation with
+ -- ORBs with broken charsets negotiation support.
- Char_Fallback : constant Boolean
- := Get_Conf ("giop", "giop.add_char_fallback_code_set", False);
- Wide_Char_Fallback : constant Boolean
- := Get_Conf ("giop", "giop.add_wchar_fallback_code_set", False);
+ Char_Fallback : constant Boolean := Get_Conf
+ ("giop", "giop.add_char_fallback_code_set",
+ Default => False);
+ Wide_Char_Fallback : constant Boolean := Get_Conf
+ ("giop", "giop.add_wchar_fallback_code_set",
+ Default => False);
begin
-- Register supported char code sets (ISO-8859-1)
============================================================
--- src/giop/polyorb-giop_p-code_sets-converters.ads 0c3526dff0da91ce3ed544bbdcd1c546ef62ca8c
+++ src/giop/polyorb-giop_p-code_sets-converters.ads 8e2671a6d99fe2a59a3dc016815618a068c918c4
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2004-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2004-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -27,17 +27,23 @@
-- Code sets converters
--- Each code set converter process conversion between native code set
--- and transmission code set and marshalling/unmarshalling of data.
--- For each pair of native/transmission code sets we define it's own
--- converter.
+-- Each code set converter process conversion between native code set and
+-- transmission code set and marshalling/unmarshalling of data. A converter is
+-- defined for each pair of native/transmission code sets.
+with GNAT.Byte_Swapping;
+
with PolyORB.Buffers;
+with PolyORB.Utils.Buffers;
+pragma Elaborate_All (PolyORB.Utils.Buffers);
package PolyORB.GIOP_P.Code_Sets.Converters is
- type Converter is abstract tagged private;
+ ----------------------------------------
+ -- Narrow character converter (CCS-C) --
+ ----------------------------------------
+ type Converter is abstract tagged limited private;
type Converter_Access is access all Converter'Class;
procedure Marshall
@@ -68,8 +74,11 @@ package PolyORB.GIOP_P.Code_Sets.Convert
Error : in out Errors.Error_Container)
is abstract;
- type Wide_Converter is abstract tagged private;
+ --------------------------------------
+ -- Wide character converter (CCS-W) --
+ --------------------------------------
+ type Wide_Converter is abstract tagged limited private;
type Wide_Converter_Access is access all Wide_Converter'Class;
procedure Set_GIOP_1_2_Mode (C : in out Wide_Converter);
@@ -105,38 +114,32 @@ package PolyORB.GIOP_P.Code_Sets.Convert
function Get_Converter
(Native_Code_Set : Code_Set_Id;
- Target_Code_Set : Code_Set_Id)
- return Converter_Access;
- -- Return converter for processing conversion between
- -- corresponding code sets for char data.
+ Target_Code_Set : Code_Set_Id) return Converter_Access;
+ -- Return converter for processing conversion between corresponding code
+ -- sets for char data.
function Get_Converter
(Native_Code_Set : Code_Set_Id;
- Target_Code_Set : Code_Set_Id)
- return Wide_Converter_Access;
- -- Return converter for processing conversion between
- -- corresponding code sets for wchar data.
+ Target_Code_Set : Code_Set_Id) return Wide_Converter_Access;
+ -- Return converter for processing conversion between corresponding code
+ -- sets for wchar data.
function Supported_Char_Conversion_Code_Sets
- (Code_Set : Code_Set_Id)
- return Code_Set_Id_List;
- -- Return list of Code_Set_Id supported as conversion code set for
- -- defined native code set of char data.
+ (Code_Set : Code_Set_Id) return Code_Set_Id_List;
+ -- Return list of Code_Set_Id supported as conversion code set for defined
+ -- native code set of char data (CCS-C).
function Supported_Wchar_Conversion_Code_Sets
(Code_Set : Code_Set_Id)
return Code_Set_Id_List;
- -- Return list of Code_Set_Id supported as conversion code set for
- -- defined native code set of wchar data.
+ -- Return list of Code_Set_Id supported as conversion code set for defined
+ -- native code set of wchar data (CCS-W).
private
- type Converter_Factory is
- access function return Converter_Access;
+ type Converter_Factory is access function return Converter_Access;
+ type Wide_Converter_Factory is access function return Wide_Converter_Access;
- type Wide_Converter_Factory is
- access function return Wide_Converter_Access;
-
procedure Register_Native_Code_Set
(Code_Set : Code_Set_Id;
Native : Converter_Factory;
@@ -161,38 +164,32 @@ private
Factory : Wide_Converter_Factory);
-- Register additional conversion code set
- type Converter is abstract tagged null record;
+ type Converter is abstract tagged limited null record;
- type Wide_Converter is abstract tagged record
+ type Wide_Converter is abstract tagged limited record
GIOP_1_2_Mode : Boolean := False;
end record;
- -- Shared marshalling subprogram (for use in another converters)
+ ----------------------------------------------------
+ -- Supporting routines for unaligned unsigned I/O --
+ ----------------------------------------------------
- procedure Marshall
- (Buffer : access Buffers.Buffer_Type;
- Data : Types.Unsigned_Short;
- Alignment : Buffers.Alignment_Type);
- -- Marshall Unsigned_Short as big endian value with specified Alignment
+ use PolyORB.Utils.Buffers;
- function Unmarshall
- (Buffer : access Buffers.Buffer_Type;
- Alignment : Buffers.Alignment_Type)
- return Types.Unsigned_Short;
- -- Unmarshall Unsigned_Short as big endian value with specified Alignment
+ function Swapped is
+ new GNAT.Byte_Swapping.Swapped2 (PolyORB.Types.Unsigned_Short);
- procedure Marshall
- (Buffer : access Buffers.Buffer_Type;
- Data : Types.Unsigned_Long;
- Alignment : Buffers.Alignment_Type);
- -- Marshall Unsigned_Long as big endian value with specified Alignment
+ package Unaligned_Unsigned_Short is
+ new Align_Transfer_Elementary
+ (T => PolyORB.Types.Unsigned_Short, With_Alignment => False);
- function Unmarshall
- (Buffer : access Buffers.Buffer_Type;
- Alignment : Buffers.Alignment_Type)
- return Types.Unsigned_Long;
- -- Unmarshall Unsigned_Long as big endian value with specified Alignment
+ function Swapped is
+ new GNAT.Byte_Swapping.Swapped4 (PolyORB.Types.Unsigned_Long);
+ package Unaligned_Unsigned_Long is
+ new Align_Transfer_Elementary
+ (T => PolyORB.Types.Unsigned_Long, With_Alignment => False);
+
-- Ada95 data converters
type ISO88591_Native_Converter is new Converter with null record;
============================================================
--- src/giop/polyorb-giop_p-code_sets.ads 4c2c2df8ba5e97072fabb30277c28bde89abef1c
+++ src/giop/polyorb-giop_p-code_sets.ads 61f63c442ab3b9944f1a6a6c4af8403919f55bc9
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2004-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2004-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -50,11 +50,12 @@ package PolyORB.GIOP_P.Code_Sets is
Char_Data_Fallback_Code_Set : constant Code_Set_Id := UTF_8_Code_Set;
Wchar_Data_Fallback_Code_Set : constant Code_Set_Id := UTF_16_Code_Set;
- -- Ada95 Native Code_Set_Ids. See RM 3.5.2
+ -- Ada 95 Native Code_Set_Ids. See RM 3.5.2
- Ada95_Native_Character_Code_Set : constant Code_Set_Id := Latin_1_Code_Set;
- Ada95_Native_Wide_Character_Code_Set : constant Code_Set_Id
- := UCS_2_Level_1_Code_Set;
+ Ada95_Native_Character_Code_Set : constant Code_Set_Id :=
+ Latin_1_Code_Set;
+ Ada95_Native_Wide_Character_Code_Set : constant Code_Set_Id :=
+ UCS_2_Level_1_Code_Set;
type Character_Set_Id is new PolyORB.Types.Unsigned_Short;
@@ -86,13 +87,13 @@ package PolyORB.GIOP_P.Code_Sets is
Fallback : Code_Set_Id;
TCS : out Code_Set_Id;
Error : in out PolyORB.Errors.Error_Container);
- -- Proceed code set negotiation based on:
+ -- Select transmission code set to use based on:
-- - CNCS - Client Native Code Set
-- - CCCS - Client Conversion Code Sets
-- - SNCS - Server Native Code Set
-- - SCCS - Server Conversion Code Sets
-- Fallback argument provide fallback code sets.
- -- Return negotiated transmission code set (TCS) or throw
+ -- Returns negotiated transmission code set (TCS) or raises
-- Codeset_Incompatible error if code sets are incompatible.
private
============================================================
--- src/polyorb-any.adb 09c5147667ba43863432c92e9b8302165f6e72f9
+++ src/polyorb-any.adb db5acf259c2ec53c0e84942354f5243c94fb0daa
@@ -1616,19 +1616,15 @@ package body PolyORB.Any is
-----------
function Image (NV : NamedValue) return Standard.String is
+ function Flag_Name (F : Flags) return Standard.String;
+ pragma Inline (Flag_Name);
+ -- Return string representation for F, which denotes an argument mode
---------------
-- Flag_Name --
---------------
- function Flag_Name
- (F : Flags)
- return Standard.String;
- pragma Inline (Flag_Name);
-
- function Flag_Name
- (F : Flags)
- return Standard.String is
+ function Flag_Name (F : Flags) return Standard.String is
begin
case F is
when ARG_IN =>
@@ -1646,8 +1642,7 @@ package body PolyORB.Any is
begin
return Flag_Name (NV.Arg_Modes) & " "
- & To_Standard_String (NV.Name)
- & " = " & Image (NV.Argument);
+ & To_Standard_String (NV.Name) & " = " & Image (NV.Argument);
end Image;
----------------------
============================================================
--- src/polyorb-binding_data-neighbour.adb 2ac8637ba1441461c892ea280dad41cd6c48afba
+++ src/polyorb-binding_data-neighbour.adb 81d3e49f802c88c567bc0f34e6c5e3c3cb05eee3
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2006-2008, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -128,8 +128,14 @@ package body PolyORB.Binding_Data.Neighb
-----------
function Image (Prof : Neighbour_Profile_Type) return String is
+ use Binding_Objects;
+ BO_Acc : constant Binding_Object_Access :=
+ Binding_Object_Access
+ (Smart_Pointers.Entity_Of (Prof.Target_Binding_Object));
begin
- return "Neighbour Profile - Object_Id: "
+ return "Neighbour (from "
+ & Image (Get_Profile (BO_Acc).all)
+ & ") - Object_Id: "
& PolyORB.Objects.Image (Prof.Object_Id.all);
end Image;
============================================================
--- src/polyorb-obj_adapters-group_object_adapter.adb 9db1d1e5f760004292db0680d58f4eee022bbd00
+++ src/polyorb-obj_adapters-group_object_adapter.adb d85a08db2b531b4b905c21717a53b1fbc1b9b77e
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2001-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -279,12 +279,11 @@ package body PolyORB.Obj_Adapters.Group_
use type PolyORB.Servants.Servant_Access;
begin
- pragma Debug (C, O ("Find_Servant " & Oid_To_Hex_String (Id.all)));
+ pragma Debug (C, O ("Find_Servant " & Image (Id.all)));
Enter (GOA.Lock);
- Servant := Lookup (GOA.Registered_Groups,
- Oid_To_Hex_String (Id.all), null);
+ Servant := Lookup (GOA.Registered_Groups, Image (Id.all), null);
if Servant = null then
pragma Debug (C, O ("Servant not found"));
Throw (Error,
============================================================
--- src/polyorb-objects.adb 959c555b6f967f6ba4dd3ab2fa018bbe35075426
+++ src/polyorb-objects.adb 0ed9db0bfad54edbb55611fe9426480cf62488e9
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2001-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2008, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -56,11 +56,9 @@ package body PolyORB.Objects is
function String_To_Oid (S : String) return Object_Id is
A : Object_Id (Stream_Element_Offset (S'First)
.. Stream_Element_Offset (S'Last));
+ for A'Address use S'Address;
+ pragma Import (Ada, A);
begin
- for J in A'Range loop
- A (J) := Stream_Element (Character'Pos (S (Integer (J))));
- end loop;
-
return A;
end String_To_Oid;
@@ -68,6 +66,19 @@ package body PolyORB.Objects is
-- Image --
-----------
- function Image (Oid : Object_Id) return String renames Oid_To_Hex_String;
+ function Image (Oid : Object_Id) return String is
+ Oid_S : String (1 .. Oid'Length);
+ for Oid_S'Address use Oid'Address;
+ pragma Import (Ada, Oid_S);
+ Result : String (1 .. Oid'Length) := Oid_S;
+ begin
+ for J in Result'Range loop
+ if Character'Pos (Result (J)) not in 32 .. 127 then
+ Result (J) := '.';
+ end if;
+ end loop;
+ return Result;
+ end Image;
+
end PolyORB.Objects;
============================================================
--- src/polyorb-orb_controller.adb 2ef8d027899ad1efc62a72945728cf17cab4bdfe
+++ src/polyorb-orb_controller.adb 4d467d6908387a168e5d70ead74b691ad2b5d134
@@ -188,11 +188,14 @@ package body PolyORB.ORB_Controller is
function Is_Locally_Terminated
(O : access ORB_Controller;
- Expected_Running_Tasks : Natural := 1) return Boolean
+ Expected_Running_Tasks : Natural) return Boolean
is
use PolyORB.Tasking.Threads;
+ Result : Boolean;
begin
- pragma Debug (C2, O2 ("Is_Locally_Terminated: " & Status (O.all)));
+ pragma Debug
+ (C1, O1 ("Is_Locally_Terminated (exp" & Expected_Running_Tasks'Img
+ & "R): " & Status (O.all)));
if Get_Count (O.Summary, Kind => Transient) > 0
or else Get_Count (O.Summary, State => Running)
@@ -200,14 +203,16 @@ package body PolyORB.ORB_Controller is
or else Get_Count (O.Summary, State => Unscheduled) > 0
or else Has_Pending_Job (O)
then
- return False;
+ Result := False;
+ else
+ Result := (Awake_Count
+ - Independent_Count
+ - Get_Count (O.Summary, State => Idle)
+ - Get_Count (O.Summary, State => Blocked)
+ = Expected_Running_Tasks);
end if;
-
- return (Awake_Count
- - Independent_Count
- - Get_Count (O.Summary, State => Idle)
- - Get_Count (O.Summary, State => Blocked)
- = Expected_Running_Tasks);
+ pragma Debug (C1, O1 ("-> " & Result'Img));
+ return Result;
end Is_Locally_Terminated;
---------------
@@ -435,10 +440,11 @@ package body PolyORB.ORB_Controller is
begin
pragma Debug (C1, O1 ("Unregister_Task: enter"));
pragma Assert (State (TI.all) = Terminated);
+
Task_Removed (O.Summary, TI.all);
- Notify_Event
- (ORB_Controller'Class (O.all)'Access,
- Event'(Kind => Task_Unregistered));
+ Notify_Event (ORB_Controller'Class (O.all)'Access,
+ Event'(Kind => Task_Unregistered));
+
pragma Debug (C2, O2 (Status (O.all)));
pragma Debug (C1, O1 ("Unregister_Task: leave"));
end Unregister_Task;
============================================================
--- src/polyorb-orb_controller.ads 5a604e35aa437be46a33df7d98f5ea8329ddc542
+++ src/polyorb-orb_controller.ads 4134370f90a9884f5b41f5b1b788baaf1d0436d9
@@ -216,7 +216,7 @@ package PolyORB.ORB_Controller is
function Is_Locally_Terminated
(O : access ORB_Controller;
- Expected_Running_Tasks : Natural := 1) return Boolean;
+ Expected_Running_Tasks : Natural) return Boolean;
-- Return true if the local node is locally terminated.
-- Expected_Running_Tasks is the number of expected non terminated tasks
-- when local termination is computed.
============================================================
--- src/polyorb-requests.adb 60d26595e6e760c2a9605b8aba9bfd37feff484d
+++ src/polyorb-requests.adb 4cb95ba9c1bbf4af82a2e4382efc0bc10e3c629f
@@ -52,34 +52,34 @@ package body PolyORB.Requests is
Src_Args : Any.NVList.Ref;
Direction : Any.Flags;
Error : in out Error_Container;
- Ignore_Src_Mode : Boolean := True;
- Can_Extend : Boolean := False);
+ Ignore_Src_Mode : Boolean;
+ Can_Extend : Boolean := False);
procedure Pump_Up_Arguments_By_Position
(Dst_Args : in out Any.NVList.Ref;
Src_Args : Any.NVList.Ref;
Direction : Any.Flags;
Error : in out Error_Container;
- Ignore_Src_Mode : Boolean := True;
- Can_Extend : Boolean := False);
+ Ignore_Src_Mode : Boolean;
+ Can_Extend : Boolean := False);
procedure Pump_Up_Arguments_By_Name
(Dst_Args : in out Any.NVList.Ref;
Src_Args : Any.NVList.Ref;
Direction : Any.Flags;
Error : in out Error_Container;
- Ignore_Src_Mode : Boolean := True;
- Can_Extend : Boolean := False);
+ Ignore_Src_Mode : Boolean;
+ Can_Extend : Boolean := False);
- -- True arguments of direction Direction (or INOUT) from received
- -- protocol arguments list P_Args (either from a request, on
- -- server side, or for a reply, on client side) into A_Args. If
- -- Can_Extend is set to True and Src_Args contains extra arguments
- -- that are not required by Dst_Args, then they are appended.
+ -- True arguments of direction Direction (or INOUT) from received protocol
+ -- arguments list P_Args (either from a request, on server side, or for a
+ -- reply, on client side) into A_Args. If Can_Extend is set to True and
+ -- Src_Args contains extra arguments that are not required by Dst_Args,
+ -- then they are appended.
--
- -- Each variant of the Pump_Up_Arguments procedure corresponds to
- -- a reconciliation method, according to the identification
- -- capabilities of the personalities.
+ -- Each variant of the Pump_Up_Arguments procedure corresponds to a
+ -- reconciliation method, according to the identification capabilities of
+ -- the personalities.
--------------------
-- Create_Request --
@@ -183,7 +183,7 @@ package body PolyORB.Requests is
Src_Args : Any.NVList.Ref;
Direction : Any.Flags;
Error : in out Error_Container;
- Ignore_Src_Mode : Boolean := True;
+ Ignore_Src_Mode : Boolean;
Can_Extend : Boolean := False)
is
use PolyORB.Any;
@@ -202,51 +202,45 @@ package body PolyORB.Requests is
pragma Assert (Direction = ARG_IN or else Direction = ARG_OUT);
- -- When Direction is ARG_IN, we are a server and we
- -- are pumping arguments from an incoming request message
- -- into the request that will be processed by the
- -- actual application object. In this case, we know
- -- that arguments in Dst_Args have their correct canonical
- -- modes and names. We assume that Src_Args only contain
- -- arguments whose actual mode (as specifid in Dst_Args) is
- -- ARG_IN or ARG_INOUT, possibly without names. If without
- -- names, we assume that they are in the order of Dst_Args.
+ -- When Direction is ARG_IN, we are a server and we are pumping
+ -- arguments from an incoming request message into the request that will
+ -- be processed by the actual application object. In this case, we know
+ -- that arguments in Dst_Args have their correct canonical modes and
+ -- names. We assume that Src_Args only contain arguments whose actual
+ -- mode (as specifid in Dst_Args) is ARG_IN or ARG_INOUT, possibly
+ -- without names. If without names, we assume that they are in the order
+ -- of Dst_Args.
- -- When direction is ARG_OUT, we are a client and
- -- we are pumping up INOUT and OUT arguments from an
- -- incoming reply message into the request that will be
- -- handed back to the client appplication object.
- -- (no return value must be present in Src_Args, only
- -- actual arguments). We assue that Src_Args only contain
- -- arguments whose actual mode is ARG_INOUT or ARG_OUT,
- -- possibly without names, and if without names in the
- -- order of Dst_Args.
+ -- When direction is ARG_OUT, we are a client and we are pumping up
+ -- INOUT and OUT arguments from an incoming reply message into the
+ -- request that will be handed back to the client appplication object.
+ -- (no return value must be present in Src_Args, only actual arguments).
+ -- We assume that Src_Args only contain arguments whose actual mode is
+ -- ARG_INOUT or ARG_OUT, possibly without names, and if without names in
+ -- the order of Dst_Args.
- -- Note that we cannot rely on the mode indications in
- -- Src_Args because some protocols (eg SOAP) do not
- -- set it correcly (more specifically SOAP does not support
- -- deferred unmarshalling, and insist on unmarshalling Self.Args
- -- before Arguments is called. Consequence: 'OUT' mode arguments
- -- might be missing in Self.Args, and 'INOUT' arguments might
- -- be marked as 'IN'. Also, there is no guarantee that the order
- -- of arguments is the same in Args and Self.Args.)
+ -- Note that we cannot rely on the mode indications in Src_Args because
+ -- some protocols (eg SOAP) do not set it correcly (more specifically
+ -- SOAP does not support deferred unmarshalling, and insist on
+ -- unmarshalling Self.Args before Arguments is called. Consequence:
+ -- 'OUT' mode arguments might be missing in Self.Args, and 'INOUT'
+ -- arguments might be marked as 'IN'. Also, there is no guarantee that
+ -- the order of arguments is the same in Args and Self.Args.)
while not Last (Dst_It) loop
declare
Dst_Arg : constant Element_Access := Value (Dst_It);
-
begin
if Dst_Arg.Arg_Modes = ARG_INOUT
or else Dst_Arg.Arg_Modes = Direction
then
- -- This arguments needs to be pumped up from the
- -- Src_Args list. If Ignore_Arg_Mode is True,
- -- we assume that Src contains only arguments
- -- that actually need to be copied, else we check
- -- the arg modes of Src args and copy only those
- -- that need to, according to Direction.
+ -- This arguments needs to be pumped up from the Src_Args list.
+ -- If Ignore_Arg_Mode is True, we assume that Src contains only
+ -- arguments that actually need to be copied, else we check the
+ -- arg modes of Src args and copy only those that need to,
+ -- according to Direction.
loop
declare
@@ -274,14 +268,12 @@ package body PolyORB.Requests is
else
Next (Src_It);
if Last (Src_It) then
- declare
- Member : constant System_Exception_Members
- := (Minor => 1, Completed => Completed_No);
- begin
- Throw (Error, Bad_Param_E, Member);
- pragma Debug (C, O ("arg not found"));
- return;
- end;
+ pragma Debug (C, O ("argument not found"));
+ Throw
+ (Error, Bad_Param_E,
+ System_Exception_Members'
+ (Minor => 1, Completed => Completed_No));
+ return;
end if;
end if;
end;
@@ -295,7 +287,8 @@ package body PolyORB.Requests is
if Can_Extend then
pragma Debug (C, O ("Appending remaining arguments"));
-- If Dst_Args is an extensible NV_List, then we append the
- -- remaining Src_Args
+ -- remaining Src_Args.
+
while not Last (Src_It) loop
if Ignore_Src_Mode
or else Value (Src_It).Arg_Modes = ARG_INOUT
@@ -317,8 +310,8 @@ package body PolyORB.Requests is
Src_Args : Any.NVList.Ref;
Direction : Any.Flags;
Error : in out Error_Container;
- Ignore_Src_Mode : Boolean := True;
- Can_Extend : Boolean := False)
+ Ignore_Src_Mode : Boolean;
+ Can_Extend : Boolean := False)
is
use PolyORB.Components;
@@ -351,12 +344,11 @@ package body PolyORB.Requests is
or else Value (Dst_It).Arg_Modes = Direction
then
- -- This arguments needs to be pumped up from the
- -- Src_Args list. If Ignore_Arg_Mode is True,
- -- we assume that Src contains only arguments
- -- that actually need to be copied, else we check
- -- the arg modes of Src args and copy only those
- -- that need to, according to Direction.
+ -- This arguments needs to be pumped up from the Src_Args list.
+ -- If Ignore_Arg_Mode is True, we assume that Src contains only
+ -- arguments that actually need to be copied, else we check the
+ -- arg modes of Src args and copy only those that need to,
+ -- according to Direction.
Src_It := First (List_Of (Src_Args).all);
Src_Idx := Copied_Src_Args'First;
@@ -393,14 +385,12 @@ package body PolyORB.Requests is
end loop;
if not Src_Arg_Found then
- declare
- Member : constant System_Exception_Members
- := (Minor => 1, Completed => Completed_No);
- begin
- Throw (Error, Bad_Param_E, Member);
- pragma Debug (C, O ("arg not found"));
- return;
- end;
+ pragma Debug (C, O ("argument not found"));
+ Throw
+ (Error, Bad_Param_E,
+ System_Exception_Members'
+ (Minor => 1, Completed => Completed_No));
+ return;
end if;
end if;
end;
@@ -408,8 +398,8 @@ package body PolyORB.Requests is
end loop;
if Can_Extend then
- -- If Dst_Args is an extensible NV_List, then we append the
- -- remaining Src_Args
+ -- If Dst_Args is an extensible NV_List, then we append the remaining
+ -- Src_Args.
Src_It := First (List_Of (Src_Args).all);
Src_Idx := Copied_Src_Args'First;
@@ -439,8 +429,8 @@ package body PolyORB.Requests is
Src_Args : Any.NVList.Ref;
Direction : Any.Flags;
Error : in out Error_Container;
- Ignore_Src_Mode : Boolean := True;
- Can_Extend : Boolean := False)
+ Ignore_Src_Mode : Boolean;
+ Can_Extend : Boolean := False)
is
use PolyORB.Components;
@@ -450,15 +440,13 @@ package body PolyORB.Requests is
use PolyORB.Any.NVList.Internals.NV_Lists;
function Name_Exists
- (Name : Types.Identifier; From : Iterator)
- return Boolean;
- -- True iff the list on which From iterates contains
- -- a namedvalue whose name is Name between the position
- -- denoted by From and the end of the list.
+ (Name : Types.Identifier; From : Iterator) return Boolean;
+ -- True if, and only if, the list on which From iterates contains a
+ -- NamedValue whose name is Name between the position denoted by From
+ -- and the end of the list.
function Name_Exists
- (Name : Types.Identifier; From : Iterator)
- return Boolean
+ (Name : Types.Identifier; From : Iterator) return Boolean
is
It : Iterator := From;
begin
@@ -481,8 +469,8 @@ package body PolyORB.Requests is
Src_It : Iterator;
Copy_Argument : Boolean;
Identification_By_Name, Identification_By_Position : Boolean := True;
- -- By default, we assume that arguments are identified by both
- -- name and position (this is the ideal case).
+ -- By default, we assume that arguments are identified by both name and
+ -- position (this is the ideal case).
begin
if Same_Entity (Src_Args, Dst_Args) then
@@ -501,12 +489,11 @@ package body PolyORB.Requests is
or else Value (Dst_It).Arg_Modes = Direction
then
- -- This arguments needs to be pumped up from the
- -- Src_Args list. If Ignore_Arg_Mode is True,
- -- we assume that Src contains only arguments
- -- that actually need to be copied, else we check
- -- the arg modes of Src args and copy only those
- -- that need to, according to Direction.
+ -- This arguments needs to be pumped up from the Src_Args list.
+ -- If Ignore_Arg_Mode is True, we assume that Src contains only
+ -- arguments that actually need to be copied, else we check the
+ -- arg modes of Src args and copy only those that need to,
+ -- according to Direction.
Src_It := First (List_Of (Src_Args).all);
Src_Idx := Copied_Src_Args'First;
@@ -514,8 +501,8 @@ package body PolyORB.Requests is
& To_String (Value (Dst_It).Name)));
loop
Copy_Argument := False;
- -- By default, we will not copy the argument: it is
- -- up to the algorithm to decide it.
+ -- By default, we will not copy the argument: it is up to
+ -- the algorithm to decide it.
if (Ignore_Src_Mode
or else Value (Src_It).Arg_Modes = ARG_INOUT
@@ -545,10 +532,9 @@ package body PolyORB.Requests is
then
Copy_Argument := True;
-- The name does not match. It is not a
- -- problem if we are identifying
- -- arguments by their positions and not
- -- by their names, since we then do not
- -- consider the names.
+ -- problem if we are identifying arguments by
+ -- their positions and not by their names,
+ -- since we then do not consider the names.
elsif Identification_By_Name
and then Name_Exists
@@ -556,94 +542,84 @@ package body PolyORB.Requests is
then
Identification_By_Position := False;
Copy_Argument := False;
- -- If the name does not match, but
- -- exists, and we are performing
- -- identification by name (and possibly
- -- identification by position), then we
- -- assume that the argument will match
- -- by name later and then we are not
- -- performing identification by
- -- position any more. Thus
- -- identification by name has the
- -- priority.
+ -- If the name does not match, but exists,
+ -- and we are performing identification by
+ -- name (and possibly identification by
+ -- position), then we assume that the
+ -- argument will match by name later and then
+ -- we are not performing identification by
+ -- position any more. Thus identification by
+ -- name has the priority.
else
Identification_By_Name := False;
pragma Debug (C, O ("no more ident by name"));
- -- If we were identifying the arguments
- -- by their names and the name does not
- -- match and does not exist in the hash
- -- table, then we cannot perform such
- -- identification any more.
+ -- If we were identifying the arguments by
+ -- their names and the name does not match
+ -- and does not exist in the hash table, then
+ -- we cannot perform such identification any
+ -- more.
if Identification_By_Position then
Copy_Argument := True;
else
- declare
- Member : constant
- System_Exception_Members
- := (Minor => 1,
- Completed => Completed_No);
- begin
- Throw (Error, Bad_TypeCode_E, Member);
- pragma Debug (C, O ("dead end"));
- return;
+ -- We must identify the arguments by name
+ -- or by position. Bail out if neither is
+ -- possible.
- -- We must identify the arguments either
- -- by their name or their position. If
- -- not, this is an error.
- end;
+ pragma Debug (C, O ("dead end"));
+ Throw
+ (Error, Bad_TypeCode_E,
+ System_Exception_Members'
+ (Minor => 1,
+ Completed => Completed_No));
+ return;
end if;
end if;
end if;
else
Identification_By_Position := False;
pragma Debug (C, O ("no more ident by pos"));
+
-- If we were identifying arguments by their
- -- positions, the types should have matched
- -- (first unused src_arg with first unused
- -- dst_arg). This is not the case, so we are
- -- not identifying arguments by their
- -- positions.
+ -- positions, the types should have matched (first
+ -- unused src_arg with first unused dst_arg). This
+ -- is not the case, so we are not identifying
+ -- arguments by their positions.
if Identification_By_Name then
if not Name_Exists
(Value (Dst_It).Name, From => Src_It)
then
- -- If the name does not exist, this
- -- means that we will never be able to
- -- make this argument match.
- declare
- Member : constant System_Exception_Members
- := (Minor => 1,
- Completed => Completed_No);
- begin
- Throw (Error, Bad_Param_E, Member);
- pragma Debug (C, O ("name not found"));
- return;
- end;
+ -- If the name does not exist, this means
+ -- that we will never be able to make this
+ -- argument match.
+
+ pragma Debug (C, O ("name not found"));
+ Throw
+ (Error, Bad_Param_E,
+ System_Exception_Members'
+ (Minor => 1, Completed => Completed_No));
+ return;
end if;
- -- Else, the type of src_arg does not
- -- match with dst_arg, but its name exists
- -- in the hash table; so we can hope that
- -- the argument which has the proper name
- -- also has the proper type: so we do
- -- nothing but continuing the search among
- -- src_args.
+ -- Else, the type of Src_Arg does not match
+ -- Dst_Arg, but its name exists in the hash
+ -- table, so we can hope that the argument which
+ -- has the proper name also has the proper type:
+ -- we do nothing but continuing the search
+ -- among Src_Args.
+
else
- declare
- Member : constant System_Exception_Members
- := (Minor => 1, Completed => Completed_No);
- begin
- Throw (Error, Bad_TypeCode_E, Member);
- pragma Debug
- (C, O ("by position impossible"));
- return;
- -- We must identify the arguments either
- -- by their name or their position. If
- -- not, this is an error.
- end;
+ -- We must identify the arguments by name or by
+ -- position. Bail out if neither is possible.
+
+ Throw
+ (Error, Bad_TypeCode_E,
+ System_Exception_Members'
+ (Minor => 1, Completed => Completed_No));
+ pragma Debug (C, O ("by position impossible"));
+ return;
end if;
end if;
end;
@@ -656,6 +632,7 @@ package body PolyORB.Requests is
Value (Src_It).Argument);
Copied_Src_Args (Src_Idx) := True;
exit;
+
else
Src_Idx := Src_Idx + 1;
Next (Src_It);
@@ -667,14 +644,12 @@ package body PolyORB.Requests is
end loop;
if not Src_Arg_Found then
- declare
- Member : constant System_Exception_Members
- := (Minor => 1, Completed => Completed_No);
- begin
- Throw (Error, Bad_Param_E, Member);
- pragma Debug (C, O ("arg not found"));
- return;
- end;
+ pragma Debug (C, O ("arg not found"));
+ Throw
+ (Error, Bad_Param_E,
+ System_Exception_Members'
+ (Minor => 1, Completed => Completed_No));
+ return;
end if;
end if;
end;
@@ -682,8 +657,8 @@ package body PolyORB.Requests is
end loop;
if Can_Extend then
- -- If dst_args is an extensible NV_List, then we append the
- -- remaining Src_Args
+ -- If Dst_Args is an extensible NV_List, then we append the remaining
+ -- Src_Args.
Src_It := First (List_Of (Src_Args).all);
Src_Idx := Copied_Src_Args'First;
@@ -722,27 +697,23 @@ package body PolyORB.Requests is
---------------
procedure Arguments
- (Self : Request_Access;
+ (Self : Request_Access;
Args : in out Any.NVList.Ref;
Error : in out Error_Container;
- Identification : Arguments_Identification := Ident_By_Position;
- Can_Extend : Boolean := False)
+ Identification : Arguments_Identification := Ident_By_Position;
+ Can_Extend : Boolean := False)
is
use Any.NVList;
use Components;
-
begin
if Self.Arguments_Called
or else not PolyORB.Any.Is_Empty (Self.Exception_Info)
then
- declare
- Member : constant System_Exception_Members
- := (Minor => 7, Completed => Completed_No);
- begin
- pragma Debug (C, O ("Arguments called twice"));
- Throw (Error, Bad_Inv_Order_E, Member);
- return;
- end;
+ pragma Debug (C, O ("Arguments called twice"));
+ Throw
+ (Error, Bad_Inv_Order_E,
+ System_Exception_Members'(Minor => 7, Completed => Completed_No));
+ return;
end if;
Self.Arguments_Called := True;
@@ -775,33 +746,48 @@ package body PolyORB.Requests is
pragma Debug (C, O ("in Arguments: " & Image (Self.Args)));
declare
- Identification_Method : constant Arguments_Identification
- := Identification and Self.Args_Ident;
-
+ Identification_Method : constant Arguments_Identification :=
+ Identification and Self.Args_Ident;
+ Ignore_Src_Mode : constant Boolean :=
+ Self.Requesting_Component.all
+ in Protocols.Session'Class;
begin
if Identification_Method = Ident_By_Position
or else Identification_Method = Ident_Both
then
+ -- If reconciling arguments by position, and the call comes
+ -- from a network connection, assume that only IN arguments are
+ -- present, and that the direction indications may be wrong in
+ -- Self.Args (because the protocol does not distinguish between
+ -- IN and IN OUT arguments). However for a local call, we may
+ -- assume that direction indicators are correct, and we must
+ -- ensure that we omit all OUT arguments.
+
Pump_Up_Arguments_By_Position
- (Dst_Args => Args,
- Src_Args => Self.Args,
- Direction => Any.ARG_IN,
- Error => Error,
- Can_Extend => Can_Extend);
+ (Dst_Args => Args,
+ Src_Args => Self.Args,
+ Direction => Any.ARG_IN,
+ Error => Error,
+ Ignore_Src_Mode => Ignore_Src_Mode,
+ Can_Extend => Can_Extend);
+
elsif Identification_Method = Ident_By_Name then
Pump_Up_Arguments_By_Name
- (Dst_Args => Args,
- Src_Args => Self.Args,
- Direction => Any.ARG_IN,
- Error => Error,
- Can_Extend => Can_Extend);
+ (Dst_Args => Args,
+ Src_Args => Self.Args,
+ Direction => Any.ARG_IN,
+ Error => Error,
+ Ignore_Src_Mode => Ignore_Src_Mode,
+ Can_Extend => Can_Extend);
+
else
Pump_Up_Arguments_Unspecified
- (Dst_Args => Args,
- Src_Args => Self.Args,
- Direction => Any.ARG_IN,
- Error => Error,
- Can_Extend => Can_Extend);
+ (Dst_Args => Args,
+ Src_Args => Self.Args,
+ Direction => Any.ARG_IN,
+ Error => Error,
+ Ignore_Src_Mode => Ignore_Src_Mode,
+ Can_Extend => Can_Extend);
end if;
end;
end if;
@@ -838,14 +824,11 @@ package body PolyORB.Requests is
or else Self.Set_Result_Called
or else not PolyORB.Any.Is_Empty (Self.Exception_Info)
then
- declare
- Member : constant System_Exception_Members :=
- (Minor => 8, Completed => Completed_No);
- begin
- pragma Debug (C, O ("Invalid Set_Result call"));
- Throw (Error, Bad_Inv_Order_E, Member);
- return;
- end;
+ pragma Debug (C, O ("Invalid Set_Result call"));
+ Throw
+ (Error, Bad_Inv_Order_E,
+ System_Exception_Members'(Minor => 8, Completed => Completed_No));
+ return;
end if;
Self.Set_Result_Called := True;
@@ -882,8 +865,8 @@ package body PolyORB.Requests is
Error : in out Error_Container;
Identification : Arguments_Identification := Ident_By_Position)
is
- Identification_Method : constant Arguments_Identification
- := Identification and Self.Args_Ident;
+ Identification_Method : constant Arguments_Identification :=
+ Identification and Self.Args_Ident;
begin
if Identification_Method = Ident_By_Position
or else Identification_Method = Ident_Both
@@ -909,13 +892,11 @@ package body PolyORB.Requests is
Ignore_Src_Mode => False,
Error => Error);
end if;
- -- Copy back inout and out arguments from Out_Args
- -- to Args, so the requestor finds them where
- -- it expects.
+ -- Copy back inout and out arguments from Out_Args to Args, so the
+ -- requestor finds them where it expects.
- -- XXX If a method has IN and OUT args and R.Args
- -- contains only the IN arguments (and no empty
- -- Any's for the OUT ones) what happens?
+ -- XXX If a method has IN and OUT args and R.Args contains only the IN
+ -- arguments (and no empty Any's for the OUT ones) what happens?
end Set_Out_Args;
end PolyORB.Requests;
============================================================
--- src/polyorb-smart_pointers.adb 2b75da4b1dcd5ddc1a5741eb43ac626108ca0078
+++ src/polyorb-smart_pointers.adb 3708a49832a6b36abcebe143d72dc127b80bfc15
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2001-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -76,9 +76,7 @@ package body PolyORB.Smart_Pointers is
-- Dec_Usage --
---------------
- procedure Dec_Usage
- (Obj : in out Entity_Ptr)
- is
+ procedure Dec_Usage (Obj : in out Entity_Ptr) is
procedure Free is new Ada.Unchecked_Deallocation
(Unsafe_Entity'Class, Entity_Ptr);
@@ -221,17 +219,29 @@ package body PolyORB.Smart_Pointers is
end if;
end Return_Ref_External_Tag;
+ Obj : Entity_Ptr := The_Ref.A_Ref;
+
begin
pragma Debug (C, O (Return_Ref_External_Tag));
- if The_Ref.A_Ref /= null then
- Dec_Usage (The_Ref.A_Ref);
+ -- Invalidate A_Ref early because such access may subsequently become
+ -- erroneous, see below.
+
+ The_Ref.A_Ref := null;
+
+ if Obj /= null then
+ Dec_Usage (Obj);
+
+ -- From this point on, we may not assume that The_Ref is still valid,
+ -- because in the case of auto-referential structures, it may be
+ -- a member of Obj.all, which has been destroyed above if its ref
+ -- counter dropped to 0.
+
else
pragma Debug (C, O ("Finalize: null ref"));
null;
end if;
- The_Ref.A_Ref := null;
pragma Debug (C, O ("Finalize: leave"));
end Finalize;
============================================================
--- src/polyorb-tasking-profiles-full_tasking-threads.adb cb1cfa33d9a7abd96b22bd02c6fd7181797e5028
+++ src/polyorb-tasking-profiles-full_tasking-threads.adb 7af57c9f78c1d1810a290d444f436d7222cd4e8d
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2002-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 2002-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -135,7 +135,7 @@ package body PolyORB.Tasking.Profiles.Fu
if Terminated_Task /= null then
O ("Reaper: giving up on non-terminating task "
& Ada.Task_Identification.Image (Terminated_Task'Identity),
- Error);
+ Notice);
end if;
or
terminate;
============================================================
--- src/polyorb-utils-buffers.adb a44b2814f571c3d8fd0f91fa41cd04962f805683
+++ src/polyorb-utils-buffers.adb 8e4f6bde700d063df06afa6a6787084cee31e3bc
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2001-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -51,7 +51,9 @@ package body PolyORB.Utils.Buffers is
Data_Address : Opaque_Pointer;
Item_Swapped : aliased T;
begin
- Pad_Align (Buffer, T'Size / 8);
+ if With_Alignment then
+ Pad_Align (Buffer, T'Size / 8);
+ end if;
Allocate_And_Insert_Cooked_Data
(Buffer,
@@ -91,7 +93,9 @@ package body PolyORB.Utils.Buffers is
function Unmarshall (Buffer : access Buffer_Type) return T is
Data_Address : Opaque_Pointer;
begin
- Align_Position (Buffer, T'Size / 8);
+ if With_Alignment then
+ Align_Position (Buffer, T'Size / 8);
+ end if;
Extract_Data (Buffer, Data_Address, T'Size / 8);
-- Note: Need to go through a stream element array to account for
============================================================
--- src/polyorb-utils-buffers.ads 635fb1b582ab3c700ce12756e9062cc0f9109d4e
+++ src/polyorb-utils-buffers.ads b6d97a5c47d26f4402779fca18486d336149d8e6
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2001-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -37,25 +37,30 @@ package PolyORB.Utils.Buffers is
use PolyORB.Buffers;
use Ada.Streams;
- -- Marshalling and unmarshalling of elementary multi-byte data types
+ ----------------------------------------------------
+ -- Marshalling/unmarshalling of elementary types --
+ ----------------------------------------------------
+
-- This generic package provides marshalling and unmarshalling operations
-- that transfer the memory representation of T to/from the buffer,
- -- with alignment equal to the data size, and performing byte swapping
- -- if the buffer endianness differs from the host order.
+ -- with optional alignment (equal to the data size), and performing byte
+ -- swapping if the buffer endianness differs from the host order.
generic
type T is private;
with function Swapped (Item : T) return T is <>;
+
+ With_Alignment : Boolean := True;
+ -- If With_Alignment is False, then don't align the buffer prior to
+ -- transfers in the routines below.
+
package Align_Transfer_Elementary is
- procedure Marshall
- (Buffer : access Buffer_Type;
- Item : T);
+ procedure Marshall (Buffer : access Buffer_Type; Item : T);
-- Align buffer on T'Size, then marshall a copy of Item, swapping its
-- bytes using the provided procedure if Buffer's endianness is not
-- Host_Order.
- function Unmarshall
- (Buffer : access Buffer_Type) return T;
+ function Unmarshall (Buffer : access Buffer_Type) return T;
-- Align buffer on T'Size, then unmarshall a T value, swapping its bytes
-- using the provided swapper if Buffer's endianness is not Host_Order.
end Align_Transfer_Elementary;
@@ -64,15 +69,14 @@ package PolyORB.Utils.Buffers is
(Buffer : access Buffer_Type;
Octets : Stream_Element_Array;
Alignment : Alignment_Type := 1);
- -- Align Buffer on Alignment, then marshall a copy
- -- of Octets into Buffer, as is.
+ -- Align Buffer on Alignment, then marshall a copy of Octets into it, as is
procedure Align_Unmarshall_Copy
(Buffer : access Buffer_Type;
Alignment : Alignment_Type := 1;
Data : out Stream_Element_Array);
-- Align Buffer on Alignment, then fill Data by extracting Data'Length
- -- at the current position. The data need not be contiguous in the buffer
- -- (it may span multiple chunks).
+ -- bytes at the current position. The data need not be contiguous in the
+ -- in (it may span multiple chunks).
end PolyORB.Utils.Buffers;
============================================================
--- src/polyorb-utils-random.ads 18219a4e932a758806daff7a3b51c74f43107162
+++ src/polyorb-utils-random.ads fdf971db65f33ce314a93e87dcdc7f70993fa0de
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2003-2007, Free Software Foundation, Inc. --
+-- Copyright (C) 2003-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -25,8 +25,8 @@
-- --
------------------------------------------------------------------------------
--- A pseudo-random generator based on Makoto Matsumoto and Takuji
--- Nishimura `Mersenne Twister' random number generator MT19937.
+-- A pseudo-random generator based on Makoto Matsumoto and Takuji Nishimura
+-- `Mersenne Twister' random number generator MT19937.
-- Note: we cannot depend on Ada.Numerics.Discrete_Random because of
-- its wrong categorization. PolyORB components require a preelaborable
============================================================
--- src/soap/polyorb-soap_p-message-response-error.adb fc7111f4db4fea97f3ee9d0ec5424dc86aa444b3
+++ src/soap/polyorb-soap_p-message-response-error.adb c327f08291f27a7993dae78a94bc874896450b5a
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2000-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2000-2008, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -202,7 +202,7 @@ package body PolyORB.SOAP_P.Message.Resp
(Message_Body,
" "
& SOAP.Utils.Tag (P_Name, Start => True)
- & Types.Image (P_K)
+ & Types.Value_Image (P_K)
& SOAP.Utils.Tag (P_Name, Start => False)
& NL);
end;
============================================================
--- src/soap/polyorb-soap_p-types.adb bf80357e8d0ec2988adea57f2c5a703afe40de08
+++ src/soap/polyorb-soap_p-types.adb 91998a249b91f4e25bad0322350887c0ffa0e519
@@ -286,7 +286,7 @@ package body PolyORB.SOAP_P.Types is
-- -- Image --
-- -----------
- function Image (NV : NamedValue) return String is
+ function Value_Image (NV : NamedValue) return String is
TC : constant TypeCode.Object_Ptr := Get_Unwound_Type (NV.Argument);
Kind : constant TCKind := TypeCode.Kind (TC);
begin
@@ -334,7 +334,7 @@ package body PolyORB.SOAP_P.Types is
-- XXX ???
return "Image: Unsupported TCKind:" & TCKind'Image (Kind);
end case;
- end Image;
+ end Value_Image;
-- function Image (O : XSD_Time_Instant) return String is
@@ -569,7 +569,7 @@ package body PolyORB.SOAP_P.Types is
pragma Debug (C, O ("Defaulting."));
return "<" & To_Standard_String (NV.Name)
& xsi_type (XML_Type (NV)) & '>'
- & Image (NV)
+ & Value_Image (NV)
& "</" & To_Standard_String (NV.Name) & '>';
end case;
end XML_Image;
@@ -648,7 +648,7 @@ package body PolyORB.SOAP_P.Types is
return "<" & Tag_Name
& " id="""
& PolyORB.Types.Trimmed_Image (Unsigned_Long_Long (Pos)) & """>"
- & Image (NV)
+ & Value_Image (NV)
& "</" & Tag_Name & ">";
end XML_Enum_Image;
============================================================
--- src/soap/polyorb-soap_p-types.ads d318b243b7b1ddce9d5d0c3fe381ba9c466456bb
+++ src/soap/polyorb-soap_p-types.ads 07c22d5430d6af4370caee621991b89352aed779
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2000-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2000-2008, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -35,7 +35,7 @@ package PolyORB.SOAP_P.Types is
Data_Error : exception;
-- Raised when a variable has not the expected type.
- function Image (NV : NamedValue) return String;
+ function Value_Image (NV : NamedValue) return String;
-- Returns O value image.
function XML_Image (NV : NamedValue) return String;
============================================================
--- support/missing 3830cf89148a136f4cdb1bc0c32f0a235b1b24bc
+++ support/missing 9f7c375af6106a150446e5faf344d62e406b1944
@@ -18,11 +18,6 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
============================================================
--- testsuite/README e98167efe6becaf566a3859634c2dc007391e131
+++ testsuite/README efb2237475fc745194b6089c65e40c771c848570
@@ -28,13 +28,11 @@ 2/ Build PolyORB's examples
2/ Build PolyORB's examples
-Go in $build_dir/examples
-Run make
+$ make examples
3/ Build the test suite
-Go in $build_dir/testsuite
-Run Make
+$ make testsuite
Note: some tests are not built by default: they require the
installation of third-party middleware, and adaptation of the
@@ -43,7 +41,7 @@ for more details.
* Run the test suite
-In $buld_dir/testsuite, type 'make run_tests'.
+$ make run_tests
This will launch the test suite. Output is in $build_dir/output.
============================================================
--- testsuite/corba/performance/bench_utils.adb 2c557f53688c211dfe7bc6dd3444693e6ae7f871
+++ testsuite/corba/performance/bench_utils.adb 81aac62163fab7ec3b519ec23db2190171075e4a
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2007, Free Software Foundation, Inc. --
+-- Copyright (C) 2007-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -117,6 +117,7 @@ package body Bench_Utils is
& Ada.Exceptions.Exception_Information (E));
Output (Test_Name, False);
Close (Fd);
+ return;
end;
D2 := Clock;
============================================================
--- testsuite/scenarios/corba-interop.conf 3ec2d8a34c96362bfdf78eacc7298977ba5c1d42
+++ testsuite/scenarios/corba-interop.conf 118dcdc564b7b33b68da29ef7d4aec83aada472e
@@ -5,6 +5,7 @@ type=client_server
[test CORBA_INTEROP_0]
id=MICO only test
type=client_server
+expected_failure=true
[client CORBA_INTEROP_0]
command=corba/interop/cpp/MICO/all_types_dynclient
@@ -15,6 +16,7 @@ type=client_server
[test CORBA_INTEROP_1]
id=omniORB only test
type=client_server
+expected_failure=true
[client CORBA_INTEROP_1]
command=corba/interop/cpp/omniORB/all_types_dynclient
@@ -25,6 +27,7 @@ type=client_server
[test CORBA_INTEROP_2]
id=TAO only test
type=client_server
+expected_failure=true
[client CORBA_INTEROP_2]
command=corba/interop/cpp/TAO/all_types_dynclient
@@ -35,6 +38,7 @@ type=client_server
[test CORBA_INTEROP_3]
id=omniORB client/PolyORB server all_types test
type=client_server
+expected_failure=true
[client CORBA_INTEROP_3]
command=corba/interop/cpp/omniORB/all_types_client
@@ -45,6 +49,7 @@ type=client_server
[test CORBA_INTEROP_4]
id=omniORB client/PolyORB server all_functions test
type=client_server
+expected_failure=true
[client CORBA_INTEROP_4]
command=corba/interop/cpp/omniORB/all_functions_client
@@ -55,6 +60,7 @@ type=client_server
[test CORBA_INTEROP_5]
id=TAO client/PolyORB server all_types test
type=client_server
+expected_failure=true
[client CORBA_INTEROP_5]
command=corba/interop/cpp/TAO/all_types_dynclient
============================================================
--- testsuite/scenarios/corba-performance.conf 03cdcc26d31c514cb03339f50868eea230b3f743
+++ testsuite/scenarios/corba-performance.conf 497b3d366f9bb662370a77fc8790ae1a31454ade
@@ -6,6 +6,7 @@ timeout=1000000
id=Performance of the stack
type=client_server
timeout=1000000
+expected_failure=true
[client CORBA_PERFORMANCE_0]
command=corba/performance/client
============================================================
--- testsuite/scenarios/corba-shutdown.conf 1e0310f2447d1db46a8b97b28a50228d65bf1e68
+++ testsuite/scenarios/corba-shutdown.conf ba9df3a7919356f41c4b6522a13ca72871bcf414
@@ -10,4 +10,5 @@ type=local
[test SHUTDOWN_1]
id=CORBA.ORB.Shutdown blocking test
type=local
+expected_failure=true
command=corba/shutdown/test001_client
============================================================
--- testsuite/scenarios/examples-corba-all_types.conf b683b55b306cc905b1a513c9483249c603ec4453
+++ testsuite/scenarios/examples-corba-all_types.conf 69863de552f0137e5cbaf5cb299595de8b71892c
@@ -52,6 +52,7 @@ type=client_server
[test ALL_TYPES_4]
id=All_Types test, using SSLIOP protocol
type=client_server
+expected_failure=true
[client ALL_TYPES_4]
command=../examples/corba/all_types/client
============================================================
--- testsuite/scenarios/examples-corba-rtcorba-dhb.conf a964946c514e8c0a53bb8090950d6d45d6a0b92a
+++ testsuite/scenarios/examples-corba-rtcorba-dhb.conf 2516ebd0e1dc7f2a9306e322d8d63cd155f4299d
@@ -5,6 +5,7 @@ type=client_server
[test RTCORBA_DHB_0]
id=RTCORBA DHB benchmark
type=client_server
+expected_failure=true
exec_in_base_dir=true
timeout=100000
============================================================
--- testsuite/scenarios/examples-corba-rtcorba-rtcosscheduling.conf 32ff9ffd40b9d91791590c89e636f9a6d3daea06
+++ testsuite/scenarios/examples-corba-rtcorba-rtcosscheduling.conf 9e76d7280cc2bc74a8a9ead27af0707de3a5a8fc
@@ -6,6 +6,7 @@ exec_in_base_dir=true
id=Test RTCosScheduling
type=client_server
exec_in_base_dir=true
+expected_failure=true
[client RTCORBA_RTCOSSCHEDULING_0]
command=../examples/corba/rtcorba/rtcosscheduling/client
============================================================
--- testsuite/scenarios/examples-corba-secure_echo.conf d7124b1012b1e09e8d9adb42df4d8ba12588cb67
+++ testsuite/scenarios/examples-corba-secure_echo.conf 1b30925c105f7240d4aafe5b813c9abaa4b0314c
@@ -7,15 +7,18 @@ exec_in_base_dir=true
type=local
command=../examples/corba/secure_echo/gssup_example
exec_in_base_dir=true
+expected_failure=true
[test CORBA_SECURE_ECHO_1]
id=CSIv2 CORBA echo test, TLS
type=local
command=../examples/corba/secure_echo/tls_example
exec_in_base_dir=true
+expected_failure=true
[test CORBA_SECURE_ECHO_2]
id=CSIv2 CORBA echo test, TLS GSSUP
type=local
command=../examples/corba/secure_echo/tls_gssup_example
exec_in_base_dir=true
+expected_failure=true
============================================================
--- testsuite/scenarios/examples-moma.conf bc940d9175a93a3f19d14ee09c72f3865c075480
+++ testsuite/scenarios/examples-moma.conf bbb27f6fe37dbd7c7dfb922d58940526013126a9
@@ -6,6 +6,7 @@ exec_in_base_dir=true
id=Simple test
type=client_server
exec_in_base_dir=true
+expected_failure=true
[client MOMA_0]
command=../examples/moma/client
@@ -17,6 +18,7 @@ exec_in_base_dir=true
id=Call back test
type=client_server
exec_in_base_dir=true
+expected_failure=true
[client MOMA_1]
command=../examples/moma/client_call_back
============================================================
--- testsuite/utils/test_driver.adb c7b9cf68c39c8949437468d38ebe7c726a73846d
+++ testsuite/utils/test_driver.adb f790194f6c3fce028d09d2deb0386a8db7b02605
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2002-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 2002-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -27,7 +27,6 @@
-- Wrapper to launch PolyORB's testsuite
-with Ada.Exceptions;
with Ada.Text_IO;
with GNAT.Command_Line;
@@ -75,6 +74,7 @@ procedure Test_Driver is
Item : String_Access;
Configuration_Base_Dir : String_Access;
Position : Integer := -1;
+ Verbose : Boolean := False;
---------
-- Run --
@@ -94,14 +94,16 @@ procedure Test_Driver is
(Item.all, Position,
Configuration_Base_Dir.all,
Test_Suite_Output'Class (Output.all),
- Result);
+ Result,
+ Verbose);
when Run_All_Scenarios =>
Test_Suite.Scenarios.Run_All_Scenarios
(Item.all,
Configuration_Base_Dir.all,
Test_Suite_Output'Class (Output.all),
- Result);
+ Result,
+ Verbose);
end case;
Log (Test_Suite_Output'Class (Output.all), "Test driver exited.");
@@ -113,26 +115,9 @@ procedure Test_Driver is
Close (Test_Suite_Output'Class (Output.all));
- if Result then
- GNAT.OS_Lib.OS_Exit (0);
- else
+ if not Result then
GNAT.OS_Lib.OS_Exit (1);
end if;
-
- exception
- when E : others =>
- Error (Test_Suite_Output'Class (Output.all),
- "==> Internal Error <==");
- Error (Test_Suite_Output'Class (Output.all),
- " Got exception: "
- & Ada.Exceptions.Exception_Name (E)
- & ", "
- & Ada.Exceptions.Exception_Message (E));
- Error (Test_Suite_Output'Class (Output.all),
- " with information: "
- & Ada.Exceptions.Exception_Information (E));
- Close (Test_Suite_Output'Class (Output.all));
- GNAT.OS_Lib.OS_Exit (1);
end Run;
-----------------------
@@ -142,7 +127,7 @@ procedure Test_Driver is
procedure Scan_Command_Line is
begin
loop
- case Getopt ("scenario: full: output: config: position:") is
+ case Getopt ("scenario: full: output: config: position: verbose") is
when ASCII.NUL =>
exit;
@@ -184,6 +169,11 @@ procedure Test_Driver is
Position := Integer'Value (Parameter);
end if;
+ when 'v' =>
+ if Full_Switch = "verbose" then
+ Verbose := True;
+ end if;
+
when others =>
raise Program_Error;
end case;
@@ -191,9 +181,11 @@ procedure Test_Driver is
exception
when Invalid_Switch =>
+ Scan_Succesful := False;
Put_Line (Standard_Error, "Invalid Switch " & Full_Switch);
when Invalid_Parameter =>
+ Scan_Succesful := False;
Put_Line (Standard_Error, "No parameter for " & Full_Switch);
end Scan_Command_Line;
@@ -209,9 +201,10 @@ procedure Test_Driver is
begin
New_Line;
Put_Line (Standard_Error, "Usage: " & Executable_Name
- & " -scenario scenario_file [-position N]"
- & "|-full directory"
- & " -output file|text -config dir,");
+ & " -scenario scenario_file [-position N]"
+ & "|-full directory"
+ & " -output file|stdout -config dir,"
+ & " -verbose");
Put_Line (Standard_Error,
" -scenario scenario_file : plays scenario_file,");
Put_Line (Standard_Error,
@@ -223,6 +216,8 @@ procedure Test_Driver is
" -output file|stdout : output to files|standard output");
Put_Line (Standard_Error,
" -config dir : directory for scenario files ");
+ Put_Line (Standard_Error,
+ " -verbose : print information on the run ");
New_Line;
end Usage;
@@ -238,14 +233,6 @@ begin
Run;
else
Usage;
+ GNAT.OS_Lib.OS_Exit (1);
end if;
-
-exception
- when E : others =>
- Put_Line (Standard_Error, "==> Internal Error <==");
- Put_Line (Standard_Error, " Got exception: "
- & Ada.Exceptions.Exception_Name (E)
- & ", "
- & Ada.Exceptions.Exception_Message (E));
-
end Test_Driver;
============================================================
--- testsuite/utils/test_suite-scenarios.adb 6034dc4ba01f9e8daf65fc2be7a283e68f101f22
+++ testsuite/utils/test_suite-scenarios.adb d9d360f014fdd8f0b03202b5d4b30f01703d495d
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2003-2007, Free Software Foundation, Inc. --
+-- Copyright (C) 2003-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -26,14 +26,18 @@ with Ada.Exceptions;
------------------------------------------------------------------------------
with Ada.Exceptions;
+with Ada.Text_IO;
with GNAT.Directory_Operations.Iteration;
with PolyORB.Parameters.File;
+with PolyORB.Utils.Report;
with Test_Suite.Test_Case.Parser;
package body Test_Suite.Scenarios is
+ use Ada.Text_IO;
+
Total_Failed_Tests : Natural := 0;
Total_Tests : Natural := 0;
@@ -42,11 +46,12 @@ package body Test_Suite.Scenarios is
------------------
procedure Run_Scenario
- (Scenario_File : String;
- Position : Integer := -1;
+ (Scenario_File : String;
+ Position : Integer := -1;
Configuration_Dir : String;
- Output : Test_Suite_Output'Class;
- Test_Success : out Boolean)
+ Output : Test_Suite_Output'Class;
+ Test_Success : out Boolean;
+ Verbose : Boolean)
is
use PolyORB.Parameters;
use PolyORB.Parameters.File;
@@ -80,6 +85,10 @@ package body Test_Suite.Scenarios is
Log (Output, "Scenario " & Scenario_Name);
Log (Output, "Description: " & Scenario_Id);
+ if Verbose then
+ Put_Line ("Starting scenario " & Scenario_Name);
+ end if;
+
if Position = -1 then
loop
declare
@@ -138,6 +147,7 @@ package body Test_Suite.Scenarios is
& Natural'Image (Expected_Failed_Tests)
& " expected failed tests");
Test_Success := True;
+
else
Log (Output, "FAILED:"
& Natural'Image (Count - Failed_Tests)
@@ -147,8 +157,12 @@ package body Test_Suite.Scenarios is
Test_Success := False;
end if;
- Separator (Output);
+ if Verbose then
+ PolyORB.Utils.Report.Output
+ ("Scenario " & Scenario_Name, Test_Success);
+ end if;
+ Separator (Output);
Close_Scenario_Output_Context (Output, Result_Total);
Total_Failed_Tests := Total_Failed_Tests + Failed_Tests;
@@ -160,6 +174,7 @@ package body Test_Suite.Scenarios is
Log (Output, "Error in scenario file: " & Scenario_File);
Log (Output, Ada.Exceptions.Exception_Information (E));
Separator (Output);
+ raise;
end Run_Scenario;
-----------------------
@@ -167,13 +182,30 @@ package body Test_Suite.Scenarios is
-----------------------
procedure Run_All_Scenarios
- (Directory_Name : String;
+ (Directory_Name : String;
Configuration_Dir : String;
- Output : Test_Suite_Output'Class;
- Test_Success : out Boolean)
+ Output : Test_Suite_Output'Class;
+ Test_Success : out Boolean;
+ Verbose : Boolean)
is
Scenarios : Natural := 0;
+ procedure Count_Scenario_Wrapper
+ (Scenario_File : String;
+ Index : Positive;
+ Quit : in out Boolean);
+
+ procedure Count_Scenario_Wrapper
+ (Scenario_File : String;
+ Index : Positive;
+ Quit : in out Boolean)
+ is
+ pragma Unreferenced (Scenario_File, Index);
+ begin
+ Scenarios := Scenarios + 1;
+ Quit := False;
+ end Count_Scenario_Wrapper;
+
procedure Run_Scenario_Wrapper
(Scenario_File : String;
Index : Positive;
@@ -188,26 +220,43 @@ package body Test_Suite.Scenarios is
Test_Output : Boolean;
begin
Run_Scenario
- (Scenario_File, -1, Configuration_Dir, Output, Test_Output);
+ (Scenario_File, -1, Configuration_Dir, Output, Test_Output,
+ Verbose);
Test_Success := Test_Success and Test_Output;
- Scenarios := Scenarios + 1;
Quit := False;
end Run_Scenario_Wrapper;
procedure Run_Scenario_With_Pattern is new
GNAT.Directory_Operations.Iteration.Find (Run_Scenario_Wrapper);
+ procedure Count_Scenario is new
+ GNAT.Directory_Operations.Iteration.Find (Count_Scenario_Wrapper);
+
begin
Test_Success := True;
Log (Output, "Running all scenario from: " & Directory_Name);
Separator (Output);
+ Count_Scenario (Directory_Name, "(.*)-(.*)\.conf");
+
+ if Verbose then
+ Put_Line ("Running all" & Integer'Image (Scenarios)
+ & " scenario files from: " & Directory_Name);
+ end if;
+
Run_Scenario_With_Pattern (Directory_Name, "(.*)-(.*)\.conf");
Log (Output, Natural'Image (Scenarios) & " scenarios executed,");
Log (Output, Natural'Image (Total_Tests - Total_Failed_Tests)
- & " out of" & Natural'Image (Total_Tests)
- & " tests passed");
+ & " out of" & Natural'Image (Total_Tests)
+ & " tests passed");
+
+ if Verbose then
+ Put_Line (Natural'Image (Scenarios) & " scenarios executed,");
+ Put_Line (Natural'Image (Total_Tests - Total_Failed_Tests)
+ & " out of" & Natural'Image (Total_Tests)
+ & " tests passed");
+ end if;
end Run_All_Scenarios;
end Test_Suite.Scenarios;
============================================================
--- testsuite/utils/test_suite-scenarios.ads f901d29d36ad8094c70c1947f5c13de9f9eed036
+++ testsuite/utils/test_suite-scenarios.ads 1e01ddf58df833d83e1b35645fdae83864d8b8cf
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2003-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2003-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -32,20 +32,22 @@ package Test_Suite.Scenarios is
use Test_Suite.Output;
procedure Run_Scenario
- (Scenario_File : String;
- Position : Integer := -1;
+ (Scenario_File : String;
+ Position : Integer := -1;
Configuration_Dir : String;
- Output : Test_Suite_Output'Class;
- Test_Success : out Boolean);
+ Output : Test_Suite_Output'Class;
+ Test_Success : out Boolean;
+ Verbose : Boolean);
-- Run scenario file Scenario_File. If Position is greater than
-- -1, executes only test at #position position in Scenario_File.
-- On exit, set Test_Success according to test output.
procedure Run_All_Scenarios
- (Directory_Name : String;
+ (Directory_Name : String;
Configuration_Dir : String;
- Output : Test_Suite_Output'Class;
- Test_Success : out Boolean);
+ Output : Test_Suite_Output'Class;
+ Test_Success : out Boolean;
+ Verbose : Boolean);
-- Run recursively all scenarios in Directory_Name directory
-- On exit, set Test_Success according to test output.
============================================================
--- testsuite/utils/test_suite-test_case-parser.adb 2284894848c94070afd83290fa03c91006d4304c
+++ testsuite/utils/test_suite-test_case-parser.adb 8bc82cba9c1f921b3cfe0d3088c4d9a80e05e4c3
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2003-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 2003-2009, Free Software Foundation, Inc. --
-- --
-- PolyORB is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
@@ -47,7 +47,7 @@ package body Test_Suite.Test_Case.Parser
Output : Test_Suite_Output'Class)
return Test'Class
is
- Default_Timeout : constant Integer := 10_000;
+ Default_Timeout : constant Integer := 100_000;
Test_Id : constant String := Natural'Image (Number);
@@ -89,12 +89,13 @@ package body Test_Suite.Test_Case.Parser
declare
Timeout_S : constant String := Get_Conf (Section, "timeout");
begin
- Timeout := Integer'Value (Timeout_S);
- Log (Output, " Timeout :" & Integer'Image (Timeout));
- exception
- when others =>
+ if Timeout_S = "" then
Timeout := Default_Timeout;
Log (Output, " Timeout : (default)" & Integer'Image (Timeout));
+ else
+ Timeout := Integer'Value (Timeout_S);
+ Log (Output, " Timeout :" & Integer'Image (Timeout));
+ end if;
end;
Separator (Output);