Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bytecode comparison run with extra input files #14495

Closed
cameel opened this issue Aug 16, 2023 · 1 comment
Closed

Bytecode comparison run with extra input files #14495

cameel opened this issue Aug 16, 2023 · 1 comment
Assignees
Labels
low effort There is not much implementation work to be done. The task is very easy or tiny. medium impact Default level of impact must have Something we consider an essential part of Solidity 1.0. testing 🔨

Comments

@cameel
Copy link
Member

cameel commented Aug 16, 2023

Issues where changing something inconsequential in compiler input affects the bytecode keep popping up. We should be able to detect them in testing. A very common trigger for this is adding or reordering input files, which affects AST IDs (#14494, #11907, #9573).

One idea to detect this is to have an extra bytecode comparison run, that adds an extra, unrelated file to the original compiler invocation and makes sure that it does not affect the bytecode of other contracts. It would be enough to do this just on Linux, since running it on all platforms is quite resource intensive.

The content of the extra file is to be determined by trial and error. It might be enough to include some pragmas in it. The primary benchmark is whether it would detect the recent issue from #14494.

@cameel cameel added testing 🔨 low effort There is not much implementation work to be done. The task is very easy or tiny. medium impact Default level of impact must have Something we consider an essential part of Solidity 1.0. labels Aug 16, 2023
@cameel cameel self-assigned this Sep 7, 2023
@cameel
Copy link
Member Author

cameel commented Sep 7, 2023

I'm closing this since it didn't work out in the end. It's pretty hard to make it fail by just including extra files. See #14494 (comment) for context.

@cameel cameel closed this as not planned Won't fix, can't repro, duplicate, stale Sep 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
low effort There is not much implementation work to be done. The task is very easy or tiny. medium impact Default level of impact must have Something we consider an essential part of Solidity 1.0. testing 🔨
Projects
Archived in project
Development

No branches or pull requests

1 participant