aboutsummaryrefslogtreecommitdiff
path: root/sysfsutils/test/test_module.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysfsutils/test/test_module.c')
-rw-r--r--sysfsutils/test/test_module.c711
1 files changed, 0 insertions, 711 deletions
diff --git a/sysfsutils/test/test_module.c b/sysfsutils/test/test_module.c
deleted file mode 100644
index b4e6523..0000000
--- a/sysfsutils/test/test_module.c
+++ /dev/null
@@ -1,711 +0,0 @@
-/*
- * sysfs_module.c
- *
- * Generic module utility functions for libsysfs
- *
- * Copyright (C) IBM Corp. 2003-2005
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-/**
- ***************************************************************************
- * this will test the module related functions provided by libsysfs.
- *
- * extern void sysfs_close_module(struct sysfs_module *module);
- * extern struct sysfs_module *sysfs_open_module_path(const char *path);
- * extern struct sysfs_module *sysfs_open_module(const char *name);
- * extern struct dlist *sysfs_get_module_attributes
- * (struct sysfs_module *module);
- * extern struct sysfs_attribute *sysfs_get_module_attr
- * (struct sysfs_module *module, const char *name);
- * extern struct dlist *sysfs_get_module_parms(struct sysfs_module *module);
- * extern struct dlist *sysfs_get_module_sections(struct sysfs_module *module);
- * extern struct sysfs_attribute *sysfs_get_module_parm
- * (struct sysfs_module *module, const char *parm);
- * extern struct sysfs_attribute *sysfs_get_module_section
- * (struct sysfs_module *module, const char *section);
- */
-
-#include "test-defs.h"
-#include <errno.h>
-
-/**
- * sysfs_close_module: closes a module.
- * @module: sysfs_module device to close.
- * flag:
- * 0: path -> valid
- * 1: path -> NULL
- */
-int test_sysfs_close_module(int flag)
-{
- struct sysfs_module *module;
-
- switch (flag) {
- case 0:
- module = sysfs_open_module_path(val_mod_path);
- if (module == NULL)
- return 0;
- break;
- case 1:
- module = NULL;
- break;
- default:
- return -1;
- }
- sysfs_close_module(module);
-
- dbg_print("%s: returns void\n",__FUNCTION__);
- return 0;
-}
-
-/**
- * sysfs_open_module_path: Opens and populates the module struct
- * @path: path to module.
- * returns struct sysfs_module with success and NULL with error.
- *
- * flag:
- * 0: path -> valid
- * 1: path -> invalid
- * 2: path -> NULL
- */
-int test_sysfs_open_module_path(int flag)
-{
- struct sysfs_module *module = NULL;
- char *path = NULL;
-
- switch (flag) {
- case 0:
- path = val_mod_path;
- break;
- case 1:
- path = inval_path;
- break;
- case 2:
- path = NULL;
- break;
- default:
- return -1;
- }
-
- module = sysfs_open_module_path(path);
-
- switch (flag) {
- case 0:
- if (module == 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_module(module);
- dbg_print("\n");
- }
- break;
- case 1:
- case 2:
- if (module != 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 (module!= NULL)
- sysfs_close_module(module);
-
- return 0;
-}
-
-/**
- * sysfs_open_module: opens specific module on a system
- * returns sysfs_module structure with success or NULL with error.
- * flag:
- * 0: name -> valid
- * 1: name -> invalid
- * 2: name -> NULL
- */
-int test_sysfs_open_module(int flag)
-{
- struct sysfs_module *module = NULL;
- char *modname = NULL;
-
- switch (flag) {
- case 0:
- modname = val_mod_name;
- break;
- case 1:
- modname = inval_name;
- break;
- case 2:
- modname = NULL;
- break;
- default:
- return -1;
- }
-
- module = sysfs_open_module(modname);
-
- switch (flag) {
- case 0:
- if (module == 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_module(module);
- dbg_print("\n");
- }
- break;
- case 1:
- case 2:
- if (module)
- 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 (module)
- sysfs_close_module(module);
- return 0;
-}
-
-/**
- * sysfs_get_module_attr: searches module's attributes by name
- * @module: module to look through
- * @name: attribute name to get
- * returns sysfs_attribute reference with success or NULL with error
- * flag:
- * 0: name -> valid, attrname -> valid
- * 1: name -> valid, attrname -> invalid
- * 2: name -> valid, attrname -> NULL
- */
-int test_sysfs_get_module_attr(int flag)
-{
- char *name, *attrname;
- struct sysfs_attribute *attr;
- struct sysfs_module *module;
-
- switch (flag) {
- case 0:
- name = val_mod_path;
- module = sysfs_open_module_path(name);
- if (!module) {
- dbg_print("%s: failed opening module at %s\n",
- __FUNCTION__, name);
- return 0;
- }
- attrname = val_mod_attr_name;
- break;
- case 1:
- name = val_mod_path;
- module = sysfs_open_module_path(name);
- if (!module) {
- dbg_print("%s: failed opening module at %s\n",
- __FUNCTION__, name);
- return 0;
- }
- attrname = inval_name;
- break;
- case 2:
- name = val_mod_path;
- module = sysfs_open_module_path(name);
- if (!module) {
- dbg_print("%s: failed opening module at %s\n",
- __FUNCTION__, name);
- return 0;
- }
- attrname = NULL;
- break;
- default:
- return -1;
- }
-
- attr = sysfs_get_module_attr(module,attrname);
-
- switch (flag) {
- case 0:
- if(!attr) {
- if (errno == EACCES)
- dbg_print("%s: attribute %s does not support "
- "READ\n", __FUNCTION__, attrname);
- else if (errno == ENOENT)
- dbg_print("%s: attribute %s not defined for "
- "module at %s\n", __FUNCTION__,
- attrname, name);
- else if (errno == 0)
- dbg_print("%s: module at %s does not export "
- "attributes\n", __FUNCTION__, val_drv_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:
- if (attr)
- dbg_print("%s: FAILED with flag = %d errno = "
- "%d\n", __FUNCTION__, flag, errno);
- else
- dbg_print("%s: SUCCEEDED with flag = %d\n",
- __FUNCTION__, flag);
- dbg_print("******************\n");
- default:
- break;
- }
-
- if (module)
- sysfs_close_module(module);
- return 0;
-}
-
-/**
- * sysfs_get_module_attributes: returns a dlist of attributes for
- * the requested sysfs_module
- * @cdev: sysfs_module for which attributes are needed
- * returns a dlist of attributes if exists, NULL otherwise
- * flag:
- * 0: name -> valid
- * 1: name -> invalid
- * 2: name -> NULL
- */
-int test_sysfs_get_module_attributes(int flag)
-{
- struct dlist *list;
- struct sysfs_module *module;
- char *name;
-
- switch (flag) {
- case 0:
- name = val_mod_path;
- module = sysfs_open_module_path(name);
- if (!module) {
- dbg_print("%s: failed opening module at %s\n",
- __FUNCTION__, name);
- return 0;
- }
- break;
- case 1:
- name = inval_name;
- module = sysfs_open_module_path(name);
- if (!module) {
- return 0;
- }
- break;
- case 2:
- name = NULL;
- module = sysfs_open_module_path(name);
- if (!module) {
- return 0;
- }
- default:
- return -1;
- }
-
- list = sysfs_get_module_attributes(module);
-
- switch (flag) {
- case 0:
- if (!list) {
- if (errno == 0)
- dbg_print("%s: No attributes are defined for "
- "the module at %s\n", __FUNCTION__, name);
- 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:
- case 2:
- 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 (module)
- sysfs_close_module(module);
- return 0;
-}
-
-/**
- * sysfs_get_module_parms: Get modules list of parameters
- * @module: sysfs_module whose parmameter list is required
- * Returns dlist of parameters on SUCCESS and NULL on error
- * flag:
- * 0: name -> valid
- * 1: name -> invalid
- * 2: name -> NULL
- */
-int test_sysfs_get_module_parms(int flag)
-{
- struct dlist *params;
- char *name;
- struct sysfs_module *module;
- switch (flag) {
- case 0:
- name = val_mod_path;
- module = sysfs_open_module_path(name);
- if (!module) {
- dbg_print("%s: failed opening module at %s\n",
- __FUNCTION__, name);
- return 0;
- }
- break;
- case 1:
- name = inval_name;
- module = sysfs_open_module_path(name);
- if (!module) {
- return 0;
- }
- break;
- case 2:
- name = NULL;
- module = sysfs_open_module_path(name);
- if (!module) {
- return 0;
- }
- break;
- default:
- return -1;
- }
-
- params = sysfs_get_module_parms(module);
-
- switch (flag) {
- case 0:
- if (!params) {
- if (errno == 0)
- dbg_print("%s: No parameters are passed for "
- "the module at %s\n", __FUNCTION__, name);
- 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_parm_list(params);
- dbg_print("\n");
- }
- break;
- case 1:
- case 2:
- if (params)
- 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 (module)
- sysfs_close_module(module);
- return 0;
-}
-
-/**
- * sysfs_get_module_sections: Get the set of sections for this module
- * @module: sysfs_module whose list of sections is required
- * Returns dlist of sections on SUCCESS and NULL on error
- * 0: name -> valid
- * 1: name -> invalid
- * 2: name -> NULL
- */
-int test_sysfs_get_module_sections(int flag)
-{
- struct dlist *sections;
- char *name;
- struct sysfs_module *module;
-
- switch (flag) {
- case 0:
- name = val_mod_path;
- module = sysfs_open_module_path(name);
- if (!module) {
- dbg_print("%s: failed opening module at %s\n",
- __FUNCTION__, name);
- return 0;
- }
- break;
- case 1:
- name = inval_name;
- module = sysfs_open_module_path(name);
- if (!module) {
- return 0;
- }
- break;
- case 2:
- name = NULL;
- module = sysfs_open_module_path(name);
- if (!module) {
- return 0;
- }
- break;
- default:
- return -1;
- }
-
- sections = sysfs_get_module_sections(module);
-
- switch (flag) {
- case 0:
- if (!sections) {
- if (errno == 0)
- dbg_print("%s: No sections for the module at "
- "%s\n", __FUNCTION__, name);
- 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_section_list(sections);
- dbg_print("\n");
- }
- break;
- case 1:
- case 2:
- if (sections)
- 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 (module)
- sysfs_close_module(module);
- return 0;
-}
-
-/**
- * sysfs_get_module_parm:
- * @module: sysfs_module to look through
- * @parm: name of the parameter to look for
- * Returns sysfs_attribute * on SUCCESS and NULL on error
- * flag:
- * 0: name -> valid, paramname -> valid
- * 1: name -> valid, paramname -> invalid
- * 2: name -> valid, paramname -> NULL
- */
-int test_sysfs_get_module_parm(int flag)
-{
- char *name, *paramname;
- struct sysfs_attribute *attr;
- struct sysfs_module *module;
-
- switch (flag) {
- case 0:
- name = val_mod_path;
- module = sysfs_open_module_path(name);
- if (!module) {
- dbg_print("%s: failed opening module at %s\n",
- __FUNCTION__, name);
- return 0;
- }
- paramname = val_mod_param;
- break;
- case 1:
- name = val_mod_path;
- module = sysfs_open_module_path(name);
- if (!module) {
- dbg_print("%s: failed opening module at %s\n",
- __FUNCTION__, name);
- return 0;
- }
- paramname = inval_name;
- break;
- case 2:
- name = val_mod_path;
- module = sysfs_open_module_path(name);
- if (!module) {
- dbg_print("%s: failed opening module at %s\n",
- __FUNCTION__, name);
- return 0;
- }
- paramname = NULL;
- break;
- default:
- return -1;
- }
-
- attr = sysfs_get_module_parm(module,paramname);
-
- switch (flag) {
- case 0:
- if(!attr) {
- if (errno == EACCES)
- dbg_print("%s: parameter %s not used by module"
- , __FUNCTION__, paramname);
- else if (errno == ENOENT)
- dbg_print("%s: attribute %s not defined for "
- "module at %s\n", __FUNCTION__,
- paramname, name);
- else if (errno == 0)
- dbg_print("%s: module at %s does not use "
- "parameter\n", __FUNCTION__, val_mod_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:
- if (attr)
- 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 (module)
- sysfs_close_module(module);
- return 0;
-}
-
-/**
- * sysfs_get_module_section
- * @module: sysfs_module to look through
- * @section: name of the section to look for
- * Returns sysfs_attribute * on SUCCESS and NULL on error
- * flag:
- * 0: name -> valid, sectname -> valid
- * 1: name -> valid, sectname -> invalid
- * 2: name -> valid, sectname -> NULL
- */
-int test_sysfs_get_module_section(int flag)
-{
- char *name, *sectname;
- struct sysfs_attribute *attr;
- struct sysfs_module *module;
-
- switch (flag) {
- case 0:
- name = val_mod_path;
- module = sysfs_open_module_path(name);
- if (!module) {
- dbg_print("%s: failed opening module at %s\n",
- __FUNCTION__, name);
- return 0;
- }
- sectname = val_mod_section;
- break;
- case 1:
- name = val_mod_path;
- module = sysfs_open_module_path(name);
- if (!module) {
- dbg_print("%s: failed opening module at %s\n",
- __FUNCTION__, name);
- return 0;
- }
- sectname = inval_name;
- break;
- case 2:
- name = val_mod_path;
- module = sysfs_open_module_path(name);
- if (!module) {
- dbg_print("%s: failed opening module at %s\n",
- __FUNCTION__, name);
- return 0;
- }
- sectname = NULL;
- break;
- default:
- return -1;
- }
-
- attr = sysfs_get_module_section(module,sectname);
-
- switch (flag) {
- case 0:
- if(!attr) {
- if (errno == EACCES)
- dbg_print("%s: section %s not used by module"
- , __FUNCTION__, sectname);
- else if (errno == ENOENT)
- dbg_print("%s: section %s not defined for "
- "module at %s\n", __FUNCTION__,
- sectname, name);
- else if (errno == 0)
- dbg_print("%s: module at %s does not use "
- "section\n", __FUNCTION__, val_mod_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:
- if (attr)
- 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 (module)
- sysfs_close_module(module);
- return 0;
-}