def setUp(self): # If the set_up method raises an exception while the test is running, # the framework will consider the test to have suffered an error, # and the runTest (or test_X_Name) method will not be executed. self.sm = Mock() self.sett = Mock() self.sett.ip_address = '' self.l = localization.Localization() self.jd = Mock()
def setUp(self): # If the set_up method raises an exception while the test is running, # the framework will consider the test to have suffered an error, # and the runTest (or test_X_Name) method will not be executed. self.sm = Mock() self.sett = Mock() self.sett.ip_address = '' self.l = localization.Localization() self.jd = Mock() self.m = router_machine.RouterMachine(Cmport, self.sm, self.sett, self.l, self.jd) self.m.s.s = DummySerial(self.give_me_a_PCB()) self.m.s.s.fd = 1 # this is needed to force it to run self.m.s.start_services(1) self.m.s.setting_27 = '' sleep(0.01)
def build(self): # Establish screens sm = ScreenManager(transition=NoTransition()) systemtools_sm = Mock() systemtools_sm.sm = sm # Localization/language object l = localization.Localization() # Initialise settings object sett = Mock() sett.ip_address = '' # Initialise 'j'ob 'd'ata object jd = Mock() calibration_db = Mock() # Initialise 'm'achine object # m = router_machine.RouterMachine(Cmport, sm, sett, l, jd) m = Mock() test_screen = OvernightTesting(name='overnight_testing', m=m, systemtools=systemtools_sm, calibration_db=calibration_db, sm=systemtools_sm.sm, l=l) sm.add_widget(test_screen) sm.current = 'overnight_testing' # Clock.schedule_once(m.s.start_services, 4) return sm
def build(self): log("Starting App:") # Establish screens sm = ScreenManager(transition=NoTransition()) # Localization/language object l = localization.Localization() # Initialise settings object sett = settings_manager.Settings(sm) # Initialise 'j'ob 'd'ata object jd = job_data.JobData(localization=l, settings_manager=sett) # Initialise 'm'achine object m = router_machine.RouterMachine(Cmport, sm, sett, l, jd) # Create database object to talk to db = smartbench_flurry_database_connection.DatabaseEventManager( sm, m, sett) # App manager object am = app_manager.AppManagerClass(sm, m, sett, l, jd, db, config_flag, initial_version) # Alarm screens are set up in serial comms, need access to the db object m.s.alarm.db = db # Server connection object sc = server_connection.ServerConnection(sett) # initialise the screens (legacy) lobby_screen = screen_lobby.LobbyScreen(name='lobby', screen_manager=sm, machine=m, app_manager=am, localization=l) home_screen = screen_home.HomeScreen(name='home', screen_manager=sm, machine=m, job=jd, settings=sett, localization=l) local_filechooser = screen_local_filechooser.LocalFileChooser( name='local_filechooser', screen_manager=sm, job=jd, localization=l) usb_filechooser = screen_usb_filechooser.USBFileChooser( name='usb_filechooser', screen_manager=sm, job=jd, localization=l) go_screen = screen_go.GoScreen(name='go', screen_manager=sm, machine=m, job=jd, app_manager=am, database=db, localization=l) jobstart_warning_screen = screen_jobstart_warning.JobstartWarningScreen( name='jobstart_warning', screen_manager=sm, machine=m, localization=l) loading_screen = screen_file_loading.LoadingScreen(name='loading', screen_manager=sm, machine=m, job=jd, localization=l) checking_screen = screen_check_job.CheckingScreen(name='check_job', screen_manager=sm, machine=m, job=jd, localization=l) error_screen = screen_error.ErrorScreenClass(name='errorScreen', screen_manager=sm, machine=m, job=jd, database=db, localization=l) serial_screen = screen_serial_failure.SerialFailureClass( name='serialScreen', screen_manager=sm, machine=m, win_port=Cmport, localization=l) mstate_screen = screen_mstate_warning.WarningMState(name='mstate', screen_manager=sm, machine=m, localization=l) boundary_warning_screen = screen_boundary_warning.BoundaryWarningScreen( name='boundary', screen_manager=sm, machine=m, localization=l) rebooting_screen = screen_rebooting.RebootingScreen(name='rebooting', screen_manager=sm, localization=l) job_feedback_screen = screen_job_feedback.JobFeedbackScreen( name='job_feedback', screen_manager=sm, machine=m, database=db, job=jd, localization=l) job_incomplete_screen = screen_job_incomplete.JobIncompleteScreen( name='job_incomplete', screen_manager=sm, machine=m, database=db, job=jd, localization=l) door_screen = screen_door.DoorScreen(name='door', screen_manager=sm, machine=m, job=jd, database=db, localization=l) squaring_decision_screen = screen_squaring_manual_vs_square.SquaringScreenDecisionManualVsSquare( name='squaring_decision', screen_manager=sm, machine=m, localization=l) prepare_to_home_screen = screen_homing_prepare.HomingScreenPrepare( name='prepare_to_home', screen_manager=sm, machine=m, localization=l) homing_active_screen = screen_homing_active.HomingScreenActive( name='homing_active', screen_manager=sm, machine=m, localization=l) squaring_active_screen = screen_squaring_active.SquaringScreenActive( name='squaring_active', screen_manager=sm, machine=m, localization=l) spindle_shutdown_screen = screen_spindle_shutdown.SpindleShutdownScreen( name='spindle_shutdown', screen_manager=sm, machine=m, job=jd, database=db, localization=l) spindle_cooldown_screen = screen_spindle_cooldown.SpindleCooldownScreen( name='spindle_cooldown', screen_manager=sm, machine=m, localization=l) stop_or_resume_decision_screen = screen_stop_or_resume_decision.StopOrResumeDecisionScreen( name='stop_or_resume_job_decision', screen_manager=sm, machine=m, job=jd, database=db, localization=l) lift_z_on_pause_decision_screen = screen_lift_z_on_pause_decision.LiftZOnPauseDecisionScreen( name='lift_z_on_pause_or_not', screen_manager=sm, machine=m, localization=l) tool_selection_screen = screen_tool_selection.ToolSelectionScreen( name='tool_selection', screen_manager=sm, machine=m, localization=l) # add the screens to screen manager sm.add_widget(lobby_screen) sm.add_widget(home_screen) sm.add_widget(local_filechooser) sm.add_widget(usb_filechooser) sm.add_widget(go_screen) sm.add_widget(jobstart_warning_screen) sm.add_widget(loading_screen) sm.add_widget(checking_screen) sm.add_widget(error_screen) sm.add_widget(serial_screen) sm.add_widget(mstate_screen) sm.add_widget(boundary_warning_screen) sm.add_widget(rebooting_screen) sm.add_widget(job_feedback_screen) sm.add_widget(job_incomplete_screen) sm.add_widget(door_screen) sm.add_widget(squaring_decision_screen) sm.add_widget(prepare_to_home_screen) sm.add_widget(homing_active_screen) sm.add_widget(squaring_active_screen) sm.add_widget(spindle_shutdown_screen) sm.add_widget(spindle_cooldown_screen) sm.add_widget(stop_or_resume_decision_screen) sm.add_widget(lift_z_on_pause_decision_screen) sm.add_widget(tool_selection_screen) # Setting the first screen: # sm.current is set at the end of start_services in serial_connection # This ensures kivy has fully loaded and initial kivy schedule calls are safely made before screen is presented log('Screen manager activated: ' + str(sm.current)) ## LOCALIZATION TESTING ----------------------------------------------------------- # test_languages = ["English (GB)", "Deutsche (DE)", "Français (FR)", "Italiano (IT)", "Suomalainen (FI)", "Polskie (PL)", "Dansk (DK)"] # def test_cycle(dt): # if self.test_no < len(test_languages): # lang = test_languages[self.test_no] # l.load_in_new_language(lang) # print("New lang: " + str(lang)) # try: # sm.get_screen(str(sm.current)).update_strings() # except: # print(str(sm.current) + " has no update strings function") # self.test_no = self.test_no + 1 # else: # self.test_no = 0 # Clock.schedule_interval(test_cycle, 5) # def test_run_through_sequence(dt): # if sm.current != 'warranty_3' and sm.current != 'consent_3' and sm.current != 'starting_smartbench': # sm.get_screen(str(sm.current)).next_screen() # elif sm.current == 'warranty_3': # sm.get_screen('warranty_3').activation_code.text = "42230169" # elif sm.current == 'consent_3': # sm.get_screen('consent_3').terms_checkbox.active = True # sm.get_screen('consent_3').accept_terms() # def start_loop(dt): # Clock.schedule_interval(test_run_through_sequence, 3) # Clock.schedule_once(start_loop, 10) ## ----------------------------------------------------------------------------------- return sm