aboutsummaryrefslogtreecommitdiff
path: root/sysfsutils/test/test_class.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysfsutils/test/test_class.c')
-rw-r--r--sysfsutils/test/test_class.c799
1 files changed, 0 insertions, 799 deletions
diff --git a/sysfsutils/test/test_class.c b/sysfsutils/test/test_class.c
deleted file mode 100644
index c071ab1..0000000
--- a/sysfsutils/test/test_class.c
+++ /dev/null
@@ -1,799 +0,0 @@
-/*
- * test_class.c
- *
- * Tests for class related functions for the libsysfs testsuite
- *
- * Copyright (C) IBM Corp. 2004-2005
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY 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 along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/**
- ***************************************************************************
- * this will test the class related functions provided by libsysfs.
- *
- * extern void sysfs_close_class_device(struct sysfs_class_device *dev);
- * extern struct sysfs_class_device *sysfs_open_class_device_path
- * (const char *path);
- * extern struct sysfs_class_device *sysfs_open_class_device
- * (const char *classname, const char *name);
- * extern struct sysfs_device *sysfs_get_classdev_device
- * (struct sysfs_class_device *clsdev);
- * extern struct sysfs_class_device *sysfs_get_classdev_parent
- * (struct sysfs_class_device *clsdev);
- * extern void sysfs_close_class(struct sysfs_class *cls);
- * extern struct sysfs_class *sysfs_open_class(const char *name);
- * extern struct dlist *sysfs_get_class_devices(struct sysfs_class *cls);
- * extern struct sysfs_class_device *sysfs_get_class_device
- * (struct sysfs_class *cls, char *name);
- * extern struct dlist *sysfs_get_classdev_attributes
- * (struct sysfs_class_device *cdev);
- * extern struct sysfs_attribute *sysfs_get_classdev_attr
- * (struct sysfs_class_device *clsdev, const char *name);
- *****************************************************************************
- */
-
-#include "test-defs.h"
-#include <errno.h>
-
-/**
- * this test the function:
- * extern void sysfs_close_class_device(struct sysfs_class_device *dev);
- * this has no return,
- *
- * flag:
- * 0: dev -> valid
- * 1: dev -> NULL
- */
-int test_sysfs_close_class_device(int flag)
-{
- struct sysfs_class_device *dev = NULL;
- char *path = NULL;
-
- switch (flag) {
- case 0:
- path = val_class_dev_path;
- dev = sysfs_open_class_device_path(path);
- if (dev == NULL) {
- dbg_print("%s: failed opening class device at %s\n",
- __FUNCTION__, path);
- return 0;
- }
- break;
- case 1:
- dev = NULL;
- break;
- default:
- return -1;
- }
- sysfs_close_class_device(dev);
-
- dbg_print("%s: returns void\n", __FUNCTION__);
- return 0;
-}
-
-/**
- * extern struct sysfs_class_device *sysfs_open_class_device_path
- * (const char *path);
- * flag:
- * 0: path -> valid
- * 1: path -> invalid
- * 2: path -> NULL
- */
-int test_sysfs_open_class_device_path(int flag)
-{
- struct sysfs_class_device *dev = NULL;
- char *path = NULL;
-
- switch (flag) {
- case 0:
- path = val_class_dev_path;
- break;
- case 1:
- path = inval_path;
- break;
- case 2:
- path = NULL;
- break;
- default:
- return -1;
- }
- dev = sysfs_open_class_device_path(path);
-
- switch (flag) {
- case 0:
- if (dev == NULL)
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- else {
- dbg_print("%s: SUCCEEDED with flag = %d\n\n",
- __FUNCTION__, flag);
- show_class_device(dev);
- dbg_print("\n");
- }
- break;
- case 1:
- case 2:
- if (dev != NULL)
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- else
- dbg_print("%s: SUCCEEDED with flag = %d\n",
- __FUNCTION__, flag);
- default:
- break;
-
- }
- if (dev != NULL)
- sysfs_close_class_device(dev);
-
- return 0;
-}
-
-/**
- * extern struct sysfs_class_device *sysfs_open_class_device
- * (const char *class, const char *name);
- *
- * flag:
- * 0: class -> valid , name -> valid
- * 1: class -> valid , name -> invalid
- * 2: class -> valid , name -> NULL
- * 3: class -> invalid , name -> valid
- * 4: class -> invalid , name -> invalid
- * 5: class -> invalid , name -> NULL
- * 6: class -> NULL valid , name -> valid
- * 7: class -> NULL , name -> invalid
- * 8: class -> NULL , name -> NULL
- */
-int test_sysfs_open_class_device(int flag)
-{
- struct sysfs_class_device *clsdev = NULL;
- char *name = NULL;
- char *class = NULL;
-
- switch(flag) {
- case 0:
- class = val_class;
- name = val_class_dev;
- break;
- case 1:
- class = val_class;
- name = inval_name;
- break;
- case 2:
- class = val_class;
- name = NULL;
- break;
- case 3:
- class = inval_name;
- name = val_class_dev;
- break;
- case 4:
- class = inval_name;
- name = inval_name;
- break;
- case 5:
- class = inval_name;
- name = NULL;
- break;
- case 6:
- class = NULL;
- name = val_class_dev;
- break;
- case 7:
- class = NULL;
- name = inval_name;
- break;
- case 8:
- class = NULL;
- name = NULL;
- break;
- default:
- return -1;
- }
- clsdev = sysfs_open_class_device(class, name);
-
- switch(flag) {
- case 0:
- if (clsdev == NULL)
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- else {
- dbg_print("%s: SUCCEEDED with flag = %d\n\n",
- __FUNCTION__, flag);
- show_class_device(clsdev);
- dbg_print("\n");
- }
- break;
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- if (clsdev != NULL)
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- else
- dbg_print("%s: SUCCEEDED with flag = %d\n",
- __FUNCTION__, flag);
- break;
- default:
- break;
- }
- if (clsdev != NULL)
- sysfs_close_class_device(clsdev);
-
- return 0;
-}
-
-/**
- * extern struct sysfs_device *sysfs_get_classdev_device
- * (struct sysfs_class_device *clsdev);
- *
- * flag:
- * 0: clsdev -> valid
- * 1: clsdev -> NULL
- */
-int test_sysfs_get_classdev_device(int flag)
-{
- struct sysfs_class_device *clsdev = NULL;
- struct sysfs_device *dev = NULL;
- char *path = NULL;
-
- switch(flag) {
- case 0:
- path = val_class_dev_path;
- clsdev = sysfs_open_class_device_path(path);
- if (clsdev == NULL) {
- dbg_print("%s: failed opening class device at %s\n",
- __FUNCTION__, path);
- return 0;
- }
- break;
- case 1:
- clsdev = NULL;
- break;
- default:
- return -1;
- }
- dev = sysfs_get_classdev_device(clsdev);
-
- switch (flag) {
- case 0:
- if (dev == NULL) {
- if (errno == 0)
- dbg_print("%s: Class device at %s does not have a device symlink\n",
- __FUNCTION__, path);
- else
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- } else {
- dbg_print("%s: SUCCEEDED with flag = %d\n\n",
- __FUNCTION__, flag);
- show_device(dev);
- dbg_print("\n");
- }
- break;
- case 1:
- if (dev != NULL)
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- else
- dbg_print("%s: SUCCEEDED with flag = %d\n",
- __FUNCTION__, flag);
- break;
- default:
- break;
- }
- if (clsdev != NULL)
- sysfs_close_class_device(clsdev);
-
- return 0;
-}
-
-/**
- * extern struct sysfs_class_device *sysfs_get_classdev_parent
- * (struct sysfs_class_device *clsdev);
- * flag:
- * 0: clsdev -> valid
- * 1: clsdev -> NULL
- */
-int test_sysfs_get_classdev_parent(int flag)
-{
- struct sysfs_class_device *clsdev = NULL;
- struct sysfs_class_device *parent = NULL;
- char *path = NULL;
-
- switch(flag) {
- case 0:
- path = val_block_class_dev_path;
- clsdev = sysfs_open_class_device_path(path);
- if (clsdev == NULL) {
- dbg_print("%s: failed opening class device at %s\n",
- __FUNCTION__, path);
- return 0;
- }
- break;
- case 1:
- clsdev = NULL;
- break;
- default:
- return -1;
- }
- parent = sysfs_get_classdev_parent(clsdev);
-
- switch (flag) {
- case 0:
- if (parent == NULL) {
- if (errno == 0)
- dbg_print("%s: Class device at %s does not have a parent\n",
- __FUNCTION__, path);
- else
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- } else {
- dbg_print("%s: SUCCEEDED with flag = %d\n\n",
- __FUNCTION__, flag);
- show_class_device(parent);
- dbg_print("\n");
- }
- break;
- case 1:
- if (parent != NULL)
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- else
- dbg_print("%s: SUCCEEDED with flag = %d\n",
- __FUNCTION__, flag);
- break;
- default:
- break;
- }
- if (clsdev != NULL)
- sysfs_close_class_device(clsdev);
-
- return 0;
-}
-
-/**
- * extern void sysfs_close_class(struct sysfs_class *cls);
- *
- * flag:
- * 0: cls -> valid
- * 1: cls -> NULL
- */
-int test_sysfs_close_class(int flag)
-{
- struct sysfs_class *cls = NULL;
- char *class = NULL;
-
- switch(flag) {
- case 0:
- class = val_class;
- cls = sysfs_open_class(class);
- if (cls == NULL) {
- dbg_print("%s: failed opening class device at %s\n",
- __FUNCTION__, class);
- return 0;
- }
- break;
- case 1:
- cls = NULL;
- break;
- default:
- return -1;
- }
- sysfs_close_class(cls);
- dbg_print("%s: returns void\n", __FUNCTION__);
-
- return 0;
-}
-
-/**
- * extern struct sysfs_class *sysfs_open_class(const char *name);
- *
- * flag:
- * 0: name -> valid
- * 1: name -> invalid
- * 2: name -> NULL
- */
-int test_sysfs_open_class(int flag)
-{
- struct sysfs_class *cls = NULL;
- char *name = NULL;
-
- switch(flag) {
- case 0:
- name = val_class;
- break;
- case 1:
- name = inval_name;
- break;
- case 2:
- name = NULL;
- break;
- default:
- return -1;
- }
- cls = sysfs_open_class(name);
-
- switch(flag) {
- case 0:
- if (cls == NULL)
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- else {
- dbg_print("%s: SUCCEEDED with flag = %d\n\n",
- __FUNCTION__, flag);
- dbg_print("Class %s is at %s\n\n",
- cls->name, cls->path);
- }
- break;
- case 1:
- case 2:
- if (cls != NULL)
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- else
- dbg_print("%s: SUCCEEDED with flag = %d\n",
- __FUNCTION__, flag);
- break;
- default:
- break;
- }
- if (cls != NULL)
- sysfs_close_class(cls);
-
- return 0;
-}
-
-/**
- * extern struct dlist *sysfs_get_class_devices(struct sysfs_class *cls);
- *
- * flag:
- * 0: cls -> valid
- * 1: cls -> NULL
- */
-int test_sysfs_get_class_devices(int flag)
-{
- struct sysfs_class *cls = NULL;
- struct dlist *list = NULL;
- char *class = NULL;
-
- switch(flag) {
- case 0:
- class = val_class;
- cls = sysfs_open_class(class);
- if (cls == NULL) {
- dbg_print("%s: failed opening class device at %s\n",
- __FUNCTION__, class);
- return 0;
- }
- break;
- case 1:
- cls = NULL;
- break;
- default:
- return -1;
- }
- list = sysfs_get_class_devices(cls);
-
- switch(flag) {
- case 0:
- if (list == NULL) {
- if (errno == 0)
- dbg_print("%s: Class %s does not have devices\n",
- __FUNCTION__, val_class);
- else
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- } else {
- dbg_print("%s: SUCCEEDED with flag = %d\n\n",
- __FUNCTION__, flag);
- show_class_device_list(list);
- dbg_print("\n");
- }
- break;
- case 1:
- if (list != NULL)
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- else
- dbg_print("%s: SUCCEEDED with flag = %d\n",
- __FUNCTION__, flag);
- break;
- default:
- break;
- }
- if (cls != NULL)
- sysfs_close_class(cls);
-
- return 0;
-}
-
-/**
- * extern struct sysfs_class_device *sysfs_get_class_device
- * (struct sysfs_class *class, char *name);
- *
- * flag:
- * 0: class -> valid, name -> valid
- * 1: class -> valid, name -> invalid
- * 2: class -> valid, name -> NULL
- * 3: class -> NULL, name -> valid
- * 4: class -> NULL, name -> invalid
- * 5: class -> NULL, name -> NULL
- */
-int test_sysfs_get_class_device(int flag)
-{
- struct sysfs_class_device *clsdev = NULL;
- struct sysfs_class *class = NULL;
- char *name = NULL;
-
- switch(flag) {
- case 0:
- class = sysfs_open_class(val_class);
- if (class == NULL) {
- dbg_print("%s: failed opening class %s\n",
- __FUNCTION__, val_class);
- return 0;
- }
- name = val_class_dev;
- break;
- case 1:
- class = sysfs_open_class(val_class);
- if (class == NULL) {
- dbg_print("%s: failed opening class %s\n",
- __FUNCTION__, val_class);
- return 0;
- }
- name = inval_name;
- break;
- case 2:
- class = sysfs_open_class(val_class);
- if (class == NULL) {
- dbg_print("%s: failed opening class %s\n",
- __FUNCTION__, val_class);
- return 0;
- }
- name = NULL;
- break;
- case 3:
- class = NULL;
- name = val_class_dev;
- break;
- case 4:
- class = NULL;
- name = inval_name;
- break;
- case 5:
- class = NULL;
- name = NULL;
- break;
- default:
- return -1;
- }
- clsdev = sysfs_get_class_device(class, name);
-
- switch(flag) {
- case 0:
- if (clsdev == NULL) {
- if (errno == 0)
- dbg_print("%s: Class device %s does not belong to the %s class\n",
- __FUNCTION__, val_class_dev, val_class);
- else
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- } else {
- dbg_print("%s: SUCCEEDED with flag = %d\n\n",
- __FUNCTION__, flag);
- show_class_device(clsdev);
- dbg_print("\n");
- }
- break;
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- if (clsdev != NULL)
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- else
- dbg_print("%s: SUCCEEDED with flag = %d\n",
- __FUNCTION__, flag);
- default:
- break;
- }
- if (class)
- sysfs_close_class(class);
-
- return 0;
-}
-
-/**
- * extern struct dlist *sysfs_get_classdev_attributes
- * (struct sysfs_class_device *cdev);
- * flag:
- * 0: cdev -> valid
- * 1: cdev -> NULL
- */
-int test_sysfs_get_classdev_attributes(int flag)
-{
- struct dlist *list = NULL;
- struct sysfs_class_device *cdev = NULL;
- char *path = NULL;
-
- switch (flag) {
- case 0:
- path = val_class_dev_path;
- cdev = sysfs_open_class_device_path(path);
- if (cdev == NULL) {
- dbg_print("%s: failed opening class device at %s\n",
- __FUNCTION__, path);
- return 0;
- }
- break;
- case 1:
- cdev = NULL;
- break;
- default:
- return -1;
- }
- list = sysfs_get_classdev_attributes(cdev);
-
- switch (flag) {
- case 0:
- if (list == NULL) {
- if (errno == 0)
- dbg_print("%s: Class device at %s does not export attributes\n",
- __FUNCTION__, path);
- else
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- } else {
- dbg_print("%s: SUCCEEDED with flag = %d\n\n",
- __FUNCTION__, flag);
- show_attribute_list(list);
- dbg_print("\n");
- }
- break;
- case 1:
- if (list != NULL)
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- else
- dbg_print("%s: SUCCEEDED with flag = %d\n",
- __FUNCTION__, flag);
- default:
- break;
- }
- if (cdev != NULL)
- sysfs_close_class_device(cdev);
-
- return 0;
-}
-
-/**
- * extern struct sysfs_attribute *sysfs_get_classdev_attr
- * (struct sysfs_class_device *clsdev, const char *name);
- *
- * flag:
- * 0: clsdev -> valid, name -> valid
- * 1: clsdev -> valid, name -> invalid
- * 2: clsdev -> valid, name -> NULL
- * 3: clsdev -> NULL, name -> valid
- * 4: clsdev -> NULL, name -> invalid
- * 5: clsdev -> NULL, name -> NULL
- */
-int test_sysfs_get_classdev_attr(int flag)
-{
- struct sysfs_attribute *attr = NULL;
- struct sysfs_class_device *clsdev = NULL;
- char *name = NULL;
- char *path = NULL;
-
- switch (flag) {
- case 0:
- path = val_class_dev_path;
- clsdev = sysfs_open_class_device_path(path);
- if (clsdev == NULL) {
- dbg_print("%s: failed opening class device at %s\n",
- __FUNCTION__, path);
- return 0;
- }
- name = val_class_dev_attr;
- break;
- case 1:
- path = val_class_dev_path;
- clsdev = sysfs_open_class_device_path(path);
- if (clsdev == NULL) {
- dbg_print("%s: failed opening class device at %s\n",
- __FUNCTION__, path);
- return 0;
- }
- name = inval_name;
- break;
- case 2:
- path = val_class_dev_path;
- clsdev = sysfs_open_class_device_path(path);
- if (clsdev == NULL) {
- dbg_print("%s: failed opening class device at %s\n",
- __FUNCTION__, path);
- return 0;
- }
- name = NULL;
- break;
- case 3:
- clsdev = NULL;
- name = val_class_dev_attr;
- break;
- case 4:
- clsdev = NULL;
- name = inval_name;
- break;
- case 5:
- clsdev = NULL;
- name = NULL;
- break;
- default:
- return -1;
- }
- attr = sysfs_get_classdev_attr(clsdev, name);
-
- switch (flag) {
- case 0:
- if (attr == NULL) {
- if (errno == EACCES)
- dbg_print("%s: attribute %s does not support READ\n",
- __FUNCTION__, name);
- else if (errno == ENOENT)
- dbg_print("%s: attribute %s not defined for class device at %s\n",
- __FUNCTION__, name, path);
- else if (errno == 0)
- dbg_print("%s: class device at %s does not export attributes\n",
- __FUNCTION__, path);
- else
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- } else {
- dbg_print("%s: SUCCEEDED with flag = %d\n\n",
- __FUNCTION__, flag);
- show_attribute(attr);
- dbg_print("\n");
- }
- break;
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- if (attr != NULL)
- dbg_print("%s: FAILED with flag = %d errno = %d\n",
- __FUNCTION__, flag, errno);
- else
- dbg_print("%s: SUCCEEDED with flag = %d\n",
- __FUNCTION__, flag);
- default:
- break;
-
- }
- if (clsdev != NULL)
- sysfs_close_class_device(clsdev);
-
- return 0;
-}