File: testme.py

package info (click to toggle)
cde 0.1%2Bgit9-g551e54d-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 11,176 kB
  • sloc: ansic: 75,885; sh: 4,282; python: 1,006; perl: 438; makefile: 298; lisp: 44; java: 5
file content (33 lines) | stat: -rw-r--r-- 1,323 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
'''

some programs like java are really picky about the EXACT directory
structure being replicated within cde-package.  e.g., java will refuse
to start unless the directory structure is perfectly mimicked (since it
uses its true path to load start-up libraries).  this means that CDE
Needs to be able to potentially traverse through multiple levels of
symlinks and faithfully recreate them within cde-package.

For example, on chongzi (Fedora Core 9):

/usr/bin/java is a symlink to /etc/alternatives/java

but /etc/alternatives/java is itself a symlink to /usr/lib/jvm/jre-1.6.0-openjdk/bin/java

this example involves 2 levels of symlinks, and java requires that the
TRUE binary to be found here in the package in order to run properly:

  /usr/lib/jvm/jre-1.6.0-openjdk/bin/java

'''

import sys
sys.path.insert(0, '..')
from cde_test_common import *

def checker_func():
  assert os.path.islink(CDE_ROOT_DIR + '/home/pgbovine/CDE/tests/multiple_symlink_levels/fake-root/usr/bin/java')
  assert os.path.islink(CDE_ROOT_DIR + '/home/pgbovine/CDE/tests/multiple_symlink_levels/fake-root/etc/alternatives/java')
  assert os.path.isfile(CDE_ROOT_DIR + '/home/pgbovine/CDE/tests/multiple_symlink_levels/fake-root/usr/lib/jvm/jre-1.6.0-openjdk/bin/java')

generic_test_runner(["cat", "fake-root/usr/bin/java"], checker_func)