| 1615 | } |
| 1616 | |
| 1617 | func TestIncludesWithExclude(t *testing.T) { |
| 1618 | t.Parallel() |
| 1619 | |
| 1620 | var buff bytes.Buffer |
| 1621 | e := task.NewExecutor( |
| 1622 | task.WithDir("testdata/includes_with_excludes"), |
| 1623 | task.WithSilent(true), |
| 1624 | task.WithStdout(&buff), |
| 1625 | task.WithStderr(&buff), |
| 1626 | ) |
| 1627 | require.NoError(t, e.Setup()) |
| 1628 | |
| 1629 | err := e.Run(t.Context(), &task.Call{Task: "included:bar"}) |
| 1630 | require.NoError(t, err) |
| 1631 | assert.Equal(t, "bar\n", buff.String()) |
| 1632 | buff.Reset() |
| 1633 | |
| 1634 | err = e.Run(t.Context(), &task.Call{Task: "included:foo"}) |
| 1635 | require.Error(t, err) |
| 1636 | buff.Reset() |
| 1637 | |
| 1638 | err = e.Run(t.Context(), &task.Call{Task: "bar"}) |
| 1639 | require.Error(t, err) |
| 1640 | buff.Reset() |
| 1641 | |
| 1642 | err = e.Run(t.Context(), &task.Call{Task: "foo"}) |
| 1643 | require.NoError(t, err) |
| 1644 | assert.Equal(t, "foo\n", buff.String()) |
| 1645 | } |
| 1646 | |
| 1647 | func TestIncludedTaskfileVarMerging(t *testing.T) { |
| 1648 | t.Parallel() |