You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by od...@apache.org on 2008/05/30 15:39:24 UTC
svn commit: r661716 - in /harmony/enhanced/classlib/trunk/modules/portlib:
./ src/test/native/hycpu/shared/ src/test/native/hyipcmutex/
src/test/native/hyipcmutex/shared/ src/test/native/hyipcmutex/unix/
src/test/native/hyipcmutex/windows/ src/test/nat...
Author: odeakin
Date: Fri May 30 06:39:23 2008
New Revision: 661716
URL: http://svn.apache.org/viewvc?rev=661716&view=rev
Log:
Add some new tests for portlib.
Added:
harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/ (with props)
harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/shared/
harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/shared/hyipcmutex.c (with props)
harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/unix/
harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/unix/makefile
harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/windows/
harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/windows/makefile
harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/ (with props)
harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/shared/
harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/shared/hysysinfo.c (with props)
harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/unix/
harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/unix/makefile
harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/windows/
harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/windows/makefile
Modified:
harmony/enhanced/classlib/trunk/modules/portlib/build.xml
harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hycpu/shared/hycpu.c
Modified: harmony/enhanced/classlib/trunk/modules/portlib/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/build.xml?rev=661716&r1=661715&r2=661716&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/build.xml (original)
+++ harmony/enhanced/classlib/trunk/modules/portlib/build.xml Fri May 30 06:39:23 2008
@@ -226,6 +226,8 @@
<make dir="${hy.portlib.src.test.native}/hyport/${hy.os.family}" />
<make dir="${hy.portlib.src.test.native}/hystr/${hy.os.family}" />
<make dir="${hy.portlib.src.test.native}/hytime/${hy.os.family}" />
+ <make dir="${hy.portlib.src.test.native}/hysysinfo/${hy.os.family}" />
+ <make dir="${hy.portlib.src.test.native}/hyipcmutex/${hy.os.family}" />
</target>
<target name="-run-native-tests" if="test.portlib">
@@ -245,6 +247,8 @@
<exec-native test="hyport" />
<exec-native test="hystr" />
<exec-native test="hytime" />
+ <exec-native test="hysysinfo" />
+ <exec-native test="hyipcmutex" />
<move todir="${hy.tests.reports}">
<fileset dir="${hy.portlib}">
@@ -278,6 +282,10 @@
target="clean" />
<make dir="${hy.portlib.src.test.native}/hytime/${hy.os.family}"
target="clean" />
+ <make dir="${hy.portlib.src.test.native}/hysysinfo/${hy.os.family}"
+ target="clean" />
+ <make dir="${hy.portlib.src.test.native}/hyipcmutex/${hy.os.family}"
+ target="clean" />
</target>
<target name="touch-errors-file" if="test.errors">
Modified: harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hycpu/shared/hycpu.c
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hycpu/shared/hycpu.c?rev=661716&r1=661715&r2=661716&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hycpu/shared/hycpu.c (original)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hycpu/shared/hycpu.c Fri May 30 06:39:23 2008
@@ -30,7 +30,7 @@
HyPortLibraryVersion portLibraryVersion;
int ret;
- printf("hyerror:\n");
+ printf("hycpu:\n");
HYPORT_SET_VERSION (&portLibraryVersion, HYPORT_CAPABILITY_MASK);
if (0 != hyport_init_library (&hyportLibrary, &portLibraryVersion,
Propchange: harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri May 30 06:39:23 2008
@@ -0,0 +1 @@
+hyipcmutex
Added: harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/shared/hyipcmutex.c
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/shared/hyipcmutex.c?rev=661716&view=auto
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/shared/hyipcmutex.c (added)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/shared/hyipcmutex.c Fri May 30 06:39:23 2008
@@ -0,0 +1,131 @@
+/*
+* 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.
+*/
+#include "hyport.h"
+#include <stdio.h>
+#include "hycunit.h"
+
+int test_hyipcmutex_startup(struct HyPortLibrary *hyportLibrary);
+int test_hyipcmutex_shutdown(struct HyPortLibrary *hyportLibrary);
+int test_hyipcmutex_acquire_and_release(struct HyPortLibrary *hyportLibrary);
+
+int main (int argc, char **argv, char **envp)
+{
+ HyPortLibrary hyportLibrary;
+ HyPortLibraryVersion portLibraryVersion;
+ int ret;
+
+ printf("hyipcmutex:\n");
+
+ HYPORT_SET_VERSION (&portLibraryVersion, HYPORT_CAPABILITY_MASK);
+ if (0 != hyport_init_library (&hyportLibrary, &portLibraryVersion,
+ sizeof (HyPortLibrary)))
+ {
+ fprintf(stderr, "portlib init failed\n");
+ return 1;
+ }
+
+ printf(" portlib initialized\n");
+
+ Hytest_init(&hyportLibrary, "Portlib.Hyipcmutex");
+ Hytest_func(&hyportLibrary, test_hyipcmutex_startup, "hyipcmutex_startup");
+ Hytest_func(&hyportLibrary, test_hyipcmutex_shutdown, "hyipcmutex_shutdown");
+ Hytest_func(&hyportLibrary, test_hyipcmutex_acquire_and_release, "hyipcmutex_acquire_and_release");
+
+ 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");
+ return ret;
+}
+
+int test_hyipcmutex_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.ipcmutex_startup(&hyportLibrary2);
+ if (0 != rc)
+ {
+ Hytest_setErrMsg(hyportLibrary, "ipcmutex startup failed: %s (%s)\n",
+ hyportLibrary->error_last_error_message(hyportLibrary),HY_GET_CALLSITE());
+ return -1;
+ }
+ return 0;
+}
+
+int test_hyipcmutex_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;
+ }
+ rc = hyportLibrary2.ipcmutex_startup(&hyportLibrary2);
+ if (0 != rc)
+ {
+ Hytest_setErrMsg(hyportLibrary, "ipcmutex startup failed: %s (%s)\n",
+ hyportLibrary->error_last_error_message(hyportLibrary),HY_GET_CALLSITE());
+ return -1;
+ }
+ hyportLibrary2.ipcmutex_shutdown(hyportLibrary);
+ return 0;
+}
+
+int test_hyipcmutex_acquire_and_release(struct HyPortLibrary *hyportLibrary) {
+ I_32 ret;
+
+ /* Attempt to acquire a mutex that does not already exist */
+ ret = hyportLibrary->ipcmutex_acquire(hyportLibrary, "myTestMutex");
+ if (ret != 0) {
+ Hytest_setErrMsg(hyportLibrary, "ipcmutex_acquire failed with return value: %d (%s)\n",
+ ret, HY_GET_CALLSITE());
+ return -1;
+ }
+
+ /* Now release the mutex we just created */
+ ret = hyportLibrary->ipcmutex_release(hyportLibrary, "myTestMutex");
+ if (ret != 0) {
+ Hytest_setErrMsg(hyportLibrary, "ipcmutex_release failed with return value: %d (%s)\n",
+ ret, HY_GET_CALLSITE());
+ return -1;
+ }
+
+ /* Attempt to release a mutex that does not exist */
+ ret = hyportLibrary->ipcmutex_release(hyportLibrary, "myTestMutex2");
+ if (ret != -1) {
+ Hytest_setErrMsg(hyportLibrary, "ipcmutex_release returned an unexpected value: %d (%s)\n",
+ ret, HY_GET_CALLSITE());
+ return -1;
+ }
+
+ return 0;
+}
+
Propchange: harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/shared/hyipcmutex.c
------------------------------------------------------------------------------
svn:eol-style = native
Added: harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/unix/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/unix/makefile?rev=661716&view=auto
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/unix/makefile (added)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/unix/makefile Fri May 30 06:39:23 2008
@@ -0,0 +1,32 @@
+# 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 'hyipcmutex'
+#
+
+include $(HY_HDK)/build/make/defines.mk
+
+INCLUDES += -I../../hycunit
+BUILDFILES = $(SHAREDSUB)hyipcmutex.o
+BUILDFILES += ../../hycunit/hycunit.o
+MDLLIBFILES += $(DLLPATH)libhyprt$(HY_LINKLIB_SUFFIX)
+ifeq ($(HY_NO_THR),true)
+MDLLIBFILES += $(LIBPATH)libhythr$(HY_LINKLIB_SUFFIX)
+endif
+EXENAME = ../hyipcmutex
+
+CLEANFILES=../TEST-*.xml
+include $(HY_HDK)/build/make/rules.mk
Added: harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/windows/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/windows/makefile?rev=661716&view=auto
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/windows/makefile (added)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hyipcmutex/windows/makefile Fri May 30 06:39:23 2008
@@ -0,0 +1,37 @@
+# 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 module 'hyipcmutex.exe'
+#
+
+!include <$(HY_HDK)\build\make\defines.mak>
+
+EXENAME=..\hyipcmutex.exe
+HYCFLAGS = $(HYCFLAGS) /I$(SHAREDSUB) /I..\..\hycunit
+
+BUILDFILES = $(SHAREDSUB)hyipcmutex.obj
+BUILDFILES = $(BUILDFILES) ..\..\hycunit\hycunit.obj
+MDLLIBFILES = $(MDLLIBFILES) $(LIBPATH)hyprt$(HY_LINKLIB_SUFFIX)
+
+!IF "$(HY_NO_THR)" == "true"
+MDLLIBFILES = $(MDLLIBFILES) $(LIBPATH)hythr$(HY_LINKLIB_SUFFIX)
+!ENDIF
+
+EXEFLAGS=$(conlflags) -subsystem:console
+EXEDLLFILES=$(conlibsdll)
+CLEANFILES=..\TEST-*.xml
+
+!include <$(HY_HDK)\build\make\rules.mak>
Propchange: harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri May 30 06:39:23 2008
@@ -0,0 +1 @@
+hysysinfo
Added: harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/shared/hysysinfo.c
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/shared/hysysinfo.c?rev=661716&view=auto
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/shared/hysysinfo.c (added)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/shared/hysysinfo.c Fri May 30 06:39:23 2008
@@ -0,0 +1,310 @@
+/*
+* 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.
+*/
+#include "hyport.h"
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include "hycunit.h"
+
+int test_hysysinfo_startup(struct HyPortLibrary *hyportLibrary);
+int test_hysysinfo_shutdown(struct HyPortLibrary *hyportLibrary);
+int test_hysysinfo_get_pid(struct HyPortLibrary *hyportLibrary);
+int test_hysysinfo_get_physical_memory(struct HyPortLibrary *hyportLibrary);
+int test_hysysinfo_get_OS_version(struct HyPortLibrary *hyportLibrary);
+int test_hysysinfo_get_env(struct HyPortLibrary *hyportLibrary);
+int test_hysysinfo_get_CPU_architecture(struct HyPortLibrary *hyportLibrary);
+int test_hysysinfo_get_OS_type(struct HyPortLibrary *hyportLibrary);
+int test_hysysinfo_get_classpathSeparator(struct HyPortLibrary *hyportLibrary);
+int test_hysysinfo_get_executable_name(struct HyPortLibrary *hyportLibrary);
+int test_hysysinfo_get_number_CPUs(struct HyPortLibrary *hyportLibrary);
+int test_hysysinfo_get_username(struct HyPortLibrary *hyportLibrary);
+int test_hysysinfo_DLPAR_enabled(struct HyPortLibrary *hyportLibrary);
+int test_hysysinfo_DLPAR_max_CPUs(struct HyPortLibrary *hyportLibrary);
+int test_hysysinfo_weak_memory_consistency(struct HyPortLibrary *hyportLibrary);
+int test_hysysinfo_get_processing_capacity(struct HyPortLibrary *hyportLibrary);
+
+
+int main (int argc, char **argv, char **envp)
+{
+ HyPortLibrary hyportLibrary;
+ HyPortLibraryVersion portLibraryVersion;
+ int ret;
+
+ printf("hysysinfo:\n");
+
+ HYPORT_SET_VERSION (&portLibraryVersion, HYPORT_CAPABILITY_MASK);
+ if (0 != hyport_init_library (&hyportLibrary, &portLibraryVersion,
+ sizeof (HyPortLibrary)))
+ {
+ fprintf(stderr, "portlib init failed\n");
+ return 1;
+ }
+
+ printf(" portlib initialized\n");
+
+ Hytest_init(&hyportLibrary, "Portlib.Hysysinfo");
+ Hytest_func(&hyportLibrary, test_hysysinfo_startup, "hysysinfo_startup");
+ Hytest_func(&hyportLibrary, test_hysysinfo_shutdown, "hysysinfo_shutdown");
+ Hytest_func(&hyportLibrary, test_hysysinfo_get_pid, "hysysinfo_get_pid");
+ Hytest_func(&hyportLibrary, test_hysysinfo_get_physical_memory, "hysysinfo_get_physical_memory");
+ Hytest_func(&hyportLibrary, test_hysysinfo_get_OS_version, "hysysinfo_get_OS_version");
+ Hytest_func(&hyportLibrary, test_hysysinfo_get_env, "hysysinfo_get_env");
+ Hytest_func(&hyportLibrary, test_hysysinfo_get_CPU_architecture, "hysysinfo_get_CPU_architecture");
+ Hytest_func(&hyportLibrary, test_hysysinfo_get_OS_type, "hysysinfo_get_OS_type");
+ Hytest_func(&hyportLibrary, test_hysysinfo_get_classpathSeparator, "hysysinfo_get_classpathSeparator");
+ Hytest_func(&hyportLibrary, test_hysysinfo_get_executable_name, "hysysinfo_get_executable_name");
+ Hytest_func(&hyportLibrary, test_hysysinfo_get_number_CPUs, "hysysinfo_get_number_CPUs");
+ Hytest_func(&hyportLibrary, test_hysysinfo_get_username, "hysysinfo_get_username");
+ Hytest_func(&hyportLibrary, test_hysysinfo_DLPAR_enabled, "hysysinfo_DLPAR_enabled");
+ Hytest_func(&hyportLibrary, test_hysysinfo_DLPAR_max_CPUs, "hysysinfo_DLPAR_max_CPUs");
+ Hytest_func(&hyportLibrary, test_hysysinfo_weak_memory_consistency, "hysysinfo_weak_memory_consistency");
+ Hytest_func(&hyportLibrary, test_hysysinfo_get_processing_capacity, "hysysinfo_get_processing_capacity");
+
+ 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");
+ return ret;
+}
+
+int test_hysysinfo_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.sysinfo_startup(&hyportLibrary2);
+ if (0 != rc)
+ {
+ Hytest_setErrMsg(hyportLibrary, "sysinfo startup failed: %s (%s)\n",
+ hyportLibrary->error_last_error_message(hyportLibrary),HY_GET_CALLSITE());
+ return -1;
+ }
+ return 0;
+}
+
+int test_hysysinfo_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;
+ }
+ rc = hyportLibrary2.sysinfo_startup(&hyportLibrary2);
+ if (0 != rc)
+ {
+ Hytest_setErrMsg(hyportLibrary, "sysinfo startup failed: %s (%s)\n",
+ hyportLibrary->error_last_error_message(hyportLibrary),HY_GET_CALLSITE());
+ return -1;
+ }
+ hyportLibrary2.sysinfo_shutdown(hyportLibrary);
+ return 0;
+}
+
+int test_hysysinfo_get_pid(struct HyPortLibrary *hyportLibrary) {
+ UDATA pid = hyportLibrary->sysinfo_get_pid(hyportLibrary);
+ return 0;
+}
+
+int test_hysysinfo_get_physical_memory(struct HyPortLibrary *hyportLibrary) {
+ U_64 physicalMem = hyportLibrary->sysinfo_get_physical_memory(hyportLibrary);
+ if (physicalMem <= 0) {
+ Hytest_setErrMsg(hyportLibrary, "hysysinfo_get_physical_memory returned an unexpected value: %d (%s)\n",
+ physicalMem, HY_GET_CALLSITE());
+ return -1;
+ }
+ return 0;
+}
+
+int test_hysysinfo_get_OS_version(struct HyPortLibrary *hyportLibrary) {
+ const char *osVersion = hyportLibrary->sysinfo_get_OS_version(hyportLibrary);
+ return 0;
+}
+
+int test_hysysinfo_get_env(struct HyPortLibrary *hyportLibrary) {
+ char singleChar;
+ char *buffer = NULL;
+ IDATA ret;
+
+ /* Try to get a non-existent environment variable. Should return -1 */
+ ret = hyportLibrary->sysinfo_get_env(hyportLibrary, "madeUpEnvVar", &singleChar, 1);
+ if (ret != -1) {
+ Hytest_setErrMsg(hyportLibrary, "sysinfo_get_env returned an unexpected value: %d (%s)\n", ret, HY_GET_CALLSITE());
+ return -1;
+ }
+
+ /* Now try to get an existing variable (PATH) with a buffer that is too small. Should return the real size of the buffer required */
+ ret = hyportLibrary->sysinfo_get_env(hyportLibrary, "PATH", buffer, 0);
+ if (ret <= 0) {
+ Hytest_setErrMsg(hyportLibrary, "sysinfo_get_env returned an unexpected value: %d (%s)\n", ret, HY_GET_CALLSITE());
+ return -1;
+ }
+
+ /* Allocate the required buffer size and get the PATH. This time we should be successful */
+ buffer = hyportLibrary->mem_allocate_memory(hyportLibrary, ret);
+ if (!buffer) {
+ Hytest_setErrMsg(hyportLibrary, "Could not allocate memory for buffer (%s)\n", HY_GET_CALLSITE());
+ return -1;
+ }
+ ret = hyportLibrary->sysinfo_get_env(hyportLibrary, "PATH", buffer, ret);
+ if (ret != 0) {
+ Hytest_setErrMsg(hyportLibrary, "sysinfo_get_env returned an unexpected value: %d (%s)\n", ret, HY_GET_CALLSITE());
+ hyportLibrary->mem_free_memory(hyportLibrary, buffer);
+ return -1;
+ }
+
+ hyportLibrary->mem_free_memory(hyportLibrary, buffer);
+
+ return 0;
+}
+
+int test_hysysinfo_get_CPU_architecture(struct HyPortLibrary *hyportLibrary) {
+ const char *cpuArch = hyportLibrary->sysinfo_get_CPU_architecture(hyportLibrary);
+ return 0;
+}
+
+int test_hysysinfo_get_OS_type(struct HyPortLibrary *hyportLibrary) {
+ const char *osType = hyportLibrary->sysinfo_get_OS_type(hyportLibrary);
+ return 0;
+}
+
+int test_hysysinfo_get_classpathSeparator(struct HyPortLibrary *hyportLibrary) {
+ U_16 separator = hyportLibrary->sysinfo_get_classpathSeparator(hyportLibrary);
+
+ if (separator != PATH_SEPARATOR) {
+ Hytest_setErrMsg(hyportLibrary, "sysinfo_get_classpathSeparator returned an unexpected path separator: %c (%s)\n",
+ (char)separator, HY_GET_CALLSITE());
+ return -1;
+ }
+
+ return 0;
+}
+
+int test_hysysinfo_get_executable_name(struct HyPortLibrary *hyportLibrary) {
+ char *execName;
+ IDATA ret = hyportLibrary->sysinfo_get_executable_name(hyportLibrary, "unused", &execName);
+ if (ret != 0) {
+ Hytest_setErrMsg(hyportLibrary, "sysinfo_get_executable_name returned an error value: %d (%s)\n",
+ ret, HY_GET_CALLSITE());
+ return -1;
+ }
+
+ if (strstr(execName, "hysysinfo") == NULL) {
+ Hytest_setErrMsg(hyportLibrary, "sysinfo_get_executable_name returned an incorrect executable name: %s (%s)\n",
+ execName, HY_GET_CALLSITE());
+ hyportLibrary->mem_free_memory(hyportLibrary, execName);
+ return -1;
+ }
+
+ /* It is our responsibility to free the allocated memory here */
+ hyportLibrary->mem_free_memory(hyportLibrary, execName);
+
+ return 0;
+}
+
+int test_hysysinfo_get_number_CPUs(struct HyPortLibrary *hyportLibrary) {
+ UDATA numCPUs = hyportLibrary->sysinfo_get_number_CPUs(hyportLibrary);
+
+ if (numCPUs <= 0) {
+ Hytest_setErrMsg(hyportLibrary, "sysinfo_get_number_CPUs returned an invalid number of CPUs: %d (%s)\n",
+ numCPUs, HY_GET_CALLSITE());
+ return -1;
+ }
+ return 0;
+}
+
+int test_hysysinfo_get_username(struct HyPortLibrary *hyportLibrary) {
+ char *buffer = NULL;
+ IDATA ret;
+
+ /* Try to get the username with a 0 size buffer. Should return the real size of the buffer required */
+ ret = hyportLibrary->sysinfo_get_username(hyportLibrary, buffer, 0);
+ if (ret <= 0) {
+ Hytest_setErrMsg(hyportLibrary, "sysinfo_get_username returned an unexpected value: %d (%s)\n", ret, HY_GET_CALLSITE());
+ return -1;
+ }
+
+ /* Allocate the required buffer size and get the PATH. This time we should be successful */
+ buffer = hyportLibrary->mem_allocate_memory(hyportLibrary, ret);
+ if (!buffer) {
+ Hytest_setErrMsg(hyportLibrary, "Could not allocate memory for buffer (%s)\n", HY_GET_CALLSITE());
+ return -1;
+ }
+ ret = hyportLibrary->sysinfo_get_username(hyportLibrary, buffer, ret);
+ if (ret != 0) {
+ Hytest_setErrMsg(hyportLibrary, "sysinfo_get_username returned an unexpected value: %d (%s)\n", ret, HY_GET_CALLSITE());
+ hyportLibrary->mem_free_memory(hyportLibrary, buffer);
+ return -1;
+ }
+
+ hyportLibrary->mem_free_memory(hyportLibrary, buffer);
+
+ return 0;
+}
+
+int test_hysysinfo_DLPAR_enabled(struct HyPortLibrary *hyportLibrary) {
+ UDATA enabled = hyportLibrary->sysinfo_DLPAR_enabled(hyportLibrary);
+ if ((enabled < 0) || (enabled > 1)) {
+ Hytest_setErrMsg(hyportLibrary, "sysinfo_DLPAR_enabled returned an invalid value: %d (%s)\n", enabled, HY_GET_CALLSITE());
+ return -1;
+ }
+
+ return 0;
+}
+
+int test_hysysinfo_DLPAR_max_CPUs(struct HyPortLibrary *hyportLibrary) {
+ UDATA maxCPUs = hyportLibrary->sysinfo_DLPAR_max_CPUs(hyportLibrary);
+ if (maxCPUs <= 0) {
+ Hytest_setErrMsg(hyportLibrary, "sysinfo_DLPAR_max_CPUs returned an invalid value: %d (%s)\n", maxCPUs, HY_GET_CALLSITE());
+ return -1;
+ }
+
+ return 0;
+}
+
+int test_hysysinfo_weak_memory_consistency(struct HyPortLibrary *hyportLibrary) {
+ UDATA weakMemCon = hyportLibrary->sysinfo_weak_memory_consistency(hyportLibrary);
+ if ((weakMemCon < 0) || (weakMemCon > 1)) {
+ Hytest_setErrMsg(hyportLibrary, "sysinfo_weak_memory_consistency returned an invalid value: %d (%s)\n", weakMemCon, HY_GET_CALLSITE());
+ return -1;
+ }
+
+ return 0;
+}
+
+int test_hysysinfo_get_processing_capacity(struct HyPortLibrary *hyportLibrary) {
+ UDATA procCap = hyportLibrary->sysinfo_get_processing_capacity(hyportLibrary);
+ if (procCap <= 0) {
+ Hytest_setErrMsg(hyportLibrary, "sysinfo_get_processing_capacity returned an invalid value: %d (%s)\n", procCap, HY_GET_CALLSITE());
+ return -1;
+ }
+
+ return 0;
+}
Propchange: harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/shared/hysysinfo.c
------------------------------------------------------------------------------
svn:eol-style = native
Added: harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/unix/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/unix/makefile?rev=661716&view=auto
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/unix/makefile (added)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/unix/makefile Fri May 30 06:39:23 2008
@@ -0,0 +1,32 @@
+# 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 'hysysinfo'
+#
+
+include $(HY_HDK)/build/make/defines.mk
+
+INCLUDES += -I../../hycunit
+BUILDFILES = $(SHAREDSUB)hysysinfo.o
+BUILDFILES += ../../hycunit/hycunit.o
+MDLLIBFILES += $(DLLPATH)libhyprt$(HY_LINKLIB_SUFFIX)
+ifeq ($(HY_NO_THR),true)
+MDLLIBFILES += $(LIBPATH)libhythr$(HY_LINKLIB_SUFFIX)
+endif
+EXENAME = ../hysysinfo
+
+CLEANFILES=../TEST-*.xml
+include $(HY_HDK)/build/make/rules.mk
Added: harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/windows/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/windows/makefile?rev=661716&view=auto
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/windows/makefile (added)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/test/native/hysysinfo/windows/makefile Fri May 30 06:39:23 2008
@@ -0,0 +1,37 @@
+# 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 module 'hycpu.exe'
+#
+
+!include <$(HY_HDK)\build\make\defines.mak>
+
+EXENAME=..\hysysinfo.exe
+HYCFLAGS = $(HYCFLAGS) /I$(SHAREDSUB) /I..\..\hycunit
+
+BUILDFILES = $(SHAREDSUB)hysysinfo.obj
+BUILDFILES = $(BUILDFILES) ..\..\hycunit\hycunit.obj
+MDLLIBFILES = $(MDLLIBFILES) $(LIBPATH)hyprt$(HY_LINKLIB_SUFFIX)
+
+!IF "$(HY_NO_THR)" == "true"
+MDLLIBFILES = $(MDLLIBFILES) $(LIBPATH)hythr$(HY_LINKLIB_SUFFIX)
+!ENDIF
+
+EXEFLAGS=$(conlflags) -subsystem:console
+EXEDLLFILES=$(conlibsdll)
+CLEANFILES=..\TEST-*.xml
+
+!include <$(HY_HDK)\build\make\rules.mak>