t_elf.py revision 430
edfd009103881de283e146609f691281aba150aeTimo Sirainen# CDDL HEADER START
edfd009103881de283e146609f691281aba150aeTimo Sirainen# The contents of this file are subject to the terms of the
edfd009103881de283e146609f691281aba150aeTimo Sirainen# Common Development and Distribution License (the "License").
edfd009103881de283e146609f691281aba150aeTimo Sirainen# You may not use this file except in compliance with the License.
edfd009103881de283e146609f691281aba150aeTimo Sirainen# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
edfd009103881de283e146609f691281aba150aeTimo Sirainen# See the License for the specific language governing permissions
edfd009103881de283e146609f691281aba150aeTimo Sirainen# and limitations under the License.
edfd009103881de283e146609f691281aba150aeTimo Sirainen# When distributing Covered Code, include this CDDL HEADER in each
edfd009103881de283e146609f691281aba150aeTimo Sirainen# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
edfd009103881de283e146609f691281aba150aeTimo Sirainen# If applicable, add the following below this CDDL HEADER, with the
edfd009103881de283e146609f691281aba150aeTimo Sirainen# fields enclosed by brackets "[]" replaced with your own identifying
edfd009103881de283e146609f691281aba150aeTimo Sirainen# information: Portions Copyright [yyyy] [name of copyright owner]
edfd009103881de283e146609f691281aba150aeTimo Sirainen# CDDL HEADER END
edfd009103881de283e146609f691281aba150aeTimo Sirainen# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
edfd009103881de283e146609f691281aba150aeTimo Sirainen# Use is subject to license terms.
edfd009103881de283e146609f691281aba150aeTimo Sirainen# Set the path so that modules above can be found
edfd009103881de283e146609f691281aba150aeTimo Sirainenpath_to_parent = os.path.join(os.path.dirname(__file__), "..")
edfd009103881de283e146609f691281aba150aeTimo Sirainen """ ASSERT: is_elf_object correctly classifies a range of
edfd009103881de283e146609f691281aba150aeTimo Sirainen elf objects and non-elf objects """
edfd009103881de283e146609f691281aba150aeTimo Sirainen self.assertEqual(elf.is_elf_object("/usr/bin/cat"),
edfd009103881de283e146609f691281aba150aeTimo Sirainen self.assertNotEqual(elf.is_elf_object("/etc/motd"),
edfd009103881de283e146609f691281aba150aeTimo Sirainen self.assertEqual(elf.is_elf_object("/dev/ksyms"),
edfd009103881de283e146609f691281aba150aeTimo Sirainen elf.is_elf_object("/usr/lib/libmlib.so"), True)
edfd009103881de283e146609f691281aba150aeTimo Sirainen self.assertEqual(elf.is_elf_object("/kernel/drv/sd"),
edfd009103881de283e146609f691281aba150aeTimo Sirainen elf.is_elf_object("/kernel/drv/amd64/sd"), True)
edfd009103881de283e146609f691281aba150aeTimo Sirainen elf.is_elf_object("/kernel/drv/sparcv9/sd"), True)
edfd009103881de283e146609f691281aba150aeTimo Sirainen self.assertRaises(OSError, elf.is_elf_object, "/does/not/exist")
edfd009103881de283e146609f691281aba150aeTimo Sirainen self.assertRaises(RuntimeError, elf.get_dynamic,
edfd009103881de283e146609f691281aba150aeTimo Sirainen self.assertRaises(OSError, elf.get_dynamic, "/does/not/exist")