def submit_experiment(resources,
                      max_duration,
                      exp_id_result,
                      start_time=None,
                      power_average=None):
    print(resources)
    print("Started")

    user, passwd = auth.get_user_credentials()
    api = rest.Api(user, passwd)

    if power_average:
        m3_prof = profile.ProfileM3(PROFILE_NAME, 'dc')
        m3_prof.set_consumption(140, power_average, True, True, True)
        m3_prof.set_radio('sniffer', [20])
        api.add_profile(PROFILE_NAME, m3_prof)

    result = iotlabcli.experiment.submit_experiment(api,
                                                    EXPERIMENT_NAME,
                                                    max_duration, [resources],
                                                    start_time=start_time)
    print(result)

    exp_id_result.value = result['id']
    print(exp_id_result.value)

    print("Waiting")
    result = iotlabcli.experiment.wait_experiment(api, exp_id_result.value)
    print(result)
Beispiel #2
0
    def test_valid_full_profile_rssi(self):
        m3_prof = profile.ProfileM3('name', 'dc')
        m3_prof.set_consumption(140, 1, True, True, True)
        m3_prof.set_radio('rssi', (11, 12, 13), period=1, num_per_channel=1)

        self.assertEqual(
            m3_prof.__dict__, {
                'power': 'dc',
                'profilename': 'name',
                'nodearch': 'm3',
                'radio': {
                    'channels': (11, 12, 13),
                    'num_per_channel': 1,
                    'mode': 'rssi',
                    'period': 1,
                },
                'consumption': {
                    'current': True,
                    'average': 1,
                    'period': 140,
                    'power': True,
                    'voltage': True,
                },
            })

        # Test with default values for num_per_channel
        m3_prof = profile.ProfileM3('name', 'dc')
        m3_prof.set_consumption(None, None)
        m3_prof.set_radio('rssi', (26, ), period=42)
        self.assertEqual(
            m3_prof.__dict__, {
                'power': 'dc',
                'profilename': 'name',
                'nodearch': 'm3',
                'radio': {
                    'channels': (26, ),
                    'num_per_channel': 0,
                    'mode': 'rssi',
                    'period': 42,
                },
                'consumption': None,
            })
Beispiel #3
0
    def test_valid_empty_profile(self):
        m3_prof = profile.ProfileM3('name', 'dc')
        m3_prof.set_consumption(None, None)
        m3_prof.set_radio(mode=None, channels=None)

        self.assertEquals(
            m3_prof.__dict__, {
                'power': 'dc',
                'profilename': 'name',
                'nodearch': 'm3',
                'consumption': None,
                'radio': None,
            })
Beispiel #4
0
    def test_main_add_parser(self):
        # add simple add
        profile_parser.main(['addwsn430', '-n', 'profile_name', '-p', 'dc'])
        self.api.add_profile.assert_called_with(
            'profile_name', profile.ProfileWSN430('profile_name', 'dc'))

        profile_parser.main(['addm3', '-n', 'profile_name', '-p', 'dc'])
        self.api.add_profile.assert_called_with(
            'profile_name', profile.ProfileM3('profile_name', 'dc'))

        profile_parser.main(['adda8', '-n', 'profile_name', '-p', 'dc'])
        self.api.add_profile.assert_called_with(
            'profile_name', profile.ProfileA8('profile_name', 'dc'))

        # invalid configuration 'power' without period and average
        self.assertRaises(
            SystemExit, profile_parser.main,
            ['addm3', '-n', 'profile_name', '-p', 'dc', '-power'])
Beispiel #5
0
    def test_valid_sniffer_profile(self):
        m3_prof = profile.ProfileM3('sniff_11', 'dc')
        m3_prof.set_consumption(None, None)
        m3_prof.set_radio('sniffer', (11, ))

        self.assertEqual(
            m3_prof.__dict__, {
                'power': 'dc',
                'profilename': 'sniff_11',
                'nodearch': 'm3',
                'radio': {
                    'channels': (11, ),
                    'mode': 'sniffer',
                    'num_per_channel': None,
                    'period': None,
                },
                'consumption': None,
            })