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

add Watchman-enabled functional tests to GitHub Actions CI #436

Merged
merged 5 commits into from
Oct 2, 2020

Commits on Sep 27, 2020

  1. GitHelpers: fix reversed LinesShouldMatch() input

    In commit cbf6f82 in PR microsoft#349 the
    ValidateGitCommand() helper function was refactored slightly to use
    a new LinesShouldMatch() function; however, the inputs were
    accidentally reversed, so here we correct the order of the "expected"
    and "actual" string arguments passed to LinesShouldMatch().
    chrisd8088 committed Sep 27, 2020
    Configuration menu
    Copy the full SHA
    efb5829 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2020

  1. FunctionalTests: use rename(2) for files on POSIX

    On macOS and Linux platforms, we use rename(2) directly when
    moving files with the SystemIORunner's MoveFile() method, instead
    of using .NET Core's File.Move() method.  The latter actually
    implements most file moves using a combination of link(2)
    followed by unlink(2) on the source file.
    
    The consequence of using link() instead of rename() is that on
    recent versions of macOS, when running with Watchman, file
    creation events may not be delivered by Watchman to Git when a
    new hard link within the Git working tree is created if that
    link points to an existing inode outside of the watched tree.
    This in turn causes the MoveFileFromOutsideRepoToInsideRepoAndAdd()
    test in GitCommandsTests to fail intermittently.
    
    We can work around the problem by utilizing rename() directly, which
    also parallels the behaviour of SystemIORunner's RenameDirectory()
    method, added in commit 0a517fa.
    
    See also:
    
    facebook/watchman#858
    https://github.com/dotnet/runtime/blob/94515f7bd34aabaab5ba6a1316f4a881cbf2370c/src/libraries/System.IO.FileSystem/src/System/IO/FileSystem.Unix.cs#L142-L144
    chrisd8088 committed Sep 30, 2020
    Configuration menu
    Copy the full SHA
    bc3e9b3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    deeeb9f View commit details
    Browse the repository at this point in the history
  3. Scripts/Mac: copy build binary for func tests

    We replicate for the Mac version of RunFunctionalTests.sh the
    changes made in commit da2b813
    for the Linux version, which permit manual runs of the functional
    test suite after rebuilding the binaries by copying them into
    the directory where the Scalar.FunctionalTests binary was published,
    unless the --test-scalar-on-path option was given to the script.
    chrisd8088 committed Sep 30, 2020
    Configuration menu
    Copy the full SHA
    33ead18 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6b86640 View commit details
    Browse the repository at this point in the history