Search in sources :

Example 51 with Status

use of com.arbindo.mimock.manage.mimocks.models.v1.Status in project bmoth by hhu-stups.

the class ExplicitStateModelChecker method doModelCheck.

@Override
protected ModelCheckingResult doModelCheck() {
    final int maxInitialStates = BMothPreferences.getIntPreference(BMothPreferences.IntPreference.MAX_INITIAL_STATE);
    final int maxTransitions = BMothPreferences.getIntPreference(BMothPreferences.IntPreference.MAX_TRANSITIONS);
    stateSpace = new StateSpace();
    visited = new HashSet<>();
    Queue<State> queue = new LinkedList<>();
    // prepare initial states
    BoolExpr initialValueConstraint = getMachineTranslator().getInitialValueConstraint();
    Set<Model> models = finder.findSolutions(initialValueConstraint, maxInitialStates);
    models.stream().map(this::getStateFromModel).filter(this::isUnknown).forEach(root -> {
        stateSpace.addRootVertex(root);
        queue.add(root);
    });
    final BoolExpr invariant = getMachineTranslator().getInvariantConstraint();
    solver.add(invariant);
    // create joint operations constraint and permanently add to separate
    // solver
    final BoolExpr operationsConstraint = getMachineTranslator().getCombinedOperationConstraint();
    opSolver.add(operationsConstraint);
    while (!isAborted() && !queue.isEmpty()) {
        solver.push();
        State current = queue.poll();
        visited.add(current);
        // apply current state - remains stored in solver for loop iteration
        BoolExpr stateConstraint = current.getStateConstraint(getContext());
        solver.add(stateConstraint);
        // check invariant & state
        Status check = solver.check();
        switch(check) {
            case UNKNOWN:
                return createUnknown(visited.size(), solver.getReasonUnknown());
            case UNSATISFIABLE:
                return createCounterExampleFound(visited.size(), current, stateSpace);
            case SATISFIABLE:
            default:
        }
        // compute successors on separate finder
        models = opFinder.findSolutions(stateConstraint, maxTransitions);
        models.stream().map(this::getStateFromModel).forEach(successor -> {
            if (isUnknown(successor)) {
                stateSpace.addVertex(successor);
                queue.add(successor);
            }
            stateSpace.addEdge(current, successor);
        });
        solver.pop();
    }
    if (isAborted()) {
        return createAborted(visited.size());
    } else {
        ModelCheckingResult resultVerified = createVerified(visited.size(), stateSpace);
        if (buechiAutomaton != null) {
            // do ltl model check
            labelStateSpace();
            List<List<State>> cycles = new TarjanSimpleCycles<>(stateSpace).findSimpleCycles();
            for (List<State> cycle : cycles) {
                // if there is an accepting Buechi state in the cycle, a counterexample is found
                for (State state : cycle) {
                    if (buechiAutomaton.isAcceptingSet(state.getBuechiNodes())) {
                        return createLTLCounterExampleFound(visited.size(), state);
                    }
                }
            }
        }
        return resultVerified;
    }
}
Also used : Status(com.microsoft.z3.Status) BoolExpr(com.microsoft.z3.BoolExpr) Model(com.microsoft.z3.Model) ModelCheckingResult(de.bmoth.modelchecker.ModelCheckingResult)

Example 52 with Status

use of com.arbindo.mimock.manage.mimocks.models.v1.Status in project UniversalMediaServer by UniversalMediaServer.

the class ChromecastPlayer method startPoll.

public void startPoll() {
    Runnable r = new Runnable() {

        @Override
        public void run() {
            for (; ; ) {
                try {
                    Thread.sleep(1000);
                    Status s1 = api.getStatus();
                    if (s1 == null || !s1.isAppRunning(MediaPlayer)) {
                        continue;
                    }
                    MediaStatus status = api.getMediaStatus();
                    if (status == null) {
                        continue;
                    }
                    state.playback = translateState(status.playerState);
                    Media m = status.media;
                    if (m != null) {
                        if (m.url != null) {
                            state.uri = status.media.url;
                        }
                        if (m.duration != null) {
                            state.duration = StringUtil.convertTimeToString(status.media.duration, "%02d:%02d:%02.0f");
                        }
                    }
                    state.position = StringUtil.convertTimeToString(status.currentTime, "%02d:%02d:%02.0f");
                    if (status.volume != null) {
                        state.volume = status.volume.level.intValue();
                        state.mute = status.volume.muted;
                    }
                    alert();
                } catch (InterruptedException | IOException e) {
                    LOGGER.debug("Bad chromecast mediastate " + e);
                }
            }
        }
    };
    poller = new Thread(r);
    poller.start();
}
Also used : MediaStatus(su.litvak.chromecast.api.v2.MediaStatus) Status(su.litvak.chromecast.api.v2.Status) Media(su.litvak.chromecast.api.v2.Media) IOException(java.io.IOException) MediaStatus(su.litvak.chromecast.api.v2.MediaStatus)

Example 53 with Status

use of com.arbindo.mimock.manage.mimocks.models.v1.Status in project DigitalMediaServer by DigitalMediaServer.

the class ChromecastPlayer method startPoll.

public void startPoll() {
    Runnable r = new Runnable() {

        @Override
        public void run() {
            for (; ; ) {
                try {
                    Thread.sleep(1000);
                    Status s1 = api.getStatus();
                    if (s1 == null || !s1.isAppRunning(MediaPlayer)) {
                        continue;
                    }
                    MediaStatus status = api.getMediaStatus();
                    if (status == null) {
                        continue;
                    }
                    state.playback = translateState(status.playerState);
                    Media m = status.media;
                    if (m != null) {
                        if (m.url != null) {
                            state.uri = status.media.url;
                        }
                        if (m.duration != null) {
                            state.duration = StringUtil.convertTimeToString(status.media.duration, "%02d:%02d:%02.0f");
                        }
                    }
                    state.position = StringUtil.convertTimeToString(status.currentTime, "%02d:%02d:%02.0f");
                    if (status.volume != null) {
                        state.volume = status.volume.level.intValue();
                        state.mute = status.volume.muted;
                    }
                    alert();
                } catch (InterruptedException | IOException e) {
                    LOGGER.debug("Bad chromecast mediastate " + e);
                }
            }
        }
    };
    poller = new Thread(r);
    poller.start();
}
Also used : MediaStatus(su.litvak.chromecast.api.v2.MediaStatus) Status(su.litvak.chromecast.api.v2.Status) Media(su.litvak.chromecast.api.v2.Media) IOException(java.io.IOException) MediaStatus(su.litvak.chromecast.api.v2.MediaStatus)

Example 54 with Status

use of com.arbindo.mimock.manage.mimocks.models.v1.Status in project data-prepper by opensearch-project.

the class OTelProtoHelperTest method testStatusAttributes.

@Test
public void testStatusAttributes() {
    final Status st1 = Status.newBuilder().setCode(Status.StatusCode.STATUS_CODE_ERROR).setMessage("Some message").build();
    final Status st2 = Status.newBuilder().setMessage("error message").build();
    final Status st3 = Status.newBuilder().setCode(Status.StatusCode.STATUS_CODE_UNSET).build();
    final Status st4 = Status.newBuilder().build();
    assertThat(OTelProtoHelper.getSpanStatusAttributes(st1).size() == 2).isTrue();
    assertThat(Status.StatusCode.forNumber((Integer) OTelProtoHelper.getSpanStatusAttributes(st1).get(OTelProtoHelper.STATUS_CODE)).equals(st1.getCode())).isTrue();
    assertThat(OTelProtoHelper.getSpanStatusAttributes(st1).get(OTelProtoHelper.STATUS_MESSAGE).equals(st1.getMessage())).isTrue();
    assertThat(OTelProtoHelper.getSpanStatusAttributes(st2).size() == 2).isTrue();
    assertThat(Status.StatusCode.forNumber((Integer) OTelProtoHelper.getSpanStatusAttributes(st2).get(OTelProtoHelper.STATUS_CODE)).equals(st2.getCode())).isTrue();
    assertThat(OTelProtoHelper.getSpanStatusAttributes(st3).size() == 1).isTrue();
    assertThat(Status.StatusCode.forNumber((Integer) OTelProtoHelper.getSpanStatusAttributes(st3).get(OTelProtoHelper.STATUS_CODE)).equals(st3.getCode())).isTrue();
    assertThat(OTelProtoHelper.getSpanStatusAttributes(st4).size() == 1).isTrue();
    assertThat(Status.StatusCode.forNumber((Integer) OTelProtoHelper.getSpanStatusAttributes(st4).get(OTelProtoHelper.STATUS_CODE)).equals(st4.getCode())).isTrue();
}
Also used : Status(io.opentelemetry.proto.trace.v1.Status) Test(org.junit.Test)

Example 55 with Status

use of com.arbindo.mimock.manage.mimocks.models.v1.Status in project openhab-addons by openhab.

the class ChromecastCommander method handleRefresh.

public void handleRefresh() {
    if (!chromeCast.isConnected()) {
        scheduler.cancelRefresh();
        scheduler.scheduleConnect();
        return;
    }
    Status status;
    try {
        status = chromeCast.getStatus();
        statusUpdater.processStatusUpdate(status);
        if (status == null) {
            scheduler.cancelRefresh();
        }
    } catch (IOException ex) {
        logger.debug("Failed to request status: {}", ex.getMessage());
        statusUpdater.updateStatus(ThingStatus.OFFLINE, COMMUNICATION_ERROR, ex.getMessage());
        scheduler.cancelRefresh();
        return;
    }
    try {
        if (status != null && status.getRunningApp() != null) {
            MediaStatus mediaStatus = chromeCast.getMediaStatus();
            statusUpdater.updateMediaStatus(mediaStatus);
            if (mediaStatus != null && mediaStatus.playerState == MediaStatus.PlayerState.IDLE && mediaStatus.idleReason != null && mediaStatus.idleReason != MediaStatus.IdleReason.INTERRUPTED) {
                stopMediaPlayerApp();
            }
        }
    } catch (IOException ex) {
        logger.debug("Failed to request media status with a running app: {}", ex.getMessage());
    // We were just able to request status, so let's not put the device OFFLINE.
    }
}
Also used : ThingStatus(org.openhab.core.thing.ThingStatus) MediaStatus(su.litvak.chromecast.api.v2.MediaStatus) Status(su.litvak.chromecast.api.v2.Status) IOException(java.io.IOException) MediaStatus(su.litvak.chromecast.api.v2.MediaStatus)

Aggregations

Status (com.microsoft.z3.Status)63 BoolExpr (com.microsoft.z3.BoolExpr)55 Test (org.junit.Test)49 Test (org.junit.jupiter.api.Test)21 JsonMapper.convertObjectToJsonString (com.arbindo.mimock.helpers.general.JsonMapper.convertObjectToJsonString)13 RandomDataGenerator.generateRandomAlphabeticString (com.arbindo.mimock.helpers.general.RandomDataGenerator.generateRandomAlphabeticString)13 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)13 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)13 WebMvcTest (org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest)13 MvcResult (org.springframework.test.web.servlet.MvcResult)13 Mock (com.arbindo.mimock.entities.Mock)12 Expr (com.microsoft.z3.Expr)10 IOException (java.io.IOException)10 MockRequest (com.arbindo.mimock.manage.mimocks.models.v1.MockRequest)9 ProcessedMockRequest (com.arbindo.mimock.manage.mimocks.models.v1.ProcessedMockRequest)9 Status (com.arbindo.mimock.manage.mimocks.models.v1.Status)9 Context (com.microsoft.z3.Context)9 Pageable (org.springframework.data.domain.Pageable)9 HttpStatus (org.springframework.http.HttpStatus)9 MockMultipartFile (org.springframework.mock.web.MockMultipartFile)9