Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Iss632 after rebase on future #721

Merged
merged 7 commits into from
Jun 12, 2024
Merged

Iss632 after rebase on future #721

merged 7 commits into from
Jun 12, 2024

Conversation

YUUU23
Copy link
Contributor

@YUUU23 YUUU23 commented Jun 11, 2024

I might've accidentally messed something up while trying to rebase my old branch to the future branch instead of working off the main branch (😅) ! I apologize for this inconvenience, but here this backup branch should have all the previous debugging improvement changes before Konstantinos's comments and also the changes made from Konstantinos's suggestions.

Copy link

OS =
CPU =
Ram =
Hash = ad2b687
Kernel=
||
|-|-|-|-|-|-|-|-|-|

Copy link

OS:ubuntu-20.04
Tue Jun 11 02:26:11 UTC 2024
intro: 2/2 tests passed.
interface: 41/41 tests passed.
compiler: 54/54 tests passed.

f"InputOutputInformation for {format_arg_chars(command)} not provided so considered side-effectful."
)
if io_info.has_other_outputs():
raise Exception(
raise UnparallelizableError(
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Konstantinos (from old branch): Maybe also print what is the other output?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I may need some help with determining what the other outputs to pass it along in the exception. I see that in io_info.has_other_outputs(), it is going through a for-loop checking if each entry is a "other output" has_other_outputs() function (line 182); I'm not sure if there's already a function in the class that returns these "other outputs", but if not, would it be reasonable to change this function or add another function like this to return a list of those outputs in the class?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure if there is such a function, but if not, you could certainly make a new one that returns a list of those outputs!

compiler/ir.py Show resolved Hide resolved
compiler/ir.py Show resolved Hide resolved
compiler/ir.py Show resolved Hide resolved
@YUUU23 YUUU23 requested a review from angelhof June 11, 2024 02:40
Copy link

OS:ubuntu-20.04
Tue Jun 11 03:10:33 UTC 2024
intro: 2/2 tests passed.
interface: 41/41 tests passed.
compiler: 54/54 tests passed.

Copy link

OS =
CPU =
Ram =
Hash = c7ce083
Kernel=
||
|-|-|-|-|-|-|-|-|-|

Copy link
Member

@angelhof angelhof left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks good other than the changes to expand.py. These changes need to happen as a new PR to that repo instead (https://github.com/binpash/sh-expand).

compiler/pash_compiler.py Outdated Show resolved Hide resolved
@@ -0,0 +1,518 @@
import copy
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a different package (https://github.com/binpash/sh-expand)! and the changes in this file need to happen in a PR there.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you recommend for this:

  1. keeping the ExpansionError in the custom_error and importing it here, or
  2. moving the ExpansionError here and importing it to pash_compiler to catch it?

I'm not sure why, but it also seems like I don't have permission to push my branch onto this package repo.

Thanks!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you recommend for this:

1. keeping the ExpansionError in the custom_error and importing it here, or

2. moving the ExpansionError here and importing it to pash_compiler to catch it?

I would probably define ExpansionError in sh-expand, and then import it in pash to catch it. It makes sense to hide all expansion related behavior and details in that package.

I'm not sure why, but it also seems like I don't have permission to push my branch onto this package repo.

That should be fixed now, could you try again? :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As you suggested, I imported ExpansionError into pash_compiler and defined ExpansionError in sh_expand in the original package (with a new PR)!

I think currently the tests on github actions are not passing due to ExpansionError not being found in the package yet. I've ran the tests locally with the most recent changes, and it seems to work as before so hopefully after the change in the package the issue of the ExpansionError not found in the import will not be a problem.

Thank you!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I merged that PR (after bumping the project version because that needs to happen for the package to be properly deployed to PyPI).

Now the tests seem to be passing, so the only thing you need to do is sign off your commits (follow the instructions here) https://github.com/binpash/pash/pull/721/checks?check_run_id=26107013047 and then we can properly approve and merge!

Great work :)

Copy link

OS =
CPU =
Ram =
Hash = aa29b00
Kernel=
||
|-|-|-|-|-|-|-|-|-|

Copy link

OS:ubuntu-20.04
Tue Jun 11 13:58:05 UTC 2024
intro: 2/2 tests passed.
interface: 41/41 tests passed.
compiler: 54/54 tests passed.

Copy link

OS =
CPU =
Ram =
Hash = bcb251a
Kernel=
||
|-|-|-|-|-|-|-|-|-|

Copy link

OS =
CPU =
Ram =
Hash = dbdcecf
Kernel=
||
|-|-|-|-|-|-|-|-|-|

@YUUU23 YUUU23 requested a review from angelhof June 12, 2024 00:20
Copy link

OS:ubuntu-20.04
Wed Jun 12 00:29:51 UTC 2024
intro: 0/2 tests passed.
interface: 6/41 tests passed.
compiler: 0/54 tests passed.
demo-spell.sh are not identical
hello-world.sh are not identical
test1 are not identical
test2 are not identical
test3 are not identical
test4 are not identical
test5 are not identical
test6 are not identical
test8 are not identical
test9 are not identical
test10 are not identical
test12 are not identical
test13 are not identical
test14 are not identical
test15 are not identical
test16 are not identical
test17 are not identical
test18 are not identical
test_set are not identical
test_set_e are not identical
test_redirect are not identical
test_unparsing are not identical
test_set_e_2 are not identical
test_set_e_3 are not identical
test_new_line_in_var are not identical
test_cmd_sbst are not identical
test_cmd_sbst2 are not identical
test_cat_hyphen are not identical
test_trap are not identical
test_umask are not identical
test_quoting are not identical
test_var_assgn_default are not identical
test_exclam are not identical
test_redir_var_test are not identical
test_star are not identical
test_env_vars are not identical
test_redir_dup are not identical
diff.sh are not identical
diff.sh are not identical
set-diff.sh are not identical
set-diff.sh are not identical
export_var_script.sh are not identical
export_var_script.sh are not identical
comm-par-test.sh are not identical
comm-par-test.sh are not identical
comm-par-test2.sh are not identical
comm-par-test2.sh are not identical
tee_web_index_bug.sh are not identical
tee_web_index_bug.sh are not identical
fun-def.sh are not identical
fun-def.sh are not identical
bigrams.sh are not identical
bigrams.sh are not identical
spell-grep.sh are not identical
spell-grep.sh are not identical
grep.sh are not identical
grep.sh are not identical
minimal_sort.sh are not identical
minimal_sort.sh are not identical
minimal_grep.sh are not identical
minimal_grep.sh are not identical
topn.sh are not identical
topn.sh are not identical
wf.sh are not identical
wf.sh are not identical
spell.sh are not identical
spell.sh are not identical
shortest_scripts.sh are not identical
shortest_scripts.sh are not identical
alt_bigrams.sh are not identical
alt_bigrams.sh are not identical
deadlock_test.sh are not identical
deadlock_test.sh are not identical
double_sort.sh are not identical
double_sort.sh are not identical
no_in_script.sh are not identical
no_in_script.sh are not identical
for_loop_simple.sh are not identical
for_loop_simple.sh are not identical
minimal_grep_stdin.sh are not identical
minimal_grep_stdin.sh are not identical
micro_10.sh are not identical
micro_10.sh are not identical
sed-test.sh are not identical
sed-test.sh are not identical
tr-test.sh are not identical
tr-test.sh are not identical
grep-test.sh are not identical
grep-test.sh are not identical
ann-agg.sh are not identical
ann-agg.sh are not identical

Copy link

OS:ubuntu-20.04
Wed Jun 12 00:34:51 UTC 2024
intro: 0/2 tests passed.
interface: 6/41 tests passed.
compiler: 0/54 tests passed.
demo-spell.sh are not identical
hello-world.sh are not identical
test1 are not identical
test2 are not identical
test3 are not identical
test4 are not identical
test5 are not identical
test6 are not identical
test8 are not identical
test9 are not identical
test10 are not identical
test12 are not identical
test13 are not identical
test14 are not identical
test15 are not identical
test16 are not identical
test17 are not identical
test18 are not identical
test_set are not identical
test_set_e are not identical
test_redirect are not identical
test_unparsing are not identical
test_set_e_2 are not identical
test_set_e_3 are not identical
test_new_line_in_var are not identical
test_cmd_sbst are not identical
test_cmd_sbst2 are not identical
test_cat_hyphen are not identical
test_trap are not identical
test_umask are not identical
test_quoting are not identical
test_var_assgn_default are not identical
test_exclam are not identical
test_redir_var_test are not identical
test_star are not identical
test_env_vars are not identical
test_redir_dup are not identical
diff.sh are not identical
diff.sh are not identical
set-diff.sh are not identical
set-diff.sh are not identical
export_var_script.sh are not identical
export_var_script.sh are not identical
comm-par-test.sh are not identical
comm-par-test.sh are not identical
comm-par-test2.sh are not identical
comm-par-test2.sh are not identical
tee_web_index_bug.sh are not identical
tee_web_index_bug.sh are not identical
fun-def.sh are not identical
fun-def.sh are not identical
bigrams.sh are not identical
bigrams.sh are not identical
spell-grep.sh are not identical
spell-grep.sh are not identical
grep.sh are not identical
grep.sh are not identical
minimal_sort.sh are not identical
minimal_sort.sh are not identical
minimal_grep.sh are not identical
minimal_grep.sh are not identical
topn.sh are not identical
topn.sh are not identical
wf.sh are not identical
wf.sh are not identical
spell.sh are not identical
spell.sh are not identical
shortest_scripts.sh are not identical
shortest_scripts.sh are not identical
alt_bigrams.sh are not identical
alt_bigrams.sh are not identical
deadlock_test.sh are not identical
deadlock_test.sh are not identical
double_sort.sh are not identical
double_sort.sh are not identical
no_in_script.sh are not identical
no_in_script.sh are not identical
for_loop_simple.sh are not identical
for_loop_simple.sh are not identical
minimal_grep_stdin.sh are not identical
minimal_grep_stdin.sh are not identical
micro_10.sh are not identical
micro_10.sh are not identical
sed-test.sh are not identical
sed-test.sh are not identical
tr-test.sh are not identical
tr-test.sh are not identical
grep-test.sh are not identical
grep-test.sh are not identical
ann-agg.sh are not identical
ann-agg.sh are not identical

Copy link

OS =
CPU =
Ram =
Hash = 5b2f3db
Kernel=
||
|-|-|-|-|-|-|-|-|-|

Copy link

OS:ubuntu-20.04
Wed Jun 12 02:25:15 UTC 2024
intro: 0/2 tests passed.
interface: 6/41 tests passed.
compiler: 0/54 tests passed.
demo-spell.sh are not identical
hello-world.sh are not identical
test1 are not identical
test2 are not identical
test3 are not identical
test4 are not identical
test5 are not identical
test6 are not identical
test8 are not identical
test9 are not identical
test10 are not identical
test12 are not identical
test13 are not identical
test14 are not identical
test15 are not identical
test16 are not identical
test17 are not identical
test18 are not identical
test_set are not identical
test_set_e are not identical
test_redirect are not identical
test_unparsing are not identical
test_set_e_2 are not identical
test_set_e_3 are not identical
test_new_line_in_var are not identical
test_cmd_sbst are not identical
test_cmd_sbst2 are not identical
test_cat_hyphen are not identical
test_trap are not identical
test_umask are not identical
test_quoting are not identical
test_var_assgn_default are not identical
test_exclam are not identical
test_redir_var_test are not identical
test_star are not identical
test_env_vars are not identical
test_redir_dup are not identical
diff.sh are not identical
diff.sh are not identical
set-diff.sh are not identical
set-diff.sh are not identical
export_var_script.sh are not identical
export_var_script.sh are not identical
comm-par-test.sh are not identical
comm-par-test.sh are not identical
comm-par-test2.sh are not identical
comm-par-test2.sh are not identical
tee_web_index_bug.sh are not identical
tee_web_index_bug.sh are not identical
fun-def.sh are not identical
fun-def.sh are not identical
bigrams.sh are not identical
bigrams.sh are not identical
spell-grep.sh are not identical
spell-grep.sh are not identical
grep.sh are not identical
grep.sh are not identical
minimal_sort.sh are not identical
minimal_sort.sh are not identical
minimal_grep.sh are not identical
minimal_grep.sh are not identical
topn.sh are not identical
topn.sh are not identical
wf.sh are not identical
wf.sh are not identical
spell.sh are not identical
spell.sh are not identical
shortest_scripts.sh are not identical
shortest_scripts.sh are not identical
alt_bigrams.sh are not identical
alt_bigrams.sh are not identical
deadlock_test.sh are not identical
deadlock_test.sh are not identical
double_sort.sh are not identical
double_sort.sh are not identical
no_in_script.sh are not identical
no_in_script.sh are not identical
for_loop_simple.sh are not identical
for_loop_simple.sh are not identical
minimal_grep_stdin.sh are not identical
minimal_grep_stdin.sh are not identical
micro_10.sh are not identical
micro_10.sh are not identical
sed-test.sh are not identical
sed-test.sh are not identical
tr-test.sh are not identical
tr-test.sh are not identical
grep-test.sh are not identical
grep-test.sh are not identical
ann-agg.sh are not identical
ann-agg.sh are not identical

Copy link

OS:ubuntu-20.04
Wed Jun 12 08:49:12 UTC 2024
intro: 2/2 tests passed.
interface: 41/41 tests passed.
compiler: 54/54 tests passed.

Copy link
Member

@angelhof angelhof left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once you fix the commit signing and the DCO passes, we can squash and merge :)

…lizableError and AdjLineNoteImplemented Error) caught before general errors, introduce custom error to ast_to_ir and ir in compiler at appropriate places with more detail error messages

Signed-off-by: YUUU23 <megan_zheng@brown.edu>
…r in pash_compiler

Signed-off-by: YUUU23 <megan_zheng@brown.edu>
…expand.py file) under one ExpansionError class in custom_error to catch and log these errors separately

Signed-off-by: YUUU23 <megan_zheng@brown.edu>
Signed-off-by: YUUU23 <megan_zheng@brown.edu>
…n expand package

Signed-off-by: YUUU23 <megan_zheng@brown.edu>
…l package

Signed-off-by: YUUU23 <megan_zheng@brown.edu>
Signed-off-by: YUUU23 <megan_zheng@brown.edu>
Copy link

OS =
CPU =
Ram =
Hash = 828bec3
Kernel=
||
|-|-|-|-|-|-|-|-|-|

Copy link

OS:ubuntu-20.04
Wed Jun 12 13:53:07 UTC 2024
intro: 2/2 tests passed.
interface: 41/41 tests passed.
compiler: 54/54 tests passed.

@YUUU23
Copy link
Contributor Author

YUUU23 commented Jun 12, 2024

Once you fix the commit signing and the DCO passes, we can squash and merge :)

I fixed the commit signing! Ready for the final steps for merging! Thank you so much!!

@YUUU23 YUUU23 requested a review from angelhof June 12, 2024 13:55
@angelhof angelhof merged commit c11365c into future Jun 12, 2024
8 checks passed
@angelhof angelhof deleted the iss632_backup branch June 12, 2024 13:57
@angelhof
Copy link
Member

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants