Skip to content

Instantly share code, notes, and snippets.

@serjflint
Created October 9, 2022 11:39
Show Gist options
  • Save serjflint/e0e27ff07c5a64e3c39eecf84f075528 to your computer and use it in GitHub Desktop.
Save serjflint/e0e27ff07c5a64e3c39eecf84f075528 to your computer and use it in GitHub Desktop.
Useful commands for testing 04.3.HW1/vm/
simple
constant
globals
for_loop
inplace_operators
inplace_division
slice_a_b
slice_b
slice_a
slice
slice_c
slice_a_b_c
slice_assignment_a_b
slice_assignment_b
slice_assignment_a
slice_assignment
slice_deletion_a_b
slice_deletion_b
slice_deletion_a
slice_deletion
slice_deletion_c
slice_deletion_a_b_c
building_tuple
building_list
building_dict
building_set
subscripting_extraction
subscripting_assigment
subscripting_deletion
generator_expression_in_join
generator_expression_complex
list_comprehension
dict_comprehension
set_comprehension
strange_sequence_ops
unary_operators
attributes
attribute_inplace_ops
deleting_names
deleting_local_names
import
classes
calling_methods_wrong
calling_subclass_methods
subclass_attribute
subclass_attributes_not_shared
object_attrs_not_shared_with_class
data_descriptors_precede_instance_attributes
instance_attrs_precede_non_data_descriptors
subclass_attributes_dynamic
attribute_access
attribute_access_AttributeError
staticmethods
unbound_methods
bound_methods
callback
unpacking
exec_statement
jump_if_true_or_pop
jump_if_false_or_pop
pop_jump_if_true
decorator
multiple_classes
for
break
continue
continue_in_try_except
continue_in_try_finally
in
is
less
greater
functions
recursion
nested_names
calling_functions_with_args_kwargs
defining_functions_with_args
defining_functions_with_kwargs
defining_functions_with_args_kwargs
defining_functions_with_positional_args_kwargs
defining_functions_with_keyword_only
defining_functions_with_positional_only_ordinary_and_keyword_only
defining_functions_with_empty_args
defining_functions_with_empty_kwargs
defining_functions_with_empty_args_kwargs
partial
partial_with_kwargs
wraps
closures
closures_store_deref
closures_in_loop
closures_with_defaults
deep_closures
first
partial_generator
yield_multiple_values
simple_generator
generator_from_generator
generator_from_generator2
yield_from
yield_from_tuple
generator
distinguish_iterators_and_generators
nested_yield_from
return_from_generator
return_from_generator_with_yield_from
test1
test2
test3
test4
test5
test6
test7
test8
test10
test11
test12
test13
test14
test15
test16
test17
test18
test19
test20
test21
test22
test23
test24
test25
test26
test27
test28
test29
test30
test31
test32
test34
test35
test36
test37
test38
test39
test40
test41
test42
test43
test44
test45
test46
test47
test48
test49
test50
test51
test52
test53
test54
test55
test56
test57
test58
test59
test60
test61
test62
test63
test64
test65
test66
test67
test68
test69
test70
test71
test72
test73
test74
test75
test76
test77
test78
test79
test80
test81
test82
test83
test84
test85
test86
test87
test88
test89
test90
test91
test92
test93
test94
test95
test96
test97
test98
test99
test100
test101
test102
test103
simple_context_manager
raise_in_context_manager
suppressed_raise_in_context_manager
return_in_with
continue_in_with
break_in_with
raise_in_with
at_context_manager_simplified
at_context_manager_complete
generator_with_context_manager
load_const
store_name
make_function
call_function
load_name
pop_jump_if_false
pop_jump_if_true
binary_and
inplace_and
binary_or
inplace_or
binary_xor
inplace_xor
binary_lshift
inplace_lshift
binary_rshift
inplace_rshift
binary_add
inplace_add
binary_subtract
inplace_subtract
binary_multiply
inplace_multiply
binary_power
inplace_power
binary_floor_divide
inplace_floor_divide
binary_true_divide
inplace_true_divide
binary_module
inplace_module
unary_positive
unary_negative
unary_not
unary_invert
binary_subscr
store_subscr
delete_subscr
binary_matrix_multiply
inplace_matrix_multiply
build_const_key_map
build_list
build_list_unpack
build_map
build_map_unpack
build_map_unpack_with_call
build_set
build_set_unpack
build_slice
build_string
build_tuple
build_tuple_unpack
build_tuple_unpack_with_call
import_from
import_name
import_star
compare_op_l
load_attr
store_attr
delete_attr
load_fast
store_fast
delete_fast
get_awaitable
get_awaitable_2
get_awaitable_3
setup_annotations
load_global
store_global
delete_global
load_deref
delete_deref
classderef
catching_IndexError
catching_by_parent
catching_all
raise_exception
raise_exception_class
raise_and_catch_exception
raise_exception_from
raise_and_catch_exception_in_function
global_name_error
global_name_error_in_try
local_name_error
catch_local_name_error
reraise
reraise_explicit_exception
finally_while_throwing
coverage_issue_92
unpacking
nested_loops
comprehensions
simple_function
big_function
ackerman
small_closure
big_closure
assignment_expression_if
assignment_expression_while
self_explained_fstring
set_union
dict_union
new_typings_setup_annotations
new_typings_features
removeprefix_removesuffix
parenthesized_context_managers
structural_pattern_matching_simple
structural_pattern_matching_enum
new_type_hints
int_bits
# Initialize $CASE variable with a line not starting with `+` or `-`
get-case
# run `pytest` for the current value of $CASE and call `next-case` on success
test-vm $CASE
# add `+` before the name of the current test and store the next line in $CASE
next-case $CASE
# same as `next-case` but adds `-` instead of `+`
skip-case $CASE
function test-vm
pytest test_public.py::test_all_cases[$argv[1]] -vvv --disable-warnings; and next-case $argv[1]
end
function next-case
sed "0,/^$argv[1]\$/s//+$argv[1]/" -i cases.txt
set -g -x CASE (grep cases.txt -e "^+$argv[1]\$" -A 1 | tail -n 1)
echo $CASE
end
function skip-case
sed "0,/^$argv[1]\$/s//-$argv[1]/" -i cases.txt
set -g -x CASE (grep cases.txt -e "^-$argv[1]\$" -A 1 | tail -n 1)
echo $CASE
end
function get-case
set -g -x CASE (grep cases.txt -e "^[^+-]" | head -n 1)
echo $CASE
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment