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()
예제 #2
0
    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)
예제 #3
0
    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
예제 #4
0
    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