jaseci 1.4.2.6__py3-none-any.whl → 2.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of jaseci might be problematic. Click here for more details.
- jaseci/__init__.py +3 -37
- jaseci-2.0.0.dist-info/METADATA +65 -0
- jaseci-2.0.0.dist-info/RECORD +4 -0
- {jaseci-1.4.2.6.dist-info → jaseci-2.0.0.dist-info}/WHEEL +1 -2
- jaseci/VERSION +0 -1
- jaseci/cli_tools/__init__.py +0 -0
- jaseci/cli_tools/book_tools.py +0 -457
- jaseci/cli_tools/jsctl.py +0 -500
- jaseci/cli_tools/tests/__init__.py +0 -0
- jaseci/cli_tools/tests/test_jsctl.py +0 -556
- jaseci/extens/__init__.py +0 -0
- jaseci/extens/act_lib/__init__.py +0 -0
- jaseci/extens/act_lib/date.py +0 -118
- jaseci/extens/act_lib/elastic.py +0 -87
- jaseci/extens/act_lib/file.py +0 -77
- jaseci/extens/act_lib/file_handler.py +0 -190
- jaseci/extens/act_lib/internal.py +0 -19
- jaseci/extens/act_lib/jaseci.py +0 -62
- jaseci/extens/act_lib/mail.py +0 -10
- jaseci/extens/act_lib/maths.py +0 -168
- jaseci/extens/act_lib/net.py +0 -192
- jaseci/extens/act_lib/rand.py +0 -83
- jaseci/extens/act_lib/regex.py +0 -85
- jaseci/extens/act_lib/request.py +0 -170
- jaseci/extens/act_lib/std.py +0 -236
- jaseci/extens/act_lib/storage.py +0 -53
- jaseci/extens/act_lib/stripe.py +0 -338
- jaseci/extens/act_lib/task.py +0 -14
- jaseci/extens/act_lib/tests/__init__.py +0 -0
- jaseci/extens/act_lib/tests/std_test_code.py +0 -37
- jaseci/extens/act_lib/tests/test_date.py +0 -26
- jaseci/extens/act_lib/tests/test_elastic.py +0 -159
- jaseci/extens/act_lib/tests/test_file.py +0 -116
- jaseci/extens/act_lib/tests/test_file_lib.py +0 -40
- jaseci/extens/act_lib/tests/test_mail_lib.py +0 -33
- jaseci/extens/act_lib/tests/test_maths.py +0 -147
- jaseci/extens/act_lib/tests/test_net_lib.py +0 -62
- jaseci/extens/act_lib/tests/test_regex.py +0 -61
- jaseci/extens/act_lib/tests/test_std.py +0 -51
- jaseci/extens/act_lib/tests/test_std_lib.py +0 -36
- jaseci/extens/act_lib/tests/test_url.py +0 -32
- jaseci/extens/act_lib/tests/test_vector.py +0 -36
- jaseci/extens/act_lib/tests/test_webtool.py +0 -44
- jaseci/extens/act_lib/tests/test_zlib.py +0 -24
- jaseci/extens/act_lib/url.py +0 -80
- jaseci/extens/act_lib/vector.py +0 -158
- jaseci/extens/act_lib/webtool.py +0 -29
- jaseci/extens/act_lib/zip.py +0 -34
- jaseci/extens/api/__init__.py +0 -0
- jaseci/extens/api/actions_api.py +0 -171
- jaseci/extens/api/alias_api.py +0 -140
- jaseci/extens/api/architype_api.py +0 -197
- jaseci/extens/api/config_api.py +0 -129
- jaseci/extens/api/global_api.py +0 -85
- jaseci/extens/api/graph_api.py +0 -168
- jaseci/extens/api/health_api.py +0 -21
- jaseci/extens/api/interface.py +0 -269
- jaseci/extens/api/jac_api.py +0 -172
- jaseci/extens/api/jsorc_api.py +0 -317
- jaseci/extens/api/logger_api.py +0 -90
- jaseci/extens/api/master_api.py +0 -134
- jaseci/extens/api/object_api.py +0 -102
- jaseci/extens/api/prometheus_api.py +0 -75
- jaseci/extens/api/queue_api.py +0 -141
- jaseci/extens/api/sentinel_api.py +0 -271
- jaseci/extens/api/share_api.py +0 -64
- jaseci/extens/api/super_api.py +0 -65
- jaseci/extens/api/tests/__init__.py +0 -0
- jaseci/extens/api/tests/test_architype_api.py +0 -66
- jaseci/extens/api/tests/test_global_api.py +0 -179
- jaseci/extens/api/tests/test_graph_api.py +0 -64
- jaseci/extens/api/tests/test_logger_api.py +0 -43
- jaseci/extens/api/tests/test_object_api.py +0 -20
- jaseci/extens/api/tests/test_sentinel_api.py +0 -66
- jaseci/extens/api/tests/test_uncommon.py +0 -107
- jaseci/extens/api/tests/test_user_api.py +0 -32
- jaseci/extens/api/tests/test_walker_api.py +0 -316
- jaseci/extens/api/user_api.py +0 -166
- jaseci/extens/api/walker_api.py +0 -299
- jaseci/extens/api/webhook_api.py +0 -77
- jaseci/extens/svc/__init__.py +0 -0
- jaseci/extens/svc/elastic_svc.py +0 -366
- jaseci/extens/svc/kube_svc.py +0 -432
- jaseci/extens/svc/mail_svc.py +0 -156
- jaseci/extens/svc/prome_svc.py +0 -378
- jaseci/extens/svc/redis_svc.py +0 -63
- jaseci/extens/svc/storage_svc.py +0 -193
- jaseci/extens/svc/stripe_svc.py +0 -51
- jaseci/extens/svc/task_svc.py +0 -155
- jaseci/extens/svc/tasks.py +0 -302
- jaseci/jac/__init__.py +0 -0
- jaseci/jac/interpreter/__init__.py +0 -0
- jaseci/jac/interpreter/architype_interp.py +0 -219
- jaseci/jac/interpreter/interp.py +0 -1784
- jaseci/jac/interpreter/sentinel_interp.py +0 -260
- jaseci/jac/interpreter/tests/__init__.py +0 -0
- jaseci/jac/interpreter/tests/test_interp.py +0 -42
- jaseci/jac/interpreter/walker_interp.py +0 -249
- jaseci/jac/ir/__init__.py +0 -0
- jaseci/jac/ir/ast.py +0 -73
- jaseci/jac/ir/ast_builder.py +0 -249
- jaseci/jac/ir/jac_code.py +0 -151
- jaseci/jac/ir/passes/__init__.py +0 -6
- jaseci/jac/ir/passes/ast_prune_pass.py +0 -9
- jaseci/jac/ir/passes/codegen_pass.py +0 -244
- jaseci/jac/ir/passes/ir_pass.py +0 -29
- jaseci/jac/ir/passes/printer_pass.py +0 -23
- jaseci/jac/ir/passes/pt_prune_pass.py +0 -29
- jaseci/jac/ir/passes/schedule.py +0 -23
- jaseci/jac/ir/passes/stats_pass.py +0 -16
- jaseci/jac/jac.g4 +0 -450
- jaseci/jac/jac_parse/__init__.py +0 -0
- jaseci/jac/jac_parse/jacLexer.py +0 -809
- jaseci/jac/jac_parse/jacListener.py +0 -853
- jaseci/jac/jac_parse/jacParser.py +0 -9192
- jaseci/jac/jac_set.py +0 -120
- jaseci/jac/jsci_vm/__init__.py +0 -0
- jaseci/jac/jsci_vm/disasm.py +0 -94
- jaseci/jac/jsci_vm/inst_ptr.py +0 -31
- jaseci/jac/jsci_vm/machine.py +0 -188
- jaseci/jac/jsci_vm/op_codes.py +0 -82
- jaseci/jac/jsci_vm/tests/__init__.py +0 -0
- jaseci/jac/jsci_vm/tests/test_codegen.py +0 -31
- jaseci/jac/machine/__init__.py +0 -0
- jaseci/jac/machine/jac_scope.py +0 -86
- jaseci/jac/machine/jac_value.py +0 -227
- jaseci/jac/machine/machine_state.py +0 -386
- jaseci/jac/tests/__init__.py +0 -0
- jaseci/jac/tests/book_code.py +0 -624
- jaseci/jac/tests/test_book.py +0 -380
- jaseci/jac/tests/test_lang_14.py +0 -49
- jaseci/jsorc/__init__.py +0 -7
- jaseci/jsorc/jsorc.py +0 -642
- jaseci/jsorc/jsorc_settings.py +0 -211
- jaseci/jsorc/jsorc_utils.py +0 -298
- jaseci/jsorc/live_actions.py +0 -365
- jaseci/jsorc/manifests/__init__.py +0 -0
- jaseci/jsorc/manifests/database.yaml +0 -109
- jaseci/jsorc/manifests/elastic.yaml +0 -6029
- jaseci/jsorc/manifests/prometheus.yaml +0 -1383
- jaseci/jsorc/manifests/redis.yaml +0 -64
- jaseci/jsorc/memory.py +0 -258
- jaseci/jsorc/redis.py +0 -140
- jaseci/jsorc/remote_actions.py +0 -158
- jaseci/jsorc/tests/__init__.py +0 -0
- jaseci/jsorc/tests/test_actions.py +0 -542
- jaseci/jsorc/tests/test_jsorc.py +0 -112
- jaseci/prim/__init__.py +0 -0
- jaseci/prim/ability.py +0 -94
- jaseci/prim/architype.py +0 -90
- jaseci/prim/edge.py +0 -173
- jaseci/prim/element.py +0 -233
- jaseci/prim/graph.py +0 -27
- jaseci/prim/master.py +0 -67
- jaseci/prim/node.py +0 -533
- jaseci/prim/obj_mixins.py +0 -238
- jaseci/prim/sentinel.py +0 -282
- jaseci/prim/super_master.py +0 -31
- jaseci/prim/walker.py +0 -261
- jaseci/svc/__init__.py +0 -0
- jaseci/tests/__init__.py +0 -0
- jaseci/tests/infer.py +0 -39
- jaseci/tests/jac_test_code.py +0 -1293
- jaseci/tests/jac_test_progs.py +0 -774
- jaseci/tests/test_core.py +0 -153
- jaseci/tests/test_jac.py +0 -824
- jaseci/tests/test_node.py +0 -89
- jaseci/tests/test_progs.py +0 -702
- jaseci/tests/test_stack.py +0 -220
- jaseci/tests/test_stripe.py +0 -225
- jaseci/utils/__init__.py +0 -0
- jaseci/utils/actions/__init__.py +0 -0
- jaseci/utils/actions/actions_manager.py +0 -254
- jaseci/utils/actions/actions_optimizer.py +0 -517
- jaseci/utils/actions/actions_state.py +0 -95
- jaseci/utils/file_handler.py +0 -171
- jaseci/utils/gprof2dot.py +0 -3786
- jaseci/utils/id_list.py +0 -169
- jaseci/utils/json_handler.py +0 -70
- jaseci/utils/log_utils.py +0 -57
- jaseci/utils/test_core.py +0 -62
- jaseci/utils/utils.py +0 -387
- jaseci-1.4.2.6.dist-info/LICENSE +0 -21
- jaseci-1.4.2.6.dist-info/METADATA +0 -39
- jaseci-1.4.2.6.dist-info/RECORD +0 -185
- jaseci-1.4.2.6.dist-info/entry_points.txt +0 -3
- jaseci-1.4.2.6.dist-info/top_level.txt +0 -1
jaseci/tests/test_core.py
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import uuid
|
|
2
|
-
from unittest import TestCase
|
|
3
|
-
|
|
4
|
-
import jaseci.tests.jac_test_code as jtc
|
|
5
|
-
from jaseci.prim.sentinel import Sentinel
|
|
6
|
-
from jaseci.prim.element import Element
|
|
7
|
-
from jaseci.prim.graph import Graph
|
|
8
|
-
from jaseci.prim.node import Node
|
|
9
|
-
from jaseci.jsorc.jsorc import JsOrc
|
|
10
|
-
from jaseci.utils.utils import TestCaseHelper, get_all_subclasses
|
|
11
|
-
from jaseci.prim.architype import Architype
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class ArchitypeTests(TestCaseHelper, TestCase):
|
|
15
|
-
def setUp(self):
|
|
16
|
-
super().setUp()
|
|
17
|
-
|
|
18
|
-
def tearDown(self):
|
|
19
|
-
super().tearDown()
|
|
20
|
-
|
|
21
|
-
def test_object_creation_basic_no_side_creation(self):
|
|
22
|
-
""" """
|
|
23
|
-
mast = JsOrc.master()
|
|
24
|
-
num_objs = len(mast._h.mem.keys())
|
|
25
|
-
node1 = Node(m_id=mast._m_id, h=mast._h)
|
|
26
|
-
node2 = Node(m_id=mast._m_id, h=mast._h, parent=node1)
|
|
27
|
-
num_new = len(mast._h.mem.keys())
|
|
28
|
-
self.assertEqual(num_new, num_objs + 2)
|
|
29
|
-
|
|
30
|
-
new_graph = Graph(m_id=mast._m_id, h=mast._h)
|
|
31
|
-
mast.graph_ids.add_obj(new_graph)
|
|
32
|
-
num_new = len(mast._h.mem.keys())
|
|
33
|
-
self.assertEqual(num_new, num_objs + 3)
|
|
34
|
-
|
|
35
|
-
new_graph.attach_outbound(node1)
|
|
36
|
-
new_graph.attach_outbound(node2)
|
|
37
|
-
num_new = len(mast._h.mem.keys())
|
|
38
|
-
self.assertEqual(num_new, num_objs + 5)
|
|
39
|
-
|
|
40
|
-
def test_edge_removal_updates_nodes_edgelist(self):
|
|
41
|
-
""" """
|
|
42
|
-
mast = JsOrc.master()
|
|
43
|
-
node1 = Node(m_id=mast._m_id, h=mast._h)
|
|
44
|
-
node2 = Node(m_id=mast._m_id, h=mast._h)
|
|
45
|
-
edge = node1.attach_outbound(node2)
|
|
46
|
-
self.assertEqual(len(node1.smart_edge_list), 1)
|
|
47
|
-
self.assertEqual(len(node2.smart_edge_list), 1)
|
|
48
|
-
self.assertEqual(len(edge), 1)
|
|
49
|
-
edge[0].destroy()
|
|
50
|
-
self.assertEqual(len(node1.smart_edge_list), 0)
|
|
51
|
-
self.assertEqual(len(node2.smart_edge_list), 0)
|
|
52
|
-
|
|
53
|
-
def test_object_creation_by_sentinel_no_leaks(self):
|
|
54
|
-
"""
|
|
55
|
-
Test that the destroy of sentinels clears owned objects
|
|
56
|
-
"""
|
|
57
|
-
mast = JsOrc.master()
|
|
58
|
-
num_objs = len(mast._h.mem.keys())
|
|
59
|
-
self.assertEqual(num_objs, 2)
|
|
60
|
-
new_graph = Graph(m_id=mast._m_id, h=mast._h)
|
|
61
|
-
sent = Sentinel(m_id=mast._m_id, h=mast._h)
|
|
62
|
-
code = jtc.prog1
|
|
63
|
-
mast.sentinel_ids.add_obj(sent)
|
|
64
|
-
mast.graph_ids.add_obj(new_graph)
|
|
65
|
-
num_new = len(mast._h.mem.keys())
|
|
66
|
-
self.assertEqual(num_new, num_objs + 2)
|
|
67
|
-
|
|
68
|
-
sent.register_code(code)
|
|
69
|
-
num_objs = len(mast._h.mem.keys())
|
|
70
|
-
sent.register_code(code)
|
|
71
|
-
new_num = len(mast._h.mem.keys())
|
|
72
|
-
self.assertEqual(num_objs, new_num)
|
|
73
|
-
|
|
74
|
-
def test_json_blob_of_objects(self):
|
|
75
|
-
"""
|
|
76
|
-
Test saving object to json and back to python dict
|
|
77
|
-
"""
|
|
78
|
-
for i in get_all_subclasses(Element):
|
|
79
|
-
kwargs = {"m_id": 0, "h": JsOrc.hook()}
|
|
80
|
-
orig = i(**kwargs)
|
|
81
|
-
blob1 = orig.json(detailed=True)
|
|
82
|
-
new = i(**kwargs)
|
|
83
|
-
self.assertNotEqual(orig.id, new.id)
|
|
84
|
-
new.json_load(blob1)
|
|
85
|
-
self.assertEqual(orig.id, new.id)
|
|
86
|
-
self.assertTrue(orig.is_equivalent(new))
|
|
87
|
-
|
|
88
|
-
def test_supermaster_can_touch_all_data(self):
|
|
89
|
-
mh = JsOrc.hook()
|
|
90
|
-
mast = JsOrc.master(h=mh)
|
|
91
|
-
mast2 = JsOrc.master(h=mh)
|
|
92
|
-
node12 = Node(m_id=mast2._m_id, h=mast2._h)
|
|
93
|
-
supmast = JsOrc.super_master(h=mh)
|
|
94
|
-
bad = mh.get_obj(mast._m_id, node12.jid)
|
|
95
|
-
good = mh.get_obj(supmast._m_id, node12.jid)
|
|
96
|
-
self.assertEqual(good, node12)
|
|
97
|
-
self.assertNotEqual(bad, node12)
|
|
98
|
-
self.assertIsNone(bad)
|
|
99
|
-
|
|
100
|
-
def test_id_list_smart_name_error(self):
|
|
101
|
-
mast = JsOrc.master()
|
|
102
|
-
sent = Sentinel(m_id=mast._m_id, h=mast._h)
|
|
103
|
-
self.assertIn("arch_ids", sent.arch_ids.obj_for_id_not_exist_error(0))
|
|
104
|
-
|
|
105
|
-
def test_dont_store_invalid_feilds_in_blob(self):
|
|
106
|
-
mast = JsOrc.master()
|
|
107
|
-
sent = Sentinel(m_id=mast._m_id, h=mast._h)
|
|
108
|
-
sent.fake_data = 5
|
|
109
|
-
stored = sent.jsci_payload()
|
|
110
|
-
sent2 = Sentinel(m_id=mast._m_id, h=mast._h)
|
|
111
|
-
sent2.json_load(stored)
|
|
112
|
-
self.assertNotIn("fake_data", vars(sent2).keys())
|
|
113
|
-
|
|
114
|
-
def test_sentinel_default_archs_dont_grow(self):
|
|
115
|
-
mast = JsOrc.master()
|
|
116
|
-
sent = Sentinel(m_id=mast._m_id, h=mast._h)
|
|
117
|
-
sent.register_code(text="node simple; walker init {}")
|
|
118
|
-
before = sent._h.get_object_distribution()[Architype]
|
|
119
|
-
stored = sent.jsci_payload()
|
|
120
|
-
sent2 = Sentinel(m_id=mast._m_id, h=mast._h)
|
|
121
|
-
sent2.json_load(stored)
|
|
122
|
-
sent2 = Sentinel(m_id=mast._m_id, h=mast._h)
|
|
123
|
-
sent2.json_load(stored)
|
|
124
|
-
after = sent2._h.get_object_distribution()[Architype]
|
|
125
|
-
self.assertEqual(before, after)
|
|
126
|
-
|
|
127
|
-
def test_sentinel_default_archs_dont_grow_multi_compile(self):
|
|
128
|
-
mast = JsOrc.master()
|
|
129
|
-
sent = Sentinel(m_id=mast._m_id, h=mast._h)
|
|
130
|
-
sent.register_code(text="node simple; walker init {}")
|
|
131
|
-
before = sent._h.get_object_distribution()[Architype]
|
|
132
|
-
stored = sent.jsci_payload()
|
|
133
|
-
sent2 = Sentinel(m_id=mast._m_id, h=mast._h)
|
|
134
|
-
sent2.json_load(stored)
|
|
135
|
-
sent2.register_code(text="node simple; walker init {}")
|
|
136
|
-
before_id = sent2.arch_ids[0]
|
|
137
|
-
sent2.register_code(text="node simple; walker init {}")
|
|
138
|
-
sent2.register_code(text="node simple; walker init {}")
|
|
139
|
-
after_id = sent2.arch_ids[0]
|
|
140
|
-
after = sent2._h.get_object_distribution()[Architype]
|
|
141
|
-
self.assertEqual(before, after)
|
|
142
|
-
self.assertNotEqual(before_id, after_id)
|
|
143
|
-
|
|
144
|
-
def test_id_list_heals(self):
|
|
145
|
-
mast = JsOrc.master()
|
|
146
|
-
sent = Sentinel(m_id=mast._m_id, h=mast._h)
|
|
147
|
-
sent.register_code(text="node simple; walker init {}")
|
|
148
|
-
before = len(sent.arch_ids)
|
|
149
|
-
sent._h.get_obj(mast._m_id, sent.arch_ids[1]).destroy()
|
|
150
|
-
sent._h.get_obj(mast._m_id, sent.arch_ids[3]).destroy()
|
|
151
|
-
sent.arch_ids.obj_list()
|
|
152
|
-
after = len(sent.arch_ids)
|
|
153
|
-
self.assertEqual(after, before - 2)
|