nus-cs2113-AY1920S2 / forum

4 stars 0 forks source link

Need help troubleshooting ##[error]Process completed with exit code 1. #74

Closed JosephLimWeiJie closed 4 years ago

JosephLimWeiJie commented 4 years ago

Hi everyone, I am having some issues passing the Java CI / build for my PR. Specifically, the check that fails is the 'Perform IO redirection test (*NIX)' part. You can view it here: [https://github.com/AY1920S2-CS2113-T14-4/tp/pull/28/checks?check_run_id=505277833].

I have tried to run my IO tests locally and it is working fine. See here: image

However, on Java CI, it is showing this error. See here: image

How should I approach to rectify this issue? The link to the source code is here: https://github.com/AY1920S2-CS2113-T14-4/tp/tree/branch-Joseph

Thank you.

damithc commented 4 years ago

In your .github/workflows/gradle.yml, try to reorder the three I/O tests so that Windows tests run first. That way, if Windows test pass but the other ones fail, it is likely to be a OS-specific problem.

In any case, check if you are using Windows-specific things in your code e.g., \n

JosephLimWeiJie commented 4 years ago

Hi Prof Damith,

I have tried to reorder the I/O tests. Is it supposed to look like this? image

Also, I've tried to replace "\n" and it hasn't been working. May I know if there are other OS-specific characters that I should look out for?

Thank you.

damithc commented 4 years ago

I have tried to reorder the I/O tests. Is it supposed to look like this?

I think so.

Also, I've tried to replace "\n" and it hasn't been working. May I know if there are other OS-specific characters that I should look out for?

Any of your team members using OS-X or Linux? If yes, ask them to checkout your branch and try running the tests to figure out exactly what's different between the actual and expected.

Also, create a temporary PR to our repo https://github.com/nus-cs2113-AY1920S2/tp from your branch (for easier debugging for us). We'll close it later.

damithc commented 4 years ago

I created a PR from your branch in my own fork and it passed CI https://github.com/damithc/tp-draft/pull/2/checks

BTW, you guys can use the latest gradle.yml file from our repo (we updated a bit since you forked your team repo from ours)

JosephLimWeiJie commented 4 years ago

It seems that after I updated to the lastest gradle.yml, the CI test still fails.

You can see it here: https://github.com/AY1920S2-CS2113-T14-4/tp/pulls

damithc commented 4 years ago

Update the gradle.yml in the team repo, as that's the file that controls the CI for PRs received.

damithc commented 4 years ago

Any of your team members using OS-X or Linux? If yes, ask them to checkout your branch and try running the tests to figure out exactly what's different between the actual and expected.

Did you try this?

damithc commented 4 years ago

Another thing you can try is to reduce the commands in input.txt so that you can narrow down which command is producing OS specific outputs.

SibingWu commented 4 years ago

@damithc dear professor, I also created a PR to the https://github.com/nus-cs2113-AY1920S2/tp repo, could u please take a look? we tried many times, but the problem of IO redirection test still not resolved... I modifed the INPUT.txt, but the corresponding EXPECTED.txt generated on my local computer still cannot pass the test. I wonder if it can run properly on your end?

damithc commented 4 years ago

@damithc dear professor, I also created a PR to the https://github.com/nus-cs2113-AY1920S2/tp repo, could u please take a look? we tried many times, but the problem of IO redirection test still not resolved... I modifed the INPUT.txt, but the corresponding EXPECTED.txt generated on my local computer still cannot pass the test. I wonder if it can run properly on your end?

I assume you are using Windows?

I don't have Unix or OS-X myself. Can you get one of your team members on a different OS to checkout your branch and run the test?

If you are on Windows, here's another thing you can try: Open a bash terminal from SourceTree. navigate to the text-ui-test folder. Run dos2unix EXPECTED.txt command to convert the file to unix format. Push that file to your branch to see if that can pass the test. image

JosephLimWeiJie commented 4 years ago

Hi Prof, I managed to solve this issue by applying your solution in which to convert the EXPECTED.txt to a unix format. I figured that my IDE has set the default file format as dos that caused this issue to happen. I had since, configured the necessary settings and rectified this issue.

Thank you for your help, prof.

damithc commented 4 years ago

Hi Prof, I managed to solve this issue by applying your solution in which to convert the EXPECTED.txt to a unix format. I figured that my IDE has set the default file format as dos that caused this issue to happen. I had since, configured the necessary settings and rectified this issue.

Nice!