Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  component.rs   Sprache: unbekannt

 
#![cfg(feature = "component-model")]

use arbitrary::{Arbitrary, Unstructured};
use rand::{rngs::SmallRng, RngCore, SeedableRng};
use wasm_smith::Component;

#[test]
#[ignore] // FIXME(#1000): need to update wasm-smith's support for components
fn smoke_test_component() {
    const NUM_RUNS: usize = 4096;

    let mut rng = SmallRng::seed_from_u64(0);
    let mut buf = vec![0; 1024];
    let mut ok_count = 0;

    for _ in 0..NUM_RUNS {
        rng.fill_bytes(&mut buf);
        let u = Unstructured::new(&buf);
        if let Ok(component) = Component::arbitrary_take_rest(u) {
            ok_count += 1;
            let component = component.to_bytes();

            let mut validator = wasmparser::Validator::new_with_features(
                wasmparser::WasmFeatures::default() | wasmparser::WasmFeatures::COMPONENT_MODEL,
            );
            if let Err(e) = validator.validate_all(&component) {
                std::fs::write("component.wasm", &component).unwrap();
                panic!(
                    "generated component should be valid; failing binary written \
                     to `component.wasm`. Error: {}",
                    e
                );
            }
        }
    }

    println!(
        "Generated {} / {} ({:.02}%) arbitrary components okay",
        ok_count,
        NUM_RUNS,
        ok_count as f64 / NUM_RUNS as f64 * 100.0
    );
}

[ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge