You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by to...@apache.org on 2007/06/20 09:14:48 UTC

svn commit: r548963 - in /harmony/enhanced/classlib/trunk/modules/portlib: build.xml src/test/native/hytime/shared/hytime.c src/test/native/hytime/unix/makefile src/test/native/hytime/windows/makefile

Author: tonywu
Date: Wed Jun 20 00:14:47 2007
New Revision: 548963

URL: http://svn.apache.org/viewvc?view=rev&rev=548963
Log:
Apply patch HARMONY-4244 ([classlib][portlib] Modified the hytime test by using HyCunit)

Modified:
    harmony/enhanced/classlib/trunk/modules/portlib/build.xml
    harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hytime/shared/hytime.c
    harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hytime/unix/makefile
    harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hytime/windows/makefile

Modified: harmony/enhanced/classlib/trunk/modules/portlib/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/build.xml?view=diff&rev=548963&r1=548962&r2=548963
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/build.xml (original)
+++ harmony/enhanced/classlib/trunk/modules/portlib/build.xml Wed Jun 20 00:14:47 2007
@@ -195,7 +195,7 @@
         </condition>
         <!-- <exec-native test="init" /> -->
         <exec-native test="hyerror" />
-        <!-- <exec-native test="hytime" /> -->
+        <exec-native test="hytime" />
         <!-- <exec-native test="hyfile" /> -->
         <!-- <exec-native test="hystr" /> -->
 	

Modified: harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hytime/shared/hytime.c
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hytime/shared/hytime.c?view=diff&rev=548963&r1=548962&r2=548963
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hytime/shared/hytime.c (original)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hytime/shared/hytime.c Wed Jun 20 00:14:47 2007
@@ -20,17 +20,26 @@
 #include "hycomp.h"
 #include "hyport.h"
 #include "hythread.h"
+#include "hycunit.h"
+
+int test_hytime_current_time_millis(struct HyPortLibrary *hyportLibrary);
+int test_hytime_msec_clock(struct HyPortLibrary *hyportLibrary);
+int test_hytime_hires_clock(struct HyPortLibrary *hyportLibrary);
+int test_hytime_hires_delta(struct HyPortLibrary *hyportLibrary);
+int test_hytime_hires_frequency(struct HyPortLibrary *hyportLibrary);
+int test_hytime_usec_clock(struct HyPortLibrary *hyportLibrary);
+int test_hytime_shutdown(struct HyPortLibrary *hyportLibrary);
+int test_hytime_startup(struct HyPortLibrary *hyportLibrary);
 
 int main (int argc, char **argv, char **envp)
 {
   HyPortLibrary hyportLibrary;
   HyPortLibraryVersion portLibraryVersion;
+  int ret;
+
 #ifdef HY_NO_THR
   HyThreadLibrary *privateThreadLibrary;
 #endif
-  UDATA msec, usec;
-  I_64 millis;
-  U_64 hires, hires2, freq, delta;
 
   printf("hytime:\n");
 
@@ -48,40 +57,138 @@
   privateThreadLibrary = hyportLibrary.port_get_thread_library(&hyportLibrary);
 #endif
 
-  msec = hyportLibrary.time_msec_clock(&hyportLibrary);
-  printf("msec = %u\n", msec);
+  Hytest_init(&hyportLibrary, "Portlib.Hytime");
+  Hytest_func(&hyportLibrary, test_hytime_current_time_millis, "hytime_current_time_millis");
+  Hytest_func(&hyportLibrary, test_hytime_msec_clock, "hytime_msec_clock");
+  Hytest_func(&hyportLibrary, test_hytime_hires_clock, "hytime_hires_clock");
+  Hytest_func(&hyportLibrary, test_hytime_hires_delta, "hytime_hires_delta");
+  Hytest_func(&hyportLibrary, test_hytime_hires_frequency, "hytime_hires_frequency");
+  Hytest_func(&hyportLibrary, test_hytime_usec_clock, "hytime_usec_clock");
+  Hytest_func(&hyportLibrary, test_hytime_shutdown, "hytime_shutdown");
+  Hytest_func(&hyportLibrary, test_hytime_startup, "hytime_startup");
+  ret = Hytest_close_and_output(&hyportLibrary);
+  
+  if (0 != hyportLibrary.port_shutdown_library (&hyportLibrary)) {
+    fprintf(stderr, "portlib shutdown failed\n");
+    return 1;
+  }
+  printf("  portlib shutdown\n");
 
-  usec = hyportLibrary.time_usec_clock(&hyportLibrary);
-  printf("usec = %u\n", usec);
+  return ret;
+}
 
-  millis = hyportLibrary.time_current_time_millis(&hyportLibrary);
+int test_hytime_current_time_millis(struct HyPortLibrary *hyportLibrary)
+{
+  I_64 millis;
+  millis = hyportLibrary->time_current_time_millis(hyportLibrary);
   printf("millis = %lld\n", millis);
+  return 0;
+}
 
-  hires = hyportLibrary.time_hires_clock(&hyportLibrary);
+int test_hytime_msec_clock(struct HyPortLibrary *hyportLibrary)
+{
+  UDATA msec;
+  msec = hyportLibrary->time_msec_clock(hyportLibrary);
+  printf("msec = %u\n", msec);
+  return 0;
+}
+
+int test_hytime_hires_clock(struct HyPortLibrary *hyportLibrary)
+{
+  U_64 hires,hires2;
+  hires = hyportLibrary->time_hires_clock(hyportLibrary);
   printf("hires = %llu\n", hires);
-  freq = hyportLibrary.time_hires_frequency(&hyportLibrary);
+  hythread_sleep(1000);
+  hires2 = hyportLibrary->time_hires_clock(hyportLibrary);
+  printf("hires2 = %llu\n", hires2);
+  return 0;
+}
+
+int test_hytime_hires_delta(struct HyPortLibrary *hyportLibrary)
+{
+  U_64 delta,hires,hires2,freq;
+  hires = hyportLibrary->time_hires_clock(hyportLibrary);
+  printf("hires = %llu\n", hires);
+  freq = hyportLibrary->time_hires_frequency(hyportLibrary);
   printf("freq = %llu\n", freq);
 
   hythread_sleep(1000);
 
-  hires2 = hyportLibrary.time_hires_clock(&hyportLibrary);
+  hires2 = hyportLibrary->time_hires_clock(hyportLibrary);
   printf("hires2 = %llu\n", hires2);
-
-  delta = hyportLibrary.time_hires_delta(&hyportLibrary,
+  
+  delta = hyportLibrary->time_hires_delta(hyportLibrary,
                                          hires, hires2,
                                          HYPORT_TIME_DELTA_IN_MICROSECONDS);
   printf("delta = %llu\n", delta);
-  
   if (delta <= 0) {
-    fprintf(stderr, "hires_clock did not increment after 1s sleep\n");
-    return 1;
+    Hytest_setErrMsg(hyportLibrary, "hires_clock did not increment after 1s sleep\n");
+    return -1;
   }
+  return 0;
+}
+
+int test_hytime_hires_frequency(struct HyPortLibrary *hyportLibrary)
+{
+  U_64 freq;
+  freq = hyportLibrary->time_hires_frequency(hyportLibrary);
+  printf("freq = %llu\n", freq);
+  return 0;
+}
+
+int test_hytime_usec_clock(struct HyPortLibrary *hyportLibrary)
+{
   
-  if (0 != hyportLibrary.port_shutdown_library (&hyportLibrary)) {
-    fprintf(stderr, "portlib shutdown failed\n");
-    return 1;
+  UDATA usec;
+  usec = hyportLibrary->time_usec_clock(hyportLibrary);
+  printf("usec = %u\n", usec);
+  return 0;
+}
+
+int test_hytime_shutdown(struct HyPortLibrary *hyportLibrary)
+{
+  HyPortLibrary hyportLibrary2;
+  HyPortLibraryVersion portLibraryVersion;
+  I_32 rc;
+  HYPORT_SET_VERSION (&portLibraryVersion, HYPORT_CAPABILITY_MASK);
+  if (0 != hyport_init_library (&hyportLibrary2, &portLibraryVersion,
+                                sizeof (HyPortLibrary)))
+  {
+    fprintf(stderr, "portlib init failed\n");
+    return -1;
   }
-  printf("  portlib shutdown\n");
+  rc =
+    hyportLibrary2.time_startup (&hyportLibrary2);
+  if (0 != rc)
+  {
+    Hytest_setErrMsg(hyportLibrary, "time startup failed: %s (%s)\n",
+    hyportLibrary->error_last_error_message(hyportLibrary),HY_GET_CALLSITE());
+    return -1;
+  }
+  hyportLibrary2.time_shutdown(&hyportLibrary2);
+  return 0;
+}
 
+int test_hytime_startup(struct HyPortLibrary *hyportLibrary)
+{
+  HyPortLibrary hyportLibrary2;
+  HyPortLibraryVersion portLibraryVersion;
+  I_32 rc;
+  HYPORT_SET_VERSION (&portLibraryVersion, HYPORT_CAPABILITY_MASK);
+  if (0 != hyport_init_library (&hyportLibrary2, &portLibraryVersion,
+                                sizeof (HyPortLibrary)))
+  {
+    fprintf(stderr, "portlib init failed\n");
+    return -1;
+  }
+  rc =
+    hyportLibrary2.time_startup (&hyportLibrary2);
+  if (0 != rc)
+  {
+    Hytest_setErrMsg(hyportLibrary, "time startup failed: %s (%s)\n",
+    hyportLibrary->error_last_error_message(hyportLibrary),HY_GET_CALLSITE());
+    return -1;
+  }
   return 0;
 }
+

Modified: harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hytime/unix/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hytime/unix/makefile?view=diff&rev=548963&r1=548962&r2=548963
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hytime/unix/makefile (original)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hytime/unix/makefile Wed Jun 20 00:14:47 2007
@@ -1,29 +1,31 @@
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#  contributor license agreements.  See the NOTICE file distributed with
-#  this work for additional information regarding copyright ownership.
-#  The ASF licenses this file to You under the Apache License, Version 2.0
-#  (the "License"); you may not use this file except in compliance with
-#  the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-#
-# Makefile for 'hytime'
-#
-
-include $(HY_HDK)/build/make/defines.mk
-
-BUILDFILES = $(SHAREDSUB)hytime.o
-MDLLIBFILES += $(DLLPATH)libhyprt$(HY_LINKLIB_SUFFIX)
-ifeq ($(HY_NO_THR),true)
-MDLLIBFILES += $(LIBPATH)libhythr$(HY_LINKLIB_SUFFIX)
-endif
-EXENAME = ../hytime
-
-include $(HY_HDK)/build/make/rules.mk
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#  contributor license agreements.  See the NOTICE file distributed with
+#  this work for additional information regarding copyright ownership.
+#  The ASF licenses this file to You under the Apache License, Version 2.0
+#  (the "License"); you may not use this file except in compliance with
+#  the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+#
+# Makefile for 'hytime'
+#
+
+include $(HY_HDK)/build/make/defines.mk
+
+INCLUDES += -I../../hycunit
+BUILDFILES = $(SHAREDSUB)hytime.o
+BUILDFILES += ../../hycunit/hycunit.o
+MDLLIBFILES += $(DLLPATH)libhyprt$(HY_LINKLIB_SUFFIX)
+ifeq ($(HY_NO_THR),true)
+MDLLIBFILES += $(LIBPATH)libhythr$(HY_LINKLIB_SUFFIX)
+endif
+EXENAME = ../hytime
+
+include $(HY_HDK)/build/make/rules.mk

Modified: harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hytime/windows/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hytime/windows/makefile?view=diff&rev=548963&r1=548962&r2=548963
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hytime/windows/makefile (original)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hytime/windows/makefile Wed Jun 20 00:14:47 2007
@@ -20,9 +20,10 @@
 !include <$(HY_HDK)\build\make\defines.mak>
 
 EXENAME=..\hytime.exe
-HYCFLAGS = $(HYCFLAGS) /I$(SHAREDSUB)
+HYCFLAGS = $(HYCFLAGS) /I$(SHAREDSUB) /I..\..\hycunit
 
 BUILDFILES = $(SHAREDSUB)hytime.obj
+BUILDFILES = $(BUILDFILES) ..\..\hycunit\hycunit.obj
 MDLLIBFILES = $(MDLLIBFILES) $(LIBPATH)hyprt$(HY_LINKLIB_SUFFIX)
 
 !IF "$(HY_NO_THR)" == "true"