#!/usr/bin/env python
# The test has been developped by Robert Harakaly and changed for SAM by Victor Galaktionov
# set last access time for a regular file to the current time (lfc_setatime) 
# meta: proxy=true
# meta: preconfig=../../LFC-config
 
import os, lfc, sys, time
from testClass import _test, _ntest, _testRunner, SAM_Run, LFC_VO, TEST_HOME

class test_setatime_ok(_test):
    def info(self):
        return "Set access time on existing file"
    def prepare(self):
        guid = self.get_guid()
        self.name = LFC_VO + "/python_setatime_test"
        ret = lfc.lfc_creatg(self.name,guid,0664)
        self.start=lfc.lfc_filestat()
        lfc.lfc_stat(self.name, self.start)
        
    def clean(self):
        lfc.lfc_unlink(self.name)
    def test(self):
        time.sleep(2)
        ret=lfc.lfc_setatime(self.name,None)
        stat=lfc.lfc_filestat()
        lfc.lfc_stat(self.name, stat)
        return (stat,ret)
    def ret(self):
        return self.start
    def compare(self, testVal, retVal):
        (ret, retRetVal) = retVal
        (test, testRetVal) = testVal
        retval = True
        if (retRetVal == testRetVal):
            retval = retval & ( test.atime != ret.atime )
        else:
            retval = False
        return retval


class lfc_setatime_test(_testRunner):
    def __init__(self):
        self.name = "lfc_setatime_test"
        self.tests=[test_setatime_ok]

#************* Interface for SAM and Python tests ***************
SAM_Run(lfc_setatime_test)

