Index: src/tests/concurrent/.expect/coroutineYield.txt
===================================================================
--- src/tests/concurrent/.expect/coroutineYield.txt	(revision 82c948c3ab2d77f43fcf3cdbcab750b272c8e59b)
+++ src/tests/concurrent/.expect/coroutineYield.txt	(revision 82c948c3ab2d77f43fcf3cdbcab750b272c8e59b)
@@ -0,0 +1,4 @@
+Thread 1
+Coroutine 1
+Coroutine 2
+Thread 2
Index: src/tests/concurrent/coroutineYield.c
===================================================================
--- src/tests/concurrent/coroutineYield.c	(revision 82c948c3ab2d77f43fcf3cdbcab750b272c8e59b)
+++ src/tests/concurrent/coroutineYield.c	(revision 82c948c3ab2d77f43fcf3cdbcab750b272c8e59b)
@@ -0,0 +1,20 @@
+#include <fstream>
+#include <kernel>
+#include <stdlib>
+#include <thread>
+
+coroutine Coroutine {};
+
+void main(Coroutine& this) {
+	sout | "Coroutine 1" | endl;
+	yield();
+	sout | "Coroutine 2" | endl;
+}
+
+
+int main(int argc, char* argv[]) {
+	Coroutine c;
+	sout | "Thread 1" | endl;
+	resume(c);
+	sout | "Thread 2" | endl;
+}
