/*************************************************************************** * Copyright 1995, Technion, Israel Institute of Technology * Electrical Eng, Software Lab. * Author: Michael Veksler. *************************************************************************** * File: dde_mem_test.c * Purpose : test shared DDE memory functionality for DDE * Usage: Look for assertion failures *************************************************************************** */ #include #include #include #include "dde_mem.h" /* stub */ void ATOM_GlobalInit() { printf("ATOM_GlobalInit\n"); } int main() { HWND h1,h2,h3; int ret; void *p1,*p2,*p3,*p; SHMDATA shmdata; /* alloc h1, h2, h3 */ setbuf(stdout,NULL); p1=DDE_malloc(GMEM_DDESHARE, 0x6000, &shmdata); h1= shmdata.handle; assert(p1 != NULL); assert(h1 != 0); p2=DDE_malloc(GMEM_DDESHARE, 0xff00, &shmdata); h2= shmdata.handle; assert(p2 != NULL); assert(h2 != 0); p3=DDE_malloc(GMEM_DDESHARE, 0x6000, &shmdata); h3= shmdata.handle; assert(p3 != 0); assert(h3 != 0); /* lock h1, h2, h3 */ p=DDE_AttachHandle(h1,NULL); assert(p1==p); p=DDE_AttachHandle(h2,NULL); assert(p2==p); p=DDE_AttachHandle(h3,NULL); assert(p3==p); ret=DDE_GlobalFree(h1); assert(ret==0); /* do some implementation dependant tests */ p=DDE_malloc(GMEM_DDESHARE, 0x6000, &shmdata); assert(p!=NULL); assert(shmdata.handle==h1); p=DDE_AttachHandle(h1,NULL); assert(p1==p); /* check freeing */ ret=DDE_GlobalFree(h1); assert(ret==0); ret=DDE_GlobalFree(h2); assert(ret==0); ret=DDE_GlobalFree(h3); assert(ret==0); return 0; }