Skip to content

Commit

Permalink
Reduce legacy time on CI (#171)
Browse files Browse the repository at this point in the history
* src/tests/integration: add file of skipped legacy prover tests

* test-data/: update list with more slow tests

* Set Version: 0.1.58

---------

Co-authored-by: devops <[email protected]>
  • Loading branch information
ehildenb and devops authored Nov 14, 2023
1 parent 0e5efbd commit 9fb5865
Show file tree
Hide file tree
Showing 5 changed files with 274 additions and 4 deletions.
2 changes: 1 addition & 1 deletion package/version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.57
0.1.58
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"

[tool.poetry]
name = "kontrol"
version = "0.1.57"
version = "0.1.58"
description = "Foundry integration for KEVM"
authors = [
"Runtime Verification, Inc. <[email protected]>",
Expand Down
2 changes: 1 addition & 1 deletion src/kontrol/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
if TYPE_CHECKING:
from typing import Final

VERSION: Final = '0.1.57'
VERSION: Final = '0.1.58'
265 changes: 265 additions & 0 deletions src/tests/integration/test-data/foundry-prove-skip-legacy
Original file line number Diff line number Diff line change
@@ -0,0 +1,265 @@
AccountParamsTest.testDealConcrete()
AccountParamsTest.testDealSymbolic(uint256)
AccountParamsTest.testEtchConcrete()
AccountParamsTest.testEtchSymbolic(bytes)
AccountParamsTest.testFail_GetNonce_false()
AccountParamsTest.testFail_GetNonce_true()
AccountParamsTest.test_GetNonce_false()
AccountParamsTest.test_GetNonce_true()
AccountParamsTest.test_getNonce_unknownSymbolic(address)
AccountParamsTest.test_Nonce_ExistentAddress()
AccountParamsTest.test_Nonce_NonExistentAddress()
AccountParamsTest.testNonceSymbolic(uint64)
AddrTest.test_addr_false()
AddrTest.test_addr_symbolic(uint256)
AddrTest.test_addr_true()
AddrTest.testFail_addr_false()
AddrTest.testFail_addr_true()
AddrTest.test_notBuiltinAddress_symbolic(address)
AllowChangesTest.test()
AllowChangesTest.testAllow()
AllowChangesTest.testAllow_fail()
AllowChangesTest.testFailAllowCallsToAddress()
ArithmeticTest.test_decreasing_div(uint256,uint256)
ArithmeticTest.test_max1_broken(uint256,uint256)
ArithmeticTest.test_wdiv_rounding(uint256,uint256)
ArithmeticTest.test_wmul_increasing_gt_one(uint256,uint256)
ArithmeticTest.test_wmul_increasing_overflow(uint256,uint256)
ArithmeticTest.test_wmul_increasing_positive(uint256,uint256)
ArithmeticTest.test_wmul_increasing(uint256,uint256)
ArithmeticTest.test_wmul_rounding(uint256,uint256)
ArithmeticTest.test_wmul_wdiv_inverse(uint256,uint256)
ArithmeticTest.test_wmul_wdiv_inverse_underflow(uint256,uint256)
ArithmeticTest.test_wmul_weakly_increasing_positive(uint256,uint256)
AssertTest.test_assert_false()
AssertTest.testFail_assert_true()
AssertTest.testFail_expect_revert()
AssertTest.test_failing_branch(uint256)
AssertTest.test_revert_branch(uint256,uint256)
AssumeTest.test_assume_false(uint256,uint256)
AssumeTest.test_assume_staticCall(bool)
AssumeTest.test_assume_true(uint256,uint256)
AssumeTest.testFail_assume_false(uint256,uint256)
AssumeTest.testFail_assume_true(uint256,uint256)
AssumeTest.test_multi_assume(address,address)
BMCLoopsTest.test_countdown_concrete()
BroadcastTest.testDeploy()
BytesTypeTest.test_bytes32_fail(bytes32)
BytesTypeTest.test_bytes4_fail(bytes4)
BytesTypeTest.testFail_bytes32(bytes32)
BytesTypeTest.testFail_bytes4(bytes4)
ContractBTest.testCannotSubtract43()
ContractBTest.testFailSubtract43()
ContractBTest.testNumberIs42()
ContractTest.testExample()
EnvTest.testEnvAddress()
EnvTest.testEnvAddresseArray()
EnvTest.testEnvBool()
EnvTest.testEnvBoolArray()
EnvTest.testEnvBytes()
EnvTest.testEnvBytes32()
EnvTest.testEnvBytes32Array()
EnvTest.testEnvBytesArray()
EnvTest.testEnvInt()
EnvTest.testEnvIntArray()
EnvTest.testEnvString()
EnvTest.testEnvStringArray()
EnvTest.testEnvUInt()
EnvTest.testEnvUIntArray()
ExpectCallTest.testExpectRegularCall()
ExpectCallTest.testExpectStaticCall()
ExpectRevertTest.test_expectRevert_bytes4()
ExpectRevertTest.test_expectRevert_encodedSymbolic(address)
ExpectRevertTest.test_ExpectRevert_increasedDepth()
ExpectRevertTest.test_expectRevert_internalCall()
ExpectRevertTest.test_expectRevert_message()
ExpectRevertTest.test_expectRevert_returnValue()
ExpectRevertTest.test_expectRevert_true()
ExpectRevertTest.testFail_expectRevert_bytes4()
ExpectRevertTest.testFail_ExpectRevert_failAndSuccess()
ExpectRevertTest.testFail_expectRevert_false()
ExpectRevertTest.testFail_expectRevert_multipleReverts()
FfiTest.testffi()
FfiTest.testFFIFOO()
FfiTest.testFFIScript()
FfiTest.testFFIScript2()
FilesTest.testFailRemoveFile()
FilesTest.testReadWriteFile()
FilesTest.testReadWriteLine()
ForkTest.testActiveFork()
ForkTest.testAllRPCUrl()
ForkTest.testCreateFork()
ForkTest.testCreateForkBlock()
ForkTest.testCreateSelectFork()
ForkTest.testCreateSelectForkBlock()
ForkTest.testRollFork()
ForkTest.testRollForkId()
ForkTest.testRPCUrl()
ForkTest.testRPCUrlRevert()
GasTest.testInfiniteGas()
GetCodeTest.testGetCode()
InitCodeTest.test_init()
IntTypeTest.testFail_uint128(uint128)
IntTypeTest.testFail_uint256(uint256)
IntTypeTest.testFail_uint64(uint64)
IntTypeTest.test_uint128_fail(uint128)
IntTypeTest.test_uint128(uint128)
IntTypeTest.test_uint256_fail(uint256)
IntTypeTest.test_uint256(uint256)
IntTypeTest.test_uint64_fail(uint64)
IntTypeTest.test_uint64(uint64)
LoopsTest.sum_N(uint256)
LoopsTest.testIsNotPrime(uint256)
LoopsTest.testIsPrimeBroken(uint256,uint256)
LoopsTest.testIsPrimeOpt(uint256)
LoopsTest.testIsPrime(uint256,uint256)
LoopsTest.testMaxBroken(uint256[])
LoopsTest.testMax(uint256[])
LoopsTest.testNthPrime(uint256,uint256)
LoopsTest.testSortBroken(uint256[])
LoopsTest.testSort(uint256[])
LoopsTest.testSqrt(uint256)
LoopsTest.test_sum_10()
LoopsTest.test_sum_100()
LoopsTest.test_sum_1000()
LoopsTest.testSumToNBroken(uint256)
LoopsTest.testSumToN(uint256)
MockCallTest.testMockCall()
MockCallTest.testMockCalls()
MockCallTest.testMockCallValue()
OwnerUpOnlyTest.testFailIncrementAsNotOwner()
OwnerUpOnlyTest.testIncrementAsNotOwner()
OwnerUpOnlyTest.testIncrementAsOwner()
PlainPrankTest.testFail_startPrank_existingAlready()
PlainPrankTest.testFail_startPrank_internalCall()
PlainPrankTest.test_prank_zeroAddress_true()
PlainPrankTest.test_startPrank_true()
PrankTest.testAddAsOwner(uint256)
PrankTest.testAddStartPrank(uint256)
PrankTest.testFailAddPrank(uint256)
PrankTest.testSubtractAsTxOrigin(uint256,uint256)
PrankTest.testSubtractFail(uint256)
PrankTest.testSubtractStartPrank(uint256,uint256)
RecordLogsTest.testRecordLogs()
SafeTest.testWithdraw()
SafeTest.testWithdrawFuzz(uint96)
Setup2Test.testFail_setup()
SetUpDeployTest.test_extcodesize()
SetUpTest.testSetUpCalled()
SetUpTest.testSetUpCalledSymbolic(uint256)
SignTest.testSign()
SignTest.testSign_symbolic(uint256)
SnapshotTest.testSnapshot()
StoreTest.testAccesses()
StoreTest.testGasLoadColdVM()
StoreTest.testGasLoadWarmUp()
StoreTest.testGasLoadWarmVM()
StoreTest.testGasStoreColdVM()
StoreTest.testGasStoreWarmUp()
StoreTest.testGasStoreWarmVM()
StoreTest.testStoreLoad()
StoreTest.testStoreLoadNonExistent()
SymbolicStorageTest.testEmptyInitialStorage(uint256)
SymbolicStorageTest.testFail_SymbolicStorage1(uint256)
SymbolicStorageTest.testFail_SymbolicStorage(uint256)
ToStringTest.testAddressToString()
ToStringTest.testBoolToString()
ToStringTest.testBytes32ToString()
ToStringTest.testBytesToString()
ToStringTest.testIntToString()
ToStringTest.testUint256ToString()
UintTypeTest.testFail_uint104(uint104)
UintTypeTest.testFail_uint112(uint112)
UintTypeTest.testFail_uint120(uint120)
UintTypeTest.testFail_uint128(uint128)
UintTypeTest.testFail_uint136(uint136)
UintTypeTest.testFail_uint144(uint144)
UintTypeTest.testFail_uint152(uint152)
UintTypeTest.testFail_uint160(uint160)
UintTypeTest.testFail_uint168(uint168)
UintTypeTest.testFail_uint16(uint16)
UintTypeTest.testFail_uint176(uint176)
UintTypeTest.testFail_uint184(uint184)
UintTypeTest.testFail_uint192(uint192)
UintTypeTest.testFail_uint200(uint200)
UintTypeTest.testFail_uint208(uint208)
UintTypeTest.testFail_uint216(uint216)
UintTypeTest.testFail_uint224(uint224)
UintTypeTest.testFail_uint232(uint232)
UintTypeTest.testFail_uint240(uint240)
UintTypeTest.testFail_uint248(uint248)
UintTypeTest.testFail_uint24(uint24)
UintTypeTest.testFail_uint256(uint256)
UintTypeTest.testFail_uint32(uint32)
UintTypeTest.testFail_uint40(uint40)
UintTypeTest.testFail_uint48(uint48)
UintTypeTest.testFail_uint56(uint56)
UintTypeTest.testFail_uint64(uint64)
UintTypeTest.testFail_uint72(uint72)
UintTypeTest.testFail_uint80(uint80)
UintTypeTest.testFail_uint88(uint88)
UintTypeTest.testFail_uint8(uint8)
UintTypeTest.testFail_uint96(uint96)
UintTypeTest.test_uint104_fail(uint104)
UintTypeTest.test_uint104(uint104)
UintTypeTest.test_uint112_fail(uint112)
UintTypeTest.test_uint112(uint112)
UintTypeTest.test_uint120_fail(uint120)
UintTypeTest.test_uint120(uint120)
UintTypeTest.test_uint128_fail(uint128)
UintTypeTest.test_uint128(uint128)
UintTypeTest.test_uint136_fail(uint136)
UintTypeTest.test_uint136(uint136)
UintTypeTest.test_uint144_fail(uint144)
UintTypeTest.test_uint144(uint144)
UintTypeTest.test_uint152_fail(uint152)
UintTypeTest.test_uint152(uint152)
UintTypeTest.test_uint160_fail(uint160)
UintTypeTest.test_uint160(uint160)
UintTypeTest.test_uint168_fail(uint168)
UintTypeTest.test_uint168(uint168)
UintTypeTest.test_uint16_fail(uint16)
UintTypeTest.test_uint16(uint16)
UintTypeTest.test_uint176_fail(uint176)
UintTypeTest.test_uint176(uint176)
UintTypeTest.test_uint184_fail(uint184)
UintTypeTest.test_uint184(uint184)
UintTypeTest.test_uint192_fail(uint192)
UintTypeTest.test_uint192(uint192)
UintTypeTest.test_uint200_fail(uint200)
UintTypeTest.test_uint200(uint200)
UintTypeTest.test_uint208_fail(uint208)
UintTypeTest.test_uint208(uint208)
UintTypeTest.test_uint216_fail(uint216)
UintTypeTest.test_uint216(uint216)
UintTypeTest.test_uint224_fail(uint224)
UintTypeTest.test_uint224(uint224)
UintTypeTest.test_uint232_fail(uint232)
UintTypeTest.test_uint232(uint232)
UintTypeTest.test_uint240_fail(uint240)
UintTypeTest.test_uint240(uint240)
UintTypeTest.test_uint248_fail(uint248)
UintTypeTest.test_uint248(uint248)
UintTypeTest.test_uint24_fail(uint24)
UintTypeTest.test_uint24(uint24)
UintTypeTest.test_uint256_fail(uint256)
UintTypeTest.test_uint32_fail(uint32)
UintTypeTest.test_uint32(uint32)
UintTypeTest.test_uint40_fail(uint40)
UintTypeTest.test_uint40(uint40)
UintTypeTest.test_uint48_fail(uint48)
UintTypeTest.test_uint48(uint48)
UintTypeTest.test_uint56_fail(uint56)
UintTypeTest.test_uint56(uint56)
UintTypeTest.test_uint64_fail(uint64)
UintTypeTest.test_uint64(uint64)
UintTypeTest.test_uint72_fail(uint72)
UintTypeTest.test_uint72(uint72)
UintTypeTest.test_uint80_fail(uint80)
UintTypeTest.test_uint80(uint80)
UintTypeTest.test_uint88_fail(uint88)
UintTypeTest.test_uint88(uint88)
UintTypeTest.test_uint8_fail(uint8)
UintTypeTest.test_uint8(uint8)
UintTypeTest.test_uint96_fail(uint96)
UintTypeTest.test_uint96(uint96)
7 changes: 6 additions & 1 deletion src/tests/integration/test_foundry_prove.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ def assert_or_update_k_output(k_file: Path, expected_file: Path, *, update: bool

ALL_PROVE_TESTS: Final = tuple((TEST_DATA_DIR / 'foundry-prove-all').read_text().splitlines())
SKIPPED_PROVE_TESTS: Final = set((TEST_DATA_DIR / 'foundry-prove-skip').read_text().splitlines())
SKIPPED_LEGACY_TESTS: Final = set((TEST_DATA_DIR / 'foundry-prove-skip-legacy').read_text().splitlines())

SHOW_TESTS = set((TEST_DATA_DIR / 'foundry-show').read_text().splitlines())

Expand All @@ -124,7 +125,11 @@ def test_foundry_prove(
bug_report: BugReport | None,
server: KoreServer,
) -> None:
if test_id in SKIPPED_PROVE_TESTS or (update_expected_output and not test_id in SHOW_TESTS):
if (
test_id in SKIPPED_PROVE_TESTS
or (not use_booster and test_id in SKIPPED_LEGACY_TESTS)
or (update_expected_output and not test_id in SHOW_TESTS)
):
pytest.skip()

# When
Expand Down

0 comments on commit 9fb5865

Please sign in to comment.