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

travis.yml: upgrade to Ubuntu 20.04 and enable cli tests #256

Merged
merged 3 commits into from
Nov 8, 2020
Merged

travis.yml: upgrade to Ubuntu 20.04 and enable cli tests #256

merged 3 commits into from
Nov 8, 2020

Conversation

ebiggers
Copy link
Collaborator

Now that Travis CI supports a version of Ubuntu that has a kernel that
supports v2 encryption policies, upgrade to it and enable the cli tests.

@Maryse47
Copy link

did you considered migrating to github actions instead?

@josephlr
Copy link
Member

@ebiggers can you update the expected CLI output to match what we're actually get. It looks like there is a disparity w.r.t the password being echoed.

We should proably also just ditch the 32-bit build. I doubt there's much value there, and we will probably have to continuously fight with the CI to prevent things from breaking.

did you considered migrating to github actions instead?

Yes, this is the long-term plan, once we get things working w/ 20.04 in our current setup.

@ebiggers
Copy link
Collaborator Author

@ebiggers can you update the expected CLI output to match what we're actually get. It looks like there is a disparity w.r.t the password being echoed.

The problem is that the password is echoed when Travis CI runs the tests, but it isn't echoed when running the tests locally. It presumably has something to do with whether stdin is a terminal or not. Before we can merge this I need to find a way to make the output consistent.

We should proably also just ditch the 32-bit build. I doubt there's much value there, and we will probably have to continuously fight with the CI to prevent things from breaking.

People still expect to build 32-bit binaries for ARM (#221), or for i386 (#233) which is still a supported Debian release architecture.

Apparently, on some distros 'su' doesn't preserve $PATH.  So, manually
export it in the command.  Also, ensure that the shell stays as bash.

This is needed for some of the CLI tests to pass in Travis CI.
Set the terminal to raw mode *before* printing the prompt.
Otherwise the user (or the automated test) might enter the
passphrase before the terminal gets put into raw mode.

This is needed for some of the CLI tests to pass reliably in Travis CI.
Now that Travis CI supports a version of Ubuntu that has a kernel that
supports v2 encryption policies, upgrade to it and enable the cli tests.
@ebiggers
Copy link
Collaborator Author

ebiggers commented Nov 8, 2020

The problem is that the password is echoed when Travis CI runs the tests, but it isn't echoed when running the tests locally. It presumably has something to do with whether stdin is a terminal or not. Before we can merge this I need to find a way to make the output consistent.

Finally figured this out, I think. getPassphraseKey() needs to put the terminal into raw mode before printing the prompt; otherwise there's a race condition.

@ebiggers ebiggers merged commit f32b6a6 into google:master Nov 8, 2020
@ebiggers ebiggers deleted the run-cli-tests branch November 8, 2020 04:47
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.

3 participants