Merge commit 'dm/experimental' into test_0108
[vuplus_dvbapp] / lib / python / Plugins / SystemPlugins / FactoryTest / plugin.py
index e9888d4..457adf2 100755 (executable)
@@ -72,7 +72,7 @@ class FactoryTest(Screen):
                }, -2)
 
                Screen.__init__(self, session)
-               TESTPROGRAM_DATE = "2010-12-08-test"
+               TESTPROGRAM_DATE = "2010-12-14"
                TESTPROGRAM_VERSION = "Version 00.01"
 
                self.model = 0
@@ -242,20 +242,30 @@ class FactoryTest(Screen):
                self.usbtimer.callback.append(self.usbCheck)
 
        def getModelInfo(self):
+               getmodel = 0
                if fileExists("/proc/stb/info/vumodel"):
-                       info = open("/proc/stb/info/vumodel").read()
-                       if info[:5] == "combo":
+                       info = open("/proc/stb/info/vumodel").read().strip()
+                       if info == "combo":
                                self.model = 2
+                               getmodel = 1
                                print "getModelInfo : combo"
-               else:
+                       if info == "solo":
+                               self.model = 1
+                               getmodel = 1
+                               print "getModelInfo : solo"
+                       if info == "duo":
+                               self.model = 0
+                               getmodel = 1
+                               print "getModelInfo : duo"
+               if getmodel == 0 and fileExists("/proc/stb/info/version"):
                        info = open("/proc/stb/info/version").read()
 #                      print info,info[:2]
                        if info[:2] == "14":
                                self.model = 1
-                               print "getModelInfo : solo"
+                               print "getModelInfo : solo_"
                        elif info[:2] == "12":
                                self.model = 0
-                               print "getModelInfo : duo"
+                               print "getModelInfo : duo_"
 
        def nothing(self):
                print "nothing"
@@ -280,6 +290,8 @@ class FactoryTest(Screen):
        def numberaction(self, number):
                if self.testing==1:
                        return
+               if number > self.menulength:
+                       return
                index = int(number)
                self["testlist"].moveToIndex(index)
 
@@ -422,8 +434,8 @@ class FactoryTest(Screen):
 #                      self.Test13()
                elif index==self.fdefaultIndex:
                        self.Test14()
-               elif index==self.shutdownIndex:
-                       self.Test15()
+#              elif index==self.shutdownIndex:
+#                      self.Test15()
                else:
                        pass
 
@@ -446,7 +458,6 @@ class FactoryTest(Screen):
                        self.satatry -= 1
                        displayerror = 0
                result =0
-               exerror = 0
                try:
                        if fileExists("/autofs/sdb1"):
                                if access("/autofs/sdb1",F_OK|R_OK|W_OK):
@@ -455,19 +466,24 @@ class FactoryTest(Screen):
                                        dummy.close()
                                        dummy=open("/autofs/sdb1/dummy03","r")
                                        if dummy.readline()=="complete":
-                                               print "complete"
+                                               print "/autofs/sdb1 - complete"
                                        else:
+                                               print "/autofs/sdb1 - readline error"
                                                result = 1
                                                displayerror = 1
                                        dummy.close()
                                        system("rm /autofs/sdb1/dummy03")
                                else:
+                                       print "/autofs/sdb1 - rw access error"
                                        result = 1
                                        displayerror = 1
                        else:
+                               print "/autofs/sdb1 - file not exist"
                                result = 1
                except:
-                       exerror = 1
+                       print "/autofs/sdb1 - exceptional error"
+                       result = 1
+                       displayerror = 1
                try:
                        if fileExists("/media/hdd"):
                                if access("/media/hdd",F_OK|R_OK|W_OK):
@@ -476,24 +492,26 @@ class FactoryTest(Screen):
                                        dummy.close()
                                        dummy=open("/media/hdd/dummy03","r")
                                        if dummy.readline()=="complete":
-                                               print "complete"
+                                               print "/media/hdd - complete"
                                        else:
+                                               print "/media/hdd - readline error"
                                                result += 1
                                                displayerror = 1
                                        dummy.close()
                                        system("rm /media/hdd/dummy03")
                                else:
+                                       print "/media/hdd - rw access error"
                                        result += 1
                                        displayerror = 1
                        else:
+                               print "/media/hdd - file not exist"
                                result += 1
                except:
-                       exerror = 1
-
-               if exerror == 1:
-                       self.session.open( MessageBox, _("Exception Error!\nPress EXIT!"), MessageBox.TYPE_INFO)                        
-                       self.rlist[self["testlist"].getCurrent()[1]]="fail"                     
-               elif result == 0:
+                       print "/media/hdd - exceptional error"
+                       result += 1
+                       displayerror = 1
+               
+               if result == 0:
                        self.session.open( MessageBox, _("Sata & extend hdd test pass"), MessageBox.TYPE_INFO)
                        self.rlist[self["testlist"].getCurrent()[1]]="pass"
                elif result == 1:
@@ -606,9 +624,15 @@ class FactoryTest(Screen):
                                self.session.nav.playService(ref)
                                self.avswitch.setColorFormat(2)
                                self.avswitch.setAspectRatio(0)
-               self.tuningtimer.start(4000,True)
-               self.tunemsgtimer.start(5000, True)
-
+               if self.model==0 or self.model==1:
+                       print "2-3"
+                       self.tuningtimer.start(2000,True)
+                       self.tunemsgtimer.start(3000, True)
+               elif self.model==2:
+                       print "4-5"
+                       self.tuningtimer.start(4000,True)
+                       self.tunemsgtimer.start(5000, True)
+               
        def cam_state(self):
                if self.camstep == 1:
                        slot = 0
@@ -789,8 +813,9 @@ class FactoryTest(Screen):
                        devices = [ "/autofs/sdc1", "/autofs/sdd1" ]
 
                result=len(devices)
-               try:
-                       for dev in devices:
+               
+               for dev in devices:
+                       try:
                                if fileExists(dev):
                                        if access(dev,F_OK|R_OK|W_OK):
                                                dummy=open(dev+"/dummy03","w")
@@ -800,30 +825,34 @@ class FactoryTest(Screen):
                                                if dummy.readline()=="complete":
                                                        print dev," - complete"
                                                else:
+                                                       print dev," - readline error"
                                                        result=result -1
                                                        displayerror = 1
                                                dummy.close()
                                                system("rm "+dev+"/dummy03")
                                        else:
+                                               print dev," - rw access error"
                                                result=result -1
                                                displayerror = 1
                                else:
+                                       print dev," - file not exist"
                                        result=result-1
-               except:
-                       self.session.open( MessageBox, _("Exception Error!\nPress EXIT!"), MessageBox.TYPE_INFO)                        
-                       self.rlist[self["testlist"].getCurrent()[1]]="fail"
+                       except:
+                               print dev," - exceptional error"
+                               result=result -1
+                               displayerror = 1
+       
+               if result < 0 :
+                       result = 0
+               elif result == len(devices):
+                       self.session.open( MessageBox, _("USB test pass %d devices\nPress OK!"%result), MessageBox.TYPE_INFO)                   
+                       self.rlist[self["testlist"].getCurrent()[1]]="pass"
                else:
-                       if result < 0 :
-                               result = 0
-                       elif result == len(devices):
-                               self.session.open( MessageBox, _("USB test pass %d devices\nPress OK!"%result), MessageBox.TYPE_INFO)                   
-                               self.rlist[self["testlist"].getCurrent()[1]]="pass"
+                       if displayerror == 1:
+                               self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d\nPress EXIT!"%(len(devices)-result)), MessageBox.TYPE_ERROR)
+                               self.rlist[self["testlist"].getCurrent()[1]]="fail"
                        else:
-                               if displayerror == 1:
-                                       self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d\nPress EXIT!"%(len(devices)-result)), MessageBox.TYPE_ERROR)
-                                       self.rlist[self["testlist"].getCurrent()[1]]="fail"
-                               else:
-                                       self.usbtimer.start(1100,True)
+                               self.usbtimer.start(1100,True)
 
        def pingtest(self):
                self.testing = 1
@@ -913,7 +942,7 @@ class FactoryTest(Screen):
                        self.rlist[self["testlist"].getCurrent()[1]]="fail"
 
        def Test10(self):
-               self.session.openWithCallback(self.scciresult ,SmartCardTest)   
+               self.session.openWithCallback(self.scciresult ,SmartCardTest,stbmodel=self.model)
 
        def Test11(self):
                self.MemTest(1)
@@ -994,34 +1023,46 @@ class MacConfig(Screen):
                ethtest = 1
 
        def getModelInfo(self):
+               getmodel = 0
                if fileExists("/proc/stb/info/vumodel"):
-                       info = open("/proc/stb/info/vumodel").read()
-                       if info[:5] == "combo":
+                       info = open("/proc/stb/info/vumodel").read().strip()
+                       if info == "combo":
                                self.model = 2
+                               getmodel = 1
                                print "MacConfig, model : combo"
-               else:
+                       if info == "solo":
+                               self.model = 1
+                               getmodel = 1
+                               print "MacConfig, model : solo"
+                       if info == "duo":
+                               self.model = 0
+                               getmodel = 1
+                               print "MacConfig, model : duo"
+               if getmodel == 0 and fileExists("/proc/stb/info/version"):
                        info = open("/proc/stb/info/version").read()
+#                      print info,info[:2]
                        if info[:2] == "14":
                                self.model = 1
-                               print "MacConfig, model : solo"
+                               print "MacConfig, model : solo_"
                        elif info[:2] == "12":
                                self.model = 0
-                               print "MacConfig, model: duo"
+                               print "MacConfig, model: duo_"
 
        def loadmacaddr(self):
                try:
                        self.macfd = 0
 
                        if self.model==0:
-                               devices = ["/autofs/sda1", "/autofs/sdb1", "/autofs/sdc1", "/autofs/sdd1", "/autofs/sde1" ]
+                               devices = ["/autofs/sdb1", "/autofs/sdc1", "/autofs/sdd1", "/autofs/sde1" ]
                        elif self.model==1:
                                devices = [ "/autofs/sda1", "/autofs/sdb1" ]
                        elif self.model==2:
-                               devices = [ "/autofs/sda1", "/autofs/sdb1", "/autofs/sdc1", "/autofs/sdd1" ]
+                               devices = [ "/autofs/sdb1", "/autofs/sdc1", "/autofs/sdd1" ]
 
                        for dev in devices:
                                print 'try..',dev
                                if  fileExists(dev+"/macinfo.txt"):
+                                       print "<open>"+dev+"/macinfo.txt"
                                        self.macfd = open(dev+"/macinfo.txt","r+")
                                        break
 
@@ -1402,7 +1443,7 @@ class SmartCardTest(Screen):
                        <widget name="text" position="10,10" size="140,100" font="Regular;22" />
                </screen>"""
 
-       def __init__(self, session):
+       def __init__(self, session, stbmodel = 0):
                self["actions"] = ActionMap(["DirectionActions", "OkCancelActions"],
                {
                        "cancel": self.keyCancel,
@@ -1415,44 +1456,14 @@ class SmartCardTest(Screen):
                self.step = 0
                self.smartcardtimer = eTimer()
                self.smartcardtimer.callback.append(self.check_smart_card)
-               self.smartcardtimer.start(100,True)
                self.closetimer = eTimer()
                self.closetimer.callback.append(self.close)
                self.smartcard=0
                global smartcardtest
                smartcardtest = 0
-               self.Testmode = 0
-               self.model = 0
-               self.check_mode()
-
-       def check_mode(self):
-               try:
-                       if fileExists("/proc/stb/info/vumodel"):
-                               info = open("/proc/stb/info/vumodel").read()
-                               print info,info[:5]
-                               if info[:5] == "combo":
-#                                      print "combo"
-                                       self.model = 2
-                       else:
-                               info = open("/proc/stb/info/version").read()
-                               print info,info[:2]
-                               if info[:2] == "14":
-                                       self.model = 1
-                               elif info[:2] == "12":
-                                       self.model = 0
-                       self.Testmode = 1
-#                      fd = open("/proc/stb/info/version","r")
-#                      version = fd.read()
-#                      if int(version,16) <= 0x1200A3:
-#                              self.Testmode = 0
-#                      else:
-#                              self.Testmode = 1
-#                      if int(version,16) < 0x130000:
-#                              self.model = 0
-#                      elif int(version,16) > 0x140000:
-#                              self.model = 1
-               except:
-                       self.Testmode = 0
+               self.model = stbmodel
+               self.Testmode = 1
+               self.smartcardtimer.start(100,True)
 
        def check_smart_card(self):
                global smartcardtest