@@ -2,14 +2,49 @@ import XCTest
22@testable import WAMR
33
44final class WAMRTests : XCTestCase {
5- func testExample( ) {
6- // This is an example of a functional test case.
7- // Use XCTAssert and related functions to verify your tests produce the correct
8- // results.
9- XCTAssertEqual ( WAMR ( ) . text, " Hello, World! " )
5+ override class func setUp( ) {
6+ WasmRuntime . initialize ( )
7+ }
8+ func testHelloWorld( ) throws {
9+ let wasmTestBinary : [ UInt8 ] = [
10+ 0x00 , 0x61 , 0x73 , 0x6D , 0x01 , 0x00 , 0x00 , 0x00 , 0x01 , 0x10 , 0x03 , 0x60 ,
11+ 0x01 , 0x7F , 0x01 , 0x7F , 0x60 , 0x02 , 0x7F , 0x7F , 0x01 , 0x7F , 0x60 , 0x01 ,
12+ 0x7F , 0x00 , 0x02 , 0x31 , 0x04 , 0x03 , 0x65 , 0x6E , 0x76 , 0x04 , 0x70 , 0x75 ,
13+ 0x74 , 0x73 , 0x00 , 0x00 , 0x03 , 0x65 , 0x6E , 0x76 , 0x06 , 0x6D , 0x61 , 0x6C ,
14+ 0x6C , 0x6F , 0x63 , 0x00 , 0x00 , 0x03 , 0x65 , 0x6E , 0x76 , 0x06 , 0x70 , 0x72 ,
15+ 0x69 , 0x6E , 0x74 , 0x66 , 0x00 , 0x01 , 0x03 , 0x65 , 0x6E , 0x76 , 0x04 , 0x66 ,
16+ 0x72 , 0x65 , 0x65 , 0x00 , 0x02 , 0x03 , 0x02 , 0x01 , 0x01 , 0x04 , 0x05 , 0x01 ,
17+ 0x70 , 0x01 , 0x01 , 0x01 , 0x05 , 0x03 , 0x01 , 0x00 , 0x01 , 0x06 , 0x13 , 0x03 ,
18+ 0x7F , 0x01 , 0x41 , 0xC0 , 0x28 , 0x0B , 0x7F , 0x00 , 0x41 , 0xBA , 0x08 , 0x0B ,
19+ 0x7F , 0x00 , 0x41 , 0xC0 , 0x28 , 0x0B , 0x07 , 0x2C , 0x04 , 0x06 , 0x6D , 0x65 ,
20+ 0x6D , 0x6F , 0x72 , 0x79 , 0x02 , 0x00 , 0x0A , 0x5F , 0x5F , 0x64 , 0x61 , 0x74 ,
21+ 0x61 , 0x5F , 0x65 , 0x6E , 0x64 , 0x03 , 0x01 , 0x0B , 0x5F , 0x5F , 0x68 , 0x65 ,
22+ 0x61 , 0x70 , 0x5F , 0x62 , 0x61 , 0x73 , 0x65 , 0x03 , 0x02 , 0x04 , 0x6D , 0x61 ,
23+ 0x69 , 0x6E , 0x00 , 0x04 , 0x0A , 0xB2 , 0x01 , 0x01 , 0xAF , 0x01 , 0x01 , 0x03 ,
24+ 0x7F , 0x23 , 0x80 , 0x80 , 0x80 , 0x80 , 0x00 , 0x41 , 0x20 , 0x6B , 0x22 , 0x02 ,
25+ 0x24 , 0x80 , 0x80 , 0x80 , 0x80 , 0x00 , 0x41 , 0x9B , 0x88 , 0x80 , 0x80 , 0x00 ,
26+ 0x10 , 0x80 , 0x80 , 0x80 , 0x80 , 0x00 , 0x1A , 0x02 , 0x40 , 0x02 , 0x40 , 0x41 ,
27+ 0x80 , 0x08 , 0x10 , 0x81 , 0x80 , 0x80 , 0x80 , 0x00 , 0x22 , 0x03 , 0x0D , 0x00 ,
28+ 0x41 , 0xA8 , 0x88 , 0x80 , 0x80 , 0x00 , 0x10 , 0x80 , 0x80 , 0x80 , 0x80 , 0x00 ,
29+ 0x1A , 0x41 , 0x7F , 0x21 , 0x04 , 0x0C , 0x01 , 0x0B , 0x20 , 0x02 , 0x20 , 0x03 ,
30+ 0x36 , 0x02 , 0x10 , 0x41 , 0x80 , 0x88 , 0x80 , 0x80 , 0x00 , 0x20 , 0x02 , 0x41 ,
31+ 0x10 , 0x6A , 0x10 , 0x82 , 0x80 , 0x80 , 0x80 , 0x00 , 0x1A , 0x41 , 0x00 , 0x21 ,
32+ 0x04 , 0x20 , 0x03 , 0x41 , 0x04 , 0x6A , 0x41 , 0x00 , 0x2F , 0x00 , 0x91 , 0x88 ,
33+ 0x80 , 0x80 , 0x00 , 0x3B , 0x00 , 0x00 , 0x20 , 0x03 , 0x41 , 0x00 , 0x28 , 0x00 ,
34+ 0x8D , 0x88 , 0x80 , 0x80 , 0x00 , 0x36 , 0x00 , 0x00 , 0x20 , 0x02 , 0x20 , 0x03 ,
35+ 0x36 , 0x02 , 0x00 , 0x41 , 0x93 , 0x88 , 0x80 , 0x80 , 0x00 , 0x20 , 0x02 , 0x10 ,
36+ 0x82 , 0x80 , 0x80 , 0x80 , 0x00 , 0x1A , 0x20 , 0x03 , 0x10 , 0x83 , 0x80 , 0x80 ,
37+ 0x80 , 0x00 , 0x0B , 0x20 , 0x02 , 0x41 , 0x20 , 0x6A , 0x24 , 0x80 , 0x80 , 0x80 ,
38+ 0x80 , 0x00 , 0x20 , 0x04 , 0x0B , 0x0B , 0x41 , 0x01 , 0x00 , 0x41 , 0x80 , 0x08 ,
39+ 0x0B , 0x3A , 0x62 , 0x75 , 0x66 , 0x20 , 0x70 , 0x74 , 0x72 , 0x3A , 0x20 , 0x25 ,
40+ 0x70 , 0x0A , 0x00 , 0x31 , 0x32 , 0x33 , 0x34 , 0x0A , 0x00 , 0x62 , 0x75 , 0x66 ,
41+ 0x3A , 0x20 , 0x25 , 0x73 , 0x00 , 0x48 , 0x65 , 0x6C , 0x6C , 0x6F , 0x20 , 0x77 ,
42+ 0x6F , 0x72 , 0x6C , 0x64 , 0x21 , 0x00 , 0x6D , 0x61 , 0x6C , 0x6C , 0x6F , 0x63 ,
43+ 0x20 , 0x62 , 0x75 , 0x66 , 0x20 , 0x66 , 0x61 , 0x69 , 0x6C , 0x65 , 0x64 , 0x00 ,
44+ ]
45+ let module = try WasmModule ( binary: wasmTestBinary)
46+ module. setWasiOptions ( dirs: [ ] , mapDirs: [ ] , envs: [ ] , args: [ ] )
47+ let instance = try module. instantiate ( )
48+ try instance. executeMain ( args: [ ] )
1049 }
11-
12- static var allTests = [
13- ( " testExample " , testExample) ,
14- ]
1550}
0 commit comments