removed the containing subdir
This commit is contained in:
75
kernel/test-004.moo
Normal file
75
kernel/test-004.moo
Normal file
@ -0,0 +1,75 @@
|
||||
//
|
||||
// TEST CASES for basic methods
|
||||
//
|
||||
|
||||
#include 'Moo.moo'.
|
||||
|
||||
////////////////////////////////////////////////////////////////#
|
||||
// MAIN
|
||||
////////////////////////////////////////////////////////////////#
|
||||
|
||||
class MyObject(Object)
|
||||
{
|
||||
var(#class) t1 := 20.
|
||||
|
||||
method(#class) test_terminate
|
||||
{
|
||||
| a s |
|
||||
s := Semaphore new.
|
||||
a := [ self.t1 := self.t1 * 9.
|
||||
s signal.
|
||||
Processor activeProcess terminate.
|
||||
self.t1 := self.t1 + 20 ] fork.
|
||||
s wait.
|
||||
^self.t1
|
||||
}
|
||||
|
||||
method(#class) test_sg
|
||||
{
|
||||
| sg s1 s2 s3 |
|
||||
|
||||
s1 := Semaphore new.
|
||||
s2 := Semaphore new.
|
||||
s3 := Semaphore new.
|
||||
|
||||
sg := SemaphoreGroup new.
|
||||
|
||||
sg addSemaphore: s1.
|
||||
sg addSemaphore: s2.
|
||||
sg addSemaphore: s3.
|
||||
|
||||
s1 signalOnInput: 0.
|
||||
s2 signalOnInput: 0. // this should raise an exception as the same file descriptor is added to a different semaphore
|
||||
s3 signalOnInput: 0.
|
||||
|
||||
[ sg wait. ] fork.
|
||||
[ sg wait. ] fork.
|
||||
[ sg wait. ] fork.
|
||||
|
||||
System sleepForSecs: 1.
|
||||
sg wait.
|
||||
sg removeSemaphore: s1.
|
||||
"********** END OF TESTER *************" dump.
|
||||
}
|
||||
|
||||
method(#class) main
|
||||
{
|
||||
| tc limit |
|
||||
|
||||
tc := ##(
|
||||
// 0 - 4
|
||||
[self test_terminate == 180],
|
||||
[self test_sg == nil]
|
||||
).
|
||||
|
||||
limit := tc size.
|
||||
|
||||
0 priorTo: limit by: 1 do: [ :idx |
|
||||
| tb |
|
||||
tb := tc at: idx.
|
||||
System log(System.Log.INFO, idx asString, (if (tb value) { " PASS" } else { " FAIL" }), "\n").
|
||||
].
|
||||
|
||||
"********** END OF MAIN PROGRAM *************" dump.
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user