1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #!/usr/bin/python
- import os, sys, mmap, random, string
- from regression import Regression
- loader = os.environ['PAL_LOADER']
- def prepare_files(args):
- global file_exist
- file_exist = ''.join([random.choice(string.ascii_letters) for i in range(mmap.PAGESIZE)])
- with open("file_exist.tmp", "w") as f:
- f.write(file_exist)
- if os.path.exists("file_nonexist.tmp"):
- os.remove("file_nonexist.tmp")
- with open("file_delete.tmp", "w") as f:
- f.write(file_exist)
- # Running File
- regression = Regression(loader, "File", prepare_files)
- regression.add_check(name="Basic File Opening",
- check=lambda res: "File Open Test 1 OK" in res[0].log and
- "File Open Test 2 OK" in res[0].log and
- "File Open Test 3 OK" in res[0].log)
- regression.add_check(name="Basic File Creation",
- check=lambda res: "File Creation Test 1 OK" in res[0].log and
- "File Creation Test 2 OK" in res[0].log and
- "File Creation Test 3 OK" in res[0].log)
- regression.add_check(name="File Reading",
- check=lambda res: ("Read Test 1 (0th - 40th): " + file_exist[0:40]) in res[0].log and
- ("Read Test 2 (0th - 40th): " + file_exist[0:40]) in res[0].log and
- ("Read Test 3 (200th - 240th): " + file_exist[200:240]) in res[0].log)
- def check_write(res):
- global file_exist
- with open("file_nonexist.tmp", "r") as f:
- file_nonexist = f.read()
- return file_exist[0:40] == file_nonexist[200:240] and \
- file_exist[200:240] == file_nonexist[0:40]
- regression.add_check(name="File Writing", check=check_write)
- regression.add_check(name="File Attribute Query",
- check=lambda res: ("Query: type = 1, size = %d" % (mmap.PAGESIZE)) in res[0].log)
- regression.add_check(name="File Attribute Query by Handle",
- check=lambda res: ("Query by Handle: type = 1, size = %d" % (mmap.PAGESIZE)) in res[0].log)
- regression.add_check(name="File Mapping",
- check=lambda res: ("Map Test 1 (0th - 40th): " + file_exist[0:40]) in res[0].log and
- ("Map Test 2 (200th - 240th): " + file_exist[200:240]) in res[0].log)
- regression.add_check(name="Set File Length",
- check=lambda res: os.stat("file_nonexist.tmp").st_size == mmap.ALLOCATIONGRANULARITY)
- regression.add_check(name="File Deletion",
- check=lambda res: not os.path.exists("file_delete.tmp"))
- rv = regression.run_checks()
- if rv: sys.exit(rv)
|