Skip to content

Commit

Permalink
Move around experimental tests
Browse files Browse the repository at this point in the history
  • Loading branch information
nikola-matic committed Sep 5, 2023
1 parent 8721283 commit 2cdf9c5
Show file tree
Hide file tree
Showing 17 changed files with 43 additions and 2 deletions.
1 change: 1 addition & 0 deletions libsolidity/experimental/analysis/TypeInference.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ class TypeInference: public ASTConstVisitor
bool visit(SourceUnit const&) override { return true; }
bool visit(ContractDefinition const&) override { return true; }
bool visit(InlineAssembly const& _inlineAssembly) override;
bool visit(ImportDirective const&) override { return true; }
bool visit(PragmaDirective const&) override { return false; }

bool visit(IfStatement const&) override { return true; }
Expand Down
7 changes: 7 additions & 0 deletions libsolidity/interface/CompilerStack.h
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,13 @@ class CompilerStack: public langutil::CharStreamProvider
/// @returns false on error.
bool compile(State _stopAfter = State::CompilationSuccessful);

/// Checks whether experimental analysis is on; used in SyntaxTests to skip compilation in case it's ``true``.
/// @returns true if experimental analysis is set
bool isExperimentalAnalysis() const
{
return !!m_experimentalAnalysis;
}

/// @returns the list of sources (paths) used
std::vector<std::string> sourceNames() const;

Expand Down
2 changes: 1 addition & 1 deletion test/libsolidity/SyntaxTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ void SyntaxTest::parseAndAnalyze()
{
setupCompiler();

if (compiler().parse() && compiler().analyze())
if (compiler().parse() && compiler().analyze() && !compiler().isExperimentalAnalysis())
try
{
if (!compiler().compile())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ import std.stub;
// ----
// Warning 2264: (std.stub:63-92): Experimental features are turned on. Do not use experimental features on live deployments.
// Warning 2264: (0-29): Experimental features are turned on. Do not use experimental features on live deployments.
// Info 4164: (std.stub:94-117): Inferred type: () -> ()
// Info 4164: (std.stub:111-113): Inferred type: ()
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ import std.stub as stub;
// ----
// Warning 2264: (std.stub:63-92): Experimental features are turned on. Do not use experimental features on live deployments.
// Warning 2264: (0-29): Experimental features are turned on. Do not use experimental features on live deployments.
// Info 4164: (std.stub:94-117): Inferred type: () -> ()
// Info 4164: (std.stub:111-113): Inferred type: ()
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ import { identity } from std.stub;
// ----
// Warning 2264: (std.stub:63-92): Experimental features are turned on. Do not use experimental features on live deployments.
// Warning 2264: (0-29): Experimental features are turned on. Do not use experimental features on live deployments.
// Info 4164: (std.stub:94-117): Inferred type: () -> ()
// Info 4164: (std.stub:111-113): Inferred type: ()
// Info 4164: (40-48): Inferred type: () -> ()
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ import * as stub from std.stub;
// ----
// Warning 2264: (std.stub:63-92): Experimental features are turned on. Do not use experimental features on live deployments.
// Warning 2264: (0-29): Experimental features are turned on. Do not use experimental features on live deployments.
// Info 4164: (std.stub:94-117): Inferred type: () -> ()
// Info 4164: (std.stub:111-113): Inferred type: ()
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
pragma experimental solidity;

import { identity as id } from std.stub;

contract C
{
fallback() external
{
id();
}
}

// ====
// EVMVersion: >=constantinople
// ----
// Warning 2264: (std.stub:63-92): Experimental features are turned on. Do not use experimental features on live deployments.
// Warning 2264: (0-29): Experimental features are turned on. Do not use experimental features on live deployments.
// Info 4164: (std.stub:94-117): Inferred type: () -> ()
// Info 4164: (std.stub:111-113): Inferred type: ()
// Info 4164: (40-48): Inferred type: () -> ()
// Info 4164: (90-135): Inferred type: () -> ()
// Info 4164: (98-100): Inferred type: ()
// Info 4164: (124-128): Inferred type: ()
// Info 4164: (124-126): Inferred type: () -> ()
2 changes: 1 addition & 1 deletion test/stopAfterParseTests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -70,5 +70,5 @@ while read -r file; do
echo "$file"
exit 1
fi
done < <(find "${REPO_ROOT}/test" -iname "*.sol" -and -not -name "documentation.sol" -and -not -name "boost_filesystem_bug.sol")
done < <(find "${REPO_ROOT}/test" -iname "*.sol" -and -not -name "documentation.sol" -and -not -name "boost_filesystem_bug.sol" -not -path "*/experimental/*")
echo

0 comments on commit 2cdf9c5

Please sign in to comment.