File: testme.py

package info (click to toggle)
cde 0.1%2Bgit9-g551e54d-1.1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 10,340 kB
  • ctags: 10,812
  • sloc: ansic: 75,881; sh: 4,282; python: 1,006; perl: 438; makefile: 297; lisp: 44; java: 5
file content (71 lines) | stat: -rw-r--r-- 2,322 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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# copy in all the contents of the CDE/strace-4.5.20 source code into
# this directory first before running this test

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

# customize this test due to special circumstances

os.system('rm -rf ~/.ccache/') # clear the ccache cache
os.system('rm -rf cde-package')
os.system('rm -f cde.options')
time.sleep(0.3) # to give os.system some time to work :)

Popen(["make", "clean"], stdout=PIPE, stderr=PIPE).communicate()
(first_run_stdout, first_run_stderr) = run_cde(["make"], True)

generic_lib_checks()

# TODO: insert more specific checks
assert os.path.isfile(CDE_ROOT_DIR + '/usr/bin/gcc')
assert os.path.isfile(CDE_ROOT_DIR + '/usr/bin/make')


# to make for a tougher test, move the entire directory to /tmp
# and try to do a cde-exec run
full_pwd = os.getcwd()
full_pwd_renamed = full_pwd + '-renamed'
cur_dirname = os.path.basename(full_pwd)

tmp_test_rootdir = "/tmp/" + cur_dirname
tmp_test_dir = tmp_test_rootdir + '/cde-package/cde-root/' + full_pwd

# rename full_pwd to make it impossible for the new version in /tmp
# to reference already-existing files in full_pwd (a harsher test!)
try:
  # careful with these commands!
  (stdout, stderr) = Popen(["rm", "-rf", tmp_test_rootdir], stdout=PIPE, stderr=PIPE).communicate()
  assert not stdout and not stderr
  (stdout, stderr) = Popen(["cp", "-aR", full_pwd, "/tmp"], stdout=PIPE, stderr=PIPE).communicate()
  assert not stdout and not stderr

  try:
    os.rename(full_pwd, full_pwd_renamed)

    # run the cde-exec test in tmp_test_dir
    os.chdir(tmp_test_dir)

    Popen(["make", "clean"], stdout=PIPE, stderr=PIPE).communicate()
    (stdout2, stderr2) = Popen([CDE_EXEC, "make"], stdout=PIPE, stderr=PIPE).communicate()

    #print "=== stdout:"
    #print stdout
    #print "=== stdout2:"
    #print stdout2
    #assert first_run_stdout == stdout2 # for some reason, this assertion fails :(

    #print '=== first_run_stderr:'
    #print first_run_stderr
    #print '=== stderr2:'
    #print stderr2
    assert first_run_stderr == stderr2

  finally:
    # rename it back to be nice :)
    os.rename(full_pwd_renamed, full_pwd)
    os.chdir(full_pwd) # make sure to chdir back!!!

finally:
  (stdout, stderr) = Popen(["rm", "-rf", tmp_test_rootdir], stdout=PIPE, stderr=PIPE).communicate()