initial run

master^2
ldXiao 4 years ago
parent 3ee473b2f4
commit c6a3c2534c

@ -1,32 +1,187 @@
## Grading
# CORE TESTS
Reading pa3-tests/core/stmt_while.py.ast.typed
+ Test: pa3-tests/core/stmt_while.py.ast.typed passed
Reading pa3-tests/core/op_div_mod.py.ast.typed
+ Test: pa3-tests/core/op_div_mod.py.ast.typed passed
Reading pa3-tests/core/object_attr_get_none.py.ast.typed
+ Test: pa3-tests/core/object_attr_get_none.py.ast.typed passed
Reading pa3-tests/core/call.py.ast.typed
+ Test: pa3-tests/core/call.py.ast.typed passed
Reading pa3-tests/core/id_local.py.ast.typed
+ Test: pa3-tests/core/id_local.py.ast.typed passed
Reading pa3-tests/core/list_get_element.py.ast.typed
+ Test: pa3-tests/core/list_get_element.py.ast.typed passed
Reading pa3-tests/core/list_set_element_none.py.ast.typed
+ Test: pa3-tests/core/list_set_element_none.py.ast.typed passed
Reading pa3-tests/core/object_method_none.py.ast.typed
+ Test: pa3-tests/core/object_method_none.py.ast.typed passed
Reading pa3-tests/core/nested.py.ast.typed
+ Test: pa3-tests/core/nested.py.ast.typed passed
Reading pa3-tests/core/str_cat.py.ast.typed
+ Test: pa3-tests/core/str_cat.py.ast.typed passed
Reading pa3-tests/core/literal_bool.py.ast.typed
+ Test: pa3-tests/core/literal_bool.py.ast.typed passed
Reading pa3-tests/core/list_set_element_oob_1.py.ast.typed
+ Test: pa3-tests/core/list_set_element_oob_1.py.ast.typed passed
Reading pa3-tests/core/stmt_for_list.py.ast.typed
+ Test: pa3-tests/core/stmt_for_list.py.ast.typed passed
Reading pa3-tests/core/object_attr_set_none.py.ast.typed
+ Test: pa3-tests/core/object_attr_set_none.py.ast.typed passed
Reading pa3-tests/core/error_invalid_print.py.ast.typed
+ Test: pa3-tests/core/error_invalid_print.py.ast.typed passed
Reading pa3-tests/core/id_global.py.ast.typed
+ Test: pa3-tests/core/id_global.py.ast.typed passed
Reading pa3-tests/core/pass.py.ast.typed
+ Test: pa3-tests/core/pass.py.ast.typed passed
Reading pa3-tests/core/len_invalid_1.py.ast.typed
+ Test: pa3-tests/core/len_invalid_1.py.ast.typed passed
Reading pa3-tests/core/stmt_for_str_eval.py.ast.typed
+ Test: pa3-tests/core/stmt_for_str_eval.py.ast.typed passed
Reading pa3-tests/core/literal_str.py.ast.typed
+ Test: pa3-tests/core/literal_str.py.ast.typed passed
Reading pa3-tests/core/op_cmp_int.py.ast.typed
+ Test: pa3-tests/core/op_cmp_int.py.ast.typed passed
Reading pa3-tests/core/str_cat_2.py.ast.typed
+ Test: pa3-tests/core/str_cat_2.py.ast.typed passed
Reading pa3-tests/core/op_sub.py.ast.typed
+ Test: pa3-tests/core/op_sub.py.ast.typed passed
Reading pa3-tests/core/object_method_nested.py.ast.typed
+ Test: pa3-tests/core/object_method_nested.py.ast.typed passed
Reading pa3-tests/core/list_len_empty.py.ast.typed
+ Test: pa3-tests/core/list_len_empty.py.ast.typed passed
Reading pa3-tests/core/str_get_element_oob_1.py.ast.typed
+ Test: pa3-tests/core/str_get_element_oob_1.py.ast.typed passed
Reading pa3-tests/core/op_negate.py.ast.typed
+ Test: pa3-tests/core/op_negate.py.ast.typed passed
Reading pa3-tests/core/list_get_element_oob_1.py.ast.typed
+ Test: pa3-tests/core/list_get_element_oob_1.py.ast.typed passed
Reading pa3-tests/core/var_assign.py.ast.typed
+ Test: pa3-tests/core/var_assign.py.ast.typed passed
Reading pa3-tests/core/literal_int.py.ast.typed
+ Test: pa3-tests/core/literal_int.py.ast.typed passed
Reading pa3-tests/core/object_attr_get.py.ast.typed
+ Test: pa3-tests/core/object_attr_get.py.ast.typed passed
Reading pa3-tests/core/stmt_for_list_nested.py.ast.typed
+ Test: pa3-tests/core/stmt_for_list_nested.py.ast.typed passed
Reading pa3-tests/core/list_get_element_complex.py.ast.typed
+ Test: pa3-tests/core/list_get_element_complex.py.ast.typed passed
Reading pa3-tests/core/stmt_return_early.py.ast.typed
+ Test: pa3-tests/core/stmt_return_early.py.ast.typed passed
Reading pa3-tests/core/stmt_for_list_nested_same_var.py.ast.typed
+ Test: pa3-tests/core/stmt_for_list_nested_same_var.py.ast.typed passed
Reading pa3-tests/core/op_logical.py.ast.typed
+ Test: pa3-tests/core/op_logical.py.ast.typed passed
Reading pa3-tests/core/expr_if.py.ast.typed
+ Test: pa3-tests/core/expr_if.py.ast.typed passed
Reading pa3-tests/core/error_mod_zero.py.ast.typed
+ Test: pa3-tests/core/error_mod_zero.py.ast.typed passed
Reading pa3-tests/core/stmt_for_str_same_var.py.ast.typed
+ Test: pa3-tests/core/stmt_for_str_same_var.py.ast.typed passed
Reading pa3-tests/core/str_cmp.py.ast.typed
+ Test: pa3-tests/core/str_cmp.py.ast.typed passed
Reading pa3-tests/core/op_mul.py.ast.typed
+ Test: pa3-tests/core/op_mul.py.ast.typed passed
Reading pa3-tests/core/list_concat_2.py.ast.typed
+ Test: pa3-tests/core/list_concat_2.py.ast.typed passed
Reading pa3-tests/core/list_get_element_oob_2.py.ast.typed
+ Test: pa3-tests/core/list_get_element_oob_2.py.ast.typed passed
Reading pa3-tests/core/list_len.py.ast.typed
+ Test: pa3-tests/core/list_len.py.ast.typed passed
Reading pa3-tests/core/input.py.ast.typed
+ Test: pa3-tests/core/input.py.ast.typed passed
Reading pa3-tests/core/stmt_for_str.py.ast.typed
+ Test: pa3-tests/core/stmt_for_str.py.ast.typed passed
Reading pa3-tests/core/str_get_element_oob_2.py.ast.typed
+ Test: pa3-tests/core/str_get_element_oob_2.py.ast.typed passed
Reading pa3-tests/core/object_method.py.ast.typed
+ Test: pa3-tests/core/object_method.py.ast.typed passed
Reading pa3-tests/core/call_with_args.py.ast.typed
+ Test: pa3-tests/core/call_with_args.py.ast.typed passed
Reading pa3-tests/core/nested2.py.ast.typed
+ Test: pa3-tests/core/nested2.py.ast.typed passed
Reading pa3-tests/core/str_get_element_oob_3.py.ast.typed
+ Test: pa3-tests/core/str_get_element_oob_3.py.ast.typed passed
Reading pa3-tests/core/op_add.py.ast.typed
+ Test: pa3-tests/core/op_add.py.ast.typed passed
Reading pa3-tests/core/op_cmp_bool.py.ast.typed
+ Test: pa3-tests/core/op_cmp_bool.py.ast.typed passed
Reading pa3-tests/core/stmt_for_list_return.py.ast.typed
+ Test: pa3-tests/core/stmt_for_list_return.py.ast.typed passed
Reading pa3-tests/core/stmt_for_str_empty.py.ast.typed
+ Test: pa3-tests/core/stmt_for_str_empty.py.ast.typed passed
Reading pa3-tests/core/object_attr_set.py.ast.typed
+ Test: pa3-tests/core/object_attr_set.py.ast.typed passed
Reading pa3-tests/core/list_concat_none.py.ast.typed
+ Test: pa3-tests/core/list_concat_none.py.ast.typed passed
Reading pa3-tests/core/predef_constructors.py.ast.typed
+ Test: pa3-tests/core/predef_constructors.py.ast.typed passed
Reading pa3-tests/core/list_get_element_oob_3.py.ast.typed
+ Test: pa3-tests/core/list_get_element_oob_3.py.ast.typed passed
Reading pa3-tests/core/stmt_if.py.ast.typed
+ Test: pa3-tests/core/stmt_if.py.ast.typed passed
Reading pa3-tests/core/list_set_element.py.ast.typed
+ Test: pa3-tests/core/list_set_element.py.ast.typed passed
Reading pa3-tests/core/stmt_for_list_modify.py.ast.typed
+ Test: pa3-tests/core/stmt_for_list_modify.py.ast.typed passed
Reading pa3-tests/core/stmt_for_list_nonlocal.py.ast.typed
+ Test: pa3-tests/core/stmt_for_list_nonlocal.py.ast.typed passed
Reading pa3-tests/core/object_attr_set_eval_order.py.ast.typed
+ Test: pa3-tests/core/object_attr_set_eval_order.py.ast.typed passed
Reading pa3-tests/core/error_div_zero.py.ast.typed
+ Test: pa3-tests/core/error_div_zero.py.ast.typed passed
Reading pa3-tests/core/op_is.py.ast.typed
+ Test: pa3-tests/core/op_is.py.ast.typed passed
Reading pa3-tests/core/list_set_element_oob_3.py.ast.typed
+ Test: pa3-tests/core/list_set_element_oob_3.py.ast.typed passed
Reading pa3-tests/core/object_init.py.ast.typed
+ Test: pa3-tests/core/object_init.py.ast.typed passed
Reading pa3-tests/core/list_concat.py.ast.typed
+ Test: pa3-tests/core/list_concat.py.ast.typed passed
Reading pa3-tests/core/stmt_for_list_eval.py.ast.typed
+ Test: pa3-tests/core/stmt_for_list_eval.py.ast.typed passed
Reading pa3-tests/core/len_invalid_2.py.ast.typed
+ Test: pa3-tests/core/len_invalid_2.py.ast.typed passed
Reading pa3-tests/core/object_method_override.py.ast.typed
+ Test: pa3-tests/core/object_method_override.py.ast.typed passed
Reading pa3-tests/core/stmt_for_list_none.py.ast.typed
+ Test: pa3-tests/core/stmt_for_list_none.py.ast.typed passed
Reading pa3-tests/core/stmt_for_list_empty.py.ast.typed
+ Test: pa3-tests/core/stmt_for_list_empty.py.ast.typed passed
Reading pa3-tests/core/str_get_element.py.ast.typed
+ Test: pa3-tests/core/str_get_element.py.ast.typed passed
Reading pa3-tests/core/stmt_for_str_nested.py.ast.typed
+ Test: pa3-tests/core/stmt_for_str_nested.py.ast.typed passed
Reading pa3-tests/core/object_method_complex_call.py.ast.typed
+ Test: pa3-tests/core/object_method_complex_call.py.ast.typed passed
Reading pa3-tests/core/list_set_element_oob_2.py.ast.typed
+ Test: pa3-tests/core/list_set_element_oob_2.py.ast.typed passed
Reading pa3-tests/core/str_len.py.ast.typed
+ Test: pa3-tests/core/str_len.py.ast.typed passed
Reading pa3-tests/core/list_get_element_none.py.ast.typed
+ Test: pa3-tests/core/list_get_element_none.py.ast.typed passed
Tests: 80 passed, 0 failed, and 0 ignored.
Core Tests: 59/59
# BENCHMARK CORRECTNESS TESTS
Reading pa3-tests/benchmarks/prime.py.ast.typed
+ Test: pa3-tests/benchmarks/prime.py.ast.typed passed
Reading pa3-tests/benchmarks/sieve.py.ast.typed
+ Test: pa3-tests/benchmarks/sieve.py.ast.typed passed
Reading pa3-tests/benchmarks/exp.py.ast.typed
+ Test: pa3-tests/benchmarks/exp.py.ast.typed passed
Reading pa3-tests/benchmarks/tree.py.ast.typed
+ Test: pa3-tests/benchmarks/tree.py.ast.typed passed
Reading pa3-tests/benchmarks/stdlib.py.ast.typed
+ Test: pa3-tests/benchmarks/stdlib.py.ast.typed passed
Tests: 5 passed, 0 failed, and 0 ignored.
Extra: 21/21
=========================
Standard tests: 80/80
Work Log: 10/10
Additional Tests: 10/10
Code style: 10/10
Improvements: +1
Overall: 111/110
Congratulations! Your analyzer has solved every test case correctly again. Your improvement is solid and easy to verify. The two-passes design is clear and direct.
## Testing
The additional test cases provided in the `student_contributed` directory are carefully selected and well structured. I am surprised that you managed to reproduce those error messages from reference-implementation. Some of them are weird and probably not worth reproducing, but thanks for reducing the workload on my end.
## Miscellaneous
The Code structure is clear and consistent but could still be improved by removing commented codes (at least in the final version).
The automatic test shell scripts are very helpful. It would be even better if you could organize them with CI tools like travis.ci or gitflow. It is totally optional but it would be fun to construct a CI pipeline.
The worklog contains some typos that could be avoided by adding a spellchecker to the IDE or CI.
# BENCHMARK PERFORMANCE TESTS
Reading pa3-tests/benchmarks/prime.py.ast.typed
Cycles executed = 65741
Reading pa3-tests/benchmarks/sieve.py.ast.typed
Cycles executed = 65720
Reading pa3-tests/benchmarks/exp.py.ast.typed
Cycles executed = 29039
Reading pa3-tests/benchmarks/tree.py.ast.typed
Cycles executed = 239089
Reading pa3-tests/benchmarks/stdlib.py.ast.typed
Cycles executed = 34689

Loading…
Cancel
Save