Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
46aecdaa
Commit
46aecdaa
authored
Apr 29, 2018
by
Tim Hockin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Better test for generated file rebuilds
parent
90e0ac54
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
298 additions
and
5 deletions
+298
-5
verify-generated-files-remake.sh
hack/verify-generated-files-remake.sh
+298
-5
No files found.
hack/verify-generated-files-remake.sh
100644 → 100755
View file @
46aecdaa
...
...
@@ -21,10 +21,303 @@ set -o pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/..
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
make generated_files
X
=
$(
make generated_files
DBG_CODEGEN
=
1
)
if
[[
-n
"
${
X
}
"
]]
;
then
echo
"Back-to-back 'make' runs are not clean for codegen"
echo
"
${
X
}
"
# $1 = filename pattern as in "zz_generated.$1.go"
function
find_genfiles
()
{
find
.
\
\(
\
-not
\(
\
\(
\
-path
./_
\*
-o
\
-path
./.
\*
\
\)
-prune
\
\)
\
\)
-name
"zz_generated.
$1
.go"
}
# $1 = filename pattern as in "zz_generated.$1.go"
# $2 timestamp file
function
newer
()
{
find_genfiles
"
$1
"
|
while
read
F
;
do
if
[[
"
${
F
}
"
-nt
"
$2
"
]]
;
then
echo
"
${
F
}
"
fi
done
}
# $1 = filename pattern as in "zz_generated.$1.go"
# $2 timestamp file
function
older
()
{
find_genfiles
"
$1
"
|
while
read
F
;
do
if
[[
"
$2
"
-nt
"
${
F
}
"
]]
;
then
echo
"
${
F
}
"
fi
done
}
function
assert_clean
()
{
make generated_files
>
/dev/null
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
newer deepcopy
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated files changed on back-to-back 'make' runs:"
echo
"
${
X
[@]
:-
(none)
}
"
return
1
fi
true
}
STAMP
=
/tmp/stamp.
$RANDOM
#
# Test when we touch a file in a package that needs codegen.
#
assert_clean
DIR
=
staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1
touch
"
$DIR
/types.go"
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
newer deepcopy
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
1
||
!
(
"
${
X
[0]
}
"
=
~
"
${
DIR
}
/zz_generated.deepcopy.go"
)
]]
;
then
echo
"Wrong generated deepcopy files changed after touching src file:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
X
=(
$(
newer defaults
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
1
||
!
(
"
${
X
[0]
}
"
=
~
"
${
DIR
}
/zz_generated.defaults.go"
)
]]
;
then
echo
"Wrong generated defaults files changed after touching src file:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
X
=(
$(
newer conversion
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
1
||
!
(
"
${
X
[0]
}
"
=
~
"
${
DIR
}
/zz_generated.conversion.go"
)
]]
;
then
echo
"Wrong generated conversion files changed after touching src file:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
#
# Test when the codegen tool itself changes: deepcopy
#
assert_clean
touch
staging/src/k8s.io/code-generator/cmd/deepcopy-gen/main.go
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older deepcopy
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated deepcopy files did not change after touching code-generator file:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
assert_clean
touch
staging/src/k8s.io/code-generator/cmd/deepcopy-gen/
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older deepcopy
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated deepcopy files did not change after touching code-generator dir:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
assert_clean
touch
vendor/k8s.io/gengo/examples/deepcopy-gen/generators/deepcopy.go
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older deepcopy
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated deepcopy files did not change after touching code-generator dep file:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
assert_clean
touch
vendor/k8s.io/gengo/examples/deepcopy-gen/generators/
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older deepcopy
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated deepcopy files did not change after touching code-generator dep dir:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
#
# Test when the codegen tool itself changes: defaults
#
assert_clean
touch
staging/src/k8s.io/code-generator/cmd/defaulter-gen/main.go
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older defaults
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated defaults files did not change after touching code-generator file:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
assert_clean
touch
staging/src/k8s.io/code-generator/cmd/defaulter-gen/
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older defaults
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated defaults files did not change after touching code-generator dir:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
assert_clean
touch
vendor/k8s.io/gengo/examples/defaulter-gen/generators/defaulter.go
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older defaults
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated defaults files did not change after touching code-generator dep file:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
assert_clean
touch
vendor/k8s.io/gengo/examples/defaulter-gen/generators/
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older defaults
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated defaults files did not change after touching code-generator dep dir:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
#
# Test when the codegen tool itself changes: conversion
#
assert_clean
touch
staging/src/k8s.io/code-generator/cmd/conversion-gen/main.go
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older conversion
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated conversion files did not change after touching code-generator file:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
assert_clean
touch
staging/src/k8s.io/code-generator/cmd/conversion-gen/
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older conversion
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated conversion files did not change after touching code-generator dir:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
assert_clean
touch
vendor/k8s.io/code-generator/cmd/conversion-gen/generators/conversion.go
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older conversion
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated conversion files did not change after touching code-generator dep file:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
assert_clean
touch
vendor/k8s.io/code-generator/cmd/conversion-gen/generators/
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older conversion
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated conversion files did not change after touching code-generator dep dir:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
#
# Test when we touch a file in a package that needs codegen.
#
assert_clean
touch
"staging/src/k8s.io/api/core/v1/types.go"
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
newer openapi
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
1
||
!
(
"
${
X
[0]
}
"
=
~
"pkg/generated/openapi/zz_generated.openapi.go"
)
]]
;
then
echo
"Wrong generated openapi files changed after touching src file:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
#
# Test when the codegen tool itself changes: openapi
#
assert_clean
touch
staging/src/k8s.io/code-generator/cmd/openapi-gen/main.go
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older openapi
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated openapi files did not change after touching code-generator file:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
assert_clean
touch
staging/src/k8s.io/code-generator/cmd/openapi-gen/
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older openapi
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated openapi files did not change after touching code-generator dir:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
assert_clean
touch
vendor/k8s.io/kube-openapi/pkg/generators/openapi.go
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older openapi
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated openapi files did not change after touching code-generator dep file:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
assert_clean
touch
vendor/k8s.io/kube-openapi/pkg/generators
touch
"
${
STAMP
}
"
make generated_files
>
/dev/null
X
=(
$(
older openapi
"
${
STAMP
}
"
)
)
if
[[
"
${#
X
[*]
}
"
!=
0
]]
;
then
echo
"Generated openapi files did not change after touching code-generator dep dir:"
echo
"
${
X
[@]
:-
(none)
}
"
exit
1
fi
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment