mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2024-11-04 17:16:20 +00:00
Try to remove some flakiness in tests
- Make assertions a little more relaxed - Increase timeouts of computer tests (again :D:). - Log where we're up to in computer tests, to make tracking stalls a little easier
This commit is contained in:
parent
431e4c9419
commit
24ed0ca723
@ -85,7 +85,7 @@ public class ComputerThreadTest
|
||||
assertEquals( budget, TimeUnit.MILLISECONDS.toNanos( 25 ), "Budget should be 25ms" );
|
||||
|
||||
long delay = ConcurrentHelpers.waitUntil( timeout::isPaused );
|
||||
assertThat( "Paused within 25ms", delay * 1e-9, closeTo( 0.03, 0.015 ) );
|
||||
assertThat( "Paused within 25ms", delay * 1e-9, closeTo( 0.03, 0.02 ) );
|
||||
|
||||
computer.shutdown();
|
||||
return MachineResult.OK;
|
||||
|
@ -23,9 +23,11 @@ object Times {
|
||||
* Custom timeouts for various test types.
|
||||
*/
|
||||
object Timeouts {
|
||||
const val COMPUTER_TIMEOUT: Int = 200
|
||||
private const val SECOND: Int = 20
|
||||
|
||||
const val CLIENT_TIMEOUT: Int = 400
|
||||
const val COMPUTER_TIMEOUT: Int = SECOND * 15
|
||||
|
||||
const val CLIENT_TIMEOUT: Int = SECOND * 20
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -6,6 +6,7 @@
|
||||
package dan200.computercraft.ingame.mod;
|
||||
|
||||
import com.google.common.io.MoreFiles;
|
||||
import com.google.common.io.RecursiveDeleteOption;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.FileVisitResult;
|
||||
@ -55,7 +56,7 @@ public final class Copier extends SimpleFileVisitor<Path>
|
||||
|
||||
public static void replicate( Path from, Path to, Predicate<Path> check ) throws IOException
|
||||
{
|
||||
if( Files.exists( to ) ) MoreFiles.deleteRecursively( to );
|
||||
if( Files.exists( to ) ) MoreFiles.deleteRecursively( to, RecursiveDeleteOption.ALLOW_INSECURE );
|
||||
Files.walkFileTree( from, new Copier( from, to, check ) );
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,14 @@ if label == nil then return test.fail("Label a computer to use it.") end
|
||||
local fn, err = loadfile("tests/" .. label .. ".lua", nil, _ENV)
|
||||
if not fn then return test.fail(err) end
|
||||
|
||||
local source = "@" .. label .. ".lua"
|
||||
debug.sethook(function()
|
||||
local i = debug.getinfo(2, "lS")
|
||||
if i.source == source and i.currentline then
|
||||
test.log("At line " .. i.currentline)
|
||||
end
|
||||
end, "l")
|
||||
|
||||
local ok, err = pcall(fn)
|
||||
if not ok then return test.fail(err) end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user