Przeglądaj źródła

Make UVSample exits after a while. Add it to CMake tests.

Andy Li 6 lat temu
rodzic
commit
588e8aea82
3 zmienionych plików z 53 dodań i 1 usunięć
  1. 41 0
      CMakeLists.txt
  2. 9 1
      other/uvsample/UVSample.hx
  3. 3 0
      other/uvsample/uvsample.hxml

+ 41 - 0
CMakeLists.txt

@@ -174,6 +174,18 @@ if(BUILD_TESTING)
         DEPENDS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test/threads.hl
         DEPENDS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test/threads.hl
     )
     )
 
 
+    #####################
+    # uvsample.hl
+
+    add_custom_command(OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test/uvsample.hl
+        COMMAND ${HAXE_COMPILER}
+            -hl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test/uvsample.hl
+            -cp ${CMAKE_SOURCE_DIR}/other/uvsample -main UVSample
+    )
+    add_custom_target(uvsample.hl ALL
+        DEPENDS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test/uvsample.hl
+    )
+
     #####################
     #####################
     # hello.c
     # hello.c
 
 
@@ -218,6 +230,29 @@ if(BUILD_TESTING)
         libhl
         libhl
     )
     )
 
 
+    #####################
+    # uvsample.c
+
+    add_custom_command(OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test/uvsample/uvsample.c
+        COMMAND ${HAXE_COMPILER}
+            -hl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test/uvsample/uvsample.c
+            -cp ${CMAKE_SOURCE_DIR}/other/uvsample -main UVSample
+    )
+    add_executable(uvsample
+        ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test/uvsample/uvsample.c
+    )
+    set_target_properties(uvsample
+        PROPERTIES
+        RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test/uvsample
+    )
+    target_include_directories(uvsample
+        PRIVATE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test/uvsample
+    )
+    target_link_libraries(uvsample
+        libhl
+        uv.hdll
+    )
+
     #####################
     #####################
     # Tests
     # Tests
 
 
@@ -227,12 +262,18 @@ if(BUILD_TESTING)
     add_test(NAME threads.hl
     add_test(NAME threads.hl
         COMMAND hl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test/threads.hl
         COMMAND hl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test/threads.hl
     )
     )
+    add_test(NAME uvsample.hl
+        COMMAND hl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test/uvsample.hl
+    )
     add_test(NAME hello
     add_test(NAME hello
         COMMAND hello
         COMMAND hello
     )
     )
     add_test(NAME threads
     add_test(NAME threads
         COMMAND threads
         COMMAND threads
     )
     )
+    add_test(NAME uvsample
+        COMMAND uvsample
+    )
     add_test(NAME version
     add_test(NAME version
         COMMAND hl --version
         COMMAND hl --version
     )
     )

+ 9 - 1
other/uvsample/UVSample.hx

@@ -111,10 +111,18 @@ class UVSample {
 		log("Enter Loop");
 		log("Enter Loop");
 
 
 		var K = 0;
 		var K = 0;
-		while( loop.run(NoWait) != 0 )
+		var maxRead = 1000000;
+		while( loop.run(NoWait) != 0 ) {
 			if( K++ % 10000 == 0 ) log("Read=" + totR);
 			if( K++ % 10000 == 0 ) log("Read=" + totR);
 
 
+			if( totR > maxRead ) {
+				log("Total Read > " + maxRead);
+				break;
+			}
+		}
+
 		log("Done");
 		log("Done");
+		Sys.exit(0);
 	}
 	}
 
 
 }
 }

+ 3 - 0
other/uvsample/uvsample.hxml

@@ -0,0 +1,3 @@
+-hl uvsample.hl
+-main UVSample
+-dce no