committhis / black-box-bmv2 Goto Github PK
View Code? Open in Web Editor NEWBlack box testing and sandbox for P4 programs written for the Behavioural Model v2.
Black box testing and sandbox for P4 programs written for the Behavioural Model v2.
As per title
If exceptions are thrown in some cases, it will bring down the entire test suite, without properly cleaning up. Consequently, the following may not be removed:
There is a lot of set up and tear down to be done with a complete example. The most significant of these is the SimpleSwitchRunner
. If we used a context manager, we could (hopefully) gracefully rollback everything that was set up.
For simplicity's sake, the code could look like:
pkt = Ether(src=get_if_hwaddr('h1eth0'), dst='ff:ff:ff:ff:ff:ff')/IP(
src='10.0.0.1',
dst='255.255.255.255')/ICMP()
context = TestContext()
with make_switch(config, name, network, port) as switch:
result1 = context.expect('h2eth0', saw_packet_equals_sent(pkt))
# and so on....
However, we could also do something similar with the TestContext
, and I'm not sure what the correct pattern would be with multiple nested inline context managers. There's also a lot of other moving machinery, so some thought would want to be had here.
Possible QOL change. Rather than have a user filter gRPC messages from the switch, provide an interface that only returns digest messages. However would need to be considered against a users need to accept other messages, such as arbitration updates etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.