diff options
author | Alex Beregszaszi <alex@rtfs.hu> | 2017-07-18 23:02:44 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-18 23:02:44 +0800 |
commit | 0eab808ececc9d7b835a5c174731c9eded04bf43 (patch) | |
tree | 08f2dd5a1cd0160451d019afdf8791612b9072ac | |
parent | 37553dca9ae02b33d31c09323a84cc47f94b0176 (diff) | |
parent | 6e4150a5cf919f6e1cbdc8167baaba48915954ae (diff) | |
download | dexon-solidity-0eab808ececc9d7b835a5c174731c9eded04bf43.tar dexon-solidity-0eab808ececc9d7b835a5c174731c9eded04bf43.tar.gz dexon-solidity-0eab808ececc9d7b835a5c174731c9eded04bf43.tar.bz2 dexon-solidity-0eab808ececc9d7b835a5c174731c9eded04bf43.tar.lz dexon-solidity-0eab808ececc9d7b835a5c174731c9eded04bf43.tar.xz dexon-solidity-0eab808ececc9d7b835a5c174731c9eded04bf43.tar.zst dexon-solidity-0eab808ececc9d7b835a5c174731c9eded04bf43.zip |
Merge pull request #2583 from ethereum/soljson-license
Export license in jsonCompiler and add tests
-rw-r--r-- | Changelog.md | 1 | ||||
-rw-r--r-- | solc/CMakeLists.txt | 2 | ||||
-rw-r--r-- | test/libsolidity/JSONCompiler.cpp | 15 |
3 files changed, 17 insertions, 1 deletions
diff --git a/Changelog.md b/Changelog.md index e64a8fea..f43897a2 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,6 +1,7 @@ ### 0.4.14 (unreleased) Features: + * C API (``jsonCompiler``): Export the ``license`` method. * Inline Assembly: Show useful error message if trying to access calldata variables. * Inline Assembly: Support variable declaration without initial value (defaults to 0). * Type Checker: Disallow value transfers to contracts without a payable fallback function. diff --git a/solc/CMakeLists.txt b/solc/CMakeLists.txt index a5515d81..18e83e75 100644 --- a/solc/CMakeLists.txt +++ b/solc/CMakeLists.txt @@ -18,7 +18,7 @@ else() endif() if (EMSCRIPTEN) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s EXPORTED_FUNCTIONS='[\"_compileJSON\",\"_version\",\"_compileJSONMulti\",\"_compileJSONCallback\",\"_compileStandard\"]' -s RESERVED_FUNCTION_POINTERS=20") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s EXPORTED_FUNCTIONS='[\"_compileJSON\",\"_license\",\"_version\",\"_compileJSONMulti\",\"_compileJSONCallback\",\"_compileStandard\"]' -s RESERVED_FUNCTION_POINTERS=20") add_executable(soljson jsonCompiler.cpp ${HEADERS}) eth_use(soljson REQUIRED Solidity::solidity) else() diff --git a/test/libsolidity/JSONCompiler.cpp b/test/libsolidity/JSONCompiler.cpp index aa690f0b..a6a7bc5b 100644 --- a/test/libsolidity/JSONCompiler.cpp +++ b/test/libsolidity/JSONCompiler.cpp @@ -24,6 +24,7 @@ #include <regex> #include <boost/test/unit_test.hpp> #include <libdevcore/JSON.h> +#include <libsolidity/interface/Version.h> #include "../Metadata.h" #include "../TestHelper.h" @@ -32,6 +33,8 @@ using namespace std; extern "C" { +extern char const* version(); +extern char const* license(); extern char const* compileJSONMulti(char const* _input, bool _optimize); } @@ -57,6 +60,18 @@ Json::Value compile(string const& _input) BOOST_AUTO_TEST_SUITE(JSONCompiler) +BOOST_AUTO_TEST_CASE(read_version) +{ + string output(version()); + BOOST_CHECK(output.find(VersionString) == 0); +} + +BOOST_AUTO_TEST_CASE(read_license) +{ + string output(license()); + BOOST_CHECK(output.find("GNU GENERAL PUBLIC LICENSE") != string::npos); +} + BOOST_AUTO_TEST_CASE(basic_compilation) { char const* input = R"( |