Bugfix for ricardian contracts being generated
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"____comment": "This file was generated with eosio-abigen. DO NOT EDIT ",
|
||||
"version": "eosio::abi/1.2",
|
||||
"types": [],
|
||||
"structs": [
|
||||
{
|
||||
"name": "test",
|
||||
"base": "",
|
||||
"fields": []
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"name": "test",
|
||||
"type": "test",
|
||||
"ricardian_contract": "---\nspec-version: 0.0.2\ntitle: test\nsummary: This method does nothing on purpose.\nicon:\n---\n\nThis test checks ricardian contract was generated succesfully."
|
||||
}
|
||||
],
|
||||
"tables": [],
|
||||
"kv_tables": {},
|
||||
"ricardian_clauses": [
|
||||
{
|
||||
"id": "Disclaimer",
|
||||
"body": "This test checks ricardian contract was generated succesfully."
|
||||
}
|
||||
],
|
||||
"variants": [],
|
||||
"action_results": []
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
<h1 class="clause">Disclaimer</h1>
|
||||
|
||||
This test checks ricardian contract was generated succesfully.
|
||||
@@ -0,0 +1,9 @@
|
||||
<h1 class="contract">test</h1>
|
||||
---
|
||||
spec-version: 0.0.2
|
||||
title: test
|
||||
summary: This method does nothing on purpose.
|
||||
icon:
|
||||
---
|
||||
|
||||
This test checks ricardian contract was generated succesfully.
|
||||
@@ -0,0 +1,12 @@
|
||||
#include <eosio/eosio.hpp>
|
||||
|
||||
using namespace eosio;
|
||||
|
||||
class [[eosio::contract]] ricardian_contract_test : public contract {
|
||||
public:
|
||||
using contract::contract;
|
||||
|
||||
[[eosio::action]]
|
||||
void test() {
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"tests" : [
|
||||
{
|
||||
"compile_flags" : ["-R={cwd}"],
|
||||
"expected" : {
|
||||
"abi-file" : "ricardian_contract_test.abi"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -768,8 +768,8 @@ namespace eosio { namespace cdt {
|
||||
|
||||
virtual bool VisitCXXMethodDecl(clang::CXXMethodDecl* decl) {
|
||||
if (!has_added_clauses) {
|
||||
ag.add_clauses(parse_clauses());
|
||||
ag.add_contracts(parse_contracts());
|
||||
ag.add_clauses(ag.parse_clauses());
|
||||
ag.add_contracts(ag.parse_contracts());
|
||||
has_added_clauses = true;
|
||||
}
|
||||
|
||||
@@ -784,8 +784,8 @@ namespace eosio { namespace cdt {
|
||||
}
|
||||
virtual bool VisitCXXRecordDecl(clang::CXXRecordDecl* decl) {
|
||||
if (!has_added_clauses) {
|
||||
ag.add_clauses(parse_clauses());
|
||||
ag.add_contracts(parse_contracts());
|
||||
ag.add_clauses(ag.parse_clauses());
|
||||
ag.add_contracts(ag.parse_contracts());
|
||||
has_added_clauses = true;
|
||||
}
|
||||
if ((decl->isEosioAction() || decl->isEosioTable()) && ag.is_eosio_contract(decl, ag.get_contract_name())) {
|
||||
|
||||
@@ -44,6 +44,7 @@ class Test(ABC):
|
||||
def run(self):
|
||||
cf = self.test_json.get("compile_flags")
|
||||
args = cf if cf else []
|
||||
args = [arg.replace("{cwd}", self.test_suite.directory) for arg in args]
|
||||
|
||||
cdt_cpp = os.path.join(self.test_suite.cdt_path, "cdt-cpp")
|
||||
self._run(cdt_cpp, args)
|
||||
@@ -202,5 +203,5 @@ class AbigenFailTest(Test):
|
||||
command.extend(args)
|
||||
res = subprocess.run(command, capture_output=True)
|
||||
self.handle_test_result(res, expected_pass=False)
|
||||
|
||||
|
||||
return res
|
||||
|
||||
Reference in New Issue
Block a user